summaryrefslogtreecommitdiff
path: root/src/rebar_core.erl
Commit message (Collapse)AuthorAgeFilesLines
...
* | Don't badmatch if a path we think we added isn't in the code pathAndrew Thompson2013-10-171-1/+1
| |
* | Don't over-aggressively clean the code path in the presence of lib_dir ↵Andrew Thompson2013-10-161-4/+5
|/ | | | | | | | | | | | | | | | | | | | | | | directives Rebar, when it encounters a lib_dir directive, caches the current code path, adds the libdir(s) and returns the cached copy of the path. When rebar has finished processing that directory, it restores the cached path. This is problematic in the below scenario: /(lib_dir)->G A -> B -> C -> D -> E \-> F -> D -> E When rebar is finished processing B, it restores the code path to what it was before it processed B, removing C, D, E and G from the code path. This means when it comes to process F, neither D or E are in the code path, so any header includes, rebar plugins or parse transforms will not be in the code path. Without the lib_dir directive, rebar does no code path cleanups, so everything works fine. This change makes rebar only remove the explicit lib_dir code paths it added and adds an inttest that replicates the above scenario.
* Address review comments and add inttest for update-depsAndrew Thompson2013-09-301-2/+2
|
* Make update-deps honor apps= and skip_apps=Andrew Thompson2013-09-231-0/+7
| | | | | | | | | | | | Because rebar_core handles skipping apps, we had to specialcase the handling in the case of update-deps because it has to do its own dep handling. The way this was done is not particularly clean, but there currently does not exist another way for a command to signal rebar_core that it doesn't want rebar_core to pay attention to skip_apps. With this change, however, you can update-deps even with local conflicting changes/commits by simply skipping the deps you don't wish to update, or whitelisting he ones you do wish to update.
* Make update-deps traverse deps breadth-first, top-downAndrew Thompson2013-09-201-1/+2
| | | | | | | | | | | | This ensures that deps of deps are updated AFTER the dep listing them is, so that a complicated project with many layers of deps will be updated correctly. Any new deps encountered along the way are also cloned, and THEIR deps are also evaluated. Also added was conflict detection, if a dep has differing versions or source information, inherited from different places, that will be logged at the end of update-deps, along with the origin of each conflicting dep.
* rebar_core: fix consistency issues caused by 252b31fTuncer Ayaz2013-06-241-16/+22
| | | | | | | - refactor plugin dirs code to be simpler and easier to read - use erlang-mode's default (%%) comments for portability/consistency - make sure erlang-mode's indenter is used so that a future whole buffer indent doesn't get messed up
* When expanding lib_dirs, don't crash with 'volumerelative' pathsJuan Jose Comellas2013-06-181-1/+1
|
* Allow the use of absolute paths in the lib_dirs configuration settingJuan Jose Comellas2013-06-181-1/+4
|
* Fix searching for pluginsMotiejus Jakštys2013-05-191-17/+23
| | | | | If a plugin is in a dependency, rebar didn't search for it carefully enough.
* Fix missing call to cwd_predirsDave Smith2013-03-021-2/+2
|
* rebar_core: fix broken indentationTuncer Ayaz2013-02-261-6/+6
|
* rebar_core: remove useless return after ?ABORT callTuncer Ayaz2013-02-261-2/+1
|
* rebar_core: document pre-dirs associationTuncer Ayaz2013-02-261-16/+17
|
* Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msgTuncer Ayaz2012-12-311-1/+30
| | | | | * allow plugins to print help message for implemented commands * append core rebar.config options to common 'rebar help' message
* Cleanup rebar_core and rebar_erlc_compilerTuncer Ayaz2012-11-151-15/+16
| | | | | Rename rebar_core functions for improved readability. Remove redundant comments and blank lines.
* Fix rebar_core:restore_code_path (Reported-by: Siri Hansen)Tuncer Ayaz2012-08-091-1/+3
| | | | | Use erl_prim_loader:read_file_info instead of filelib:is_file to make sure paths inside the escript archive are handled properly.
* Only print absolute filename if not in base_dirTuncer Ayaz2012-08-051-4/+1
|
* Refactor setup_env rebar_config funsTuncer Ayaz2012-08-041-5/+5
|
* Fix R13B03 build (Reported-by: Sergey Nartimov)Tuncer Ayaz2012-07-281-4/+4
|
* Do not use application:set_envTuncer Ayaz2012-07-231-10/+9
|
* Document rebar_config TODOsTuncer Ayaz2012-07-131-0/+1
|
* Make sure cached setup_envs are resetTuncer Ayaz2012-07-131-3/+7
|
* Remove shared stateTuncer Ayaz2012-07-131-129/+114
|
* Manually report errors/warnings with absolute pathTuncer Ayaz2012-06-111-22/+2
|
* Fix whitespace errorsTuncer Ayaz2012-06-081-6/+10
|
* Introduce -k flagDave Smith2012-06-081-23/+39
|
* Remove ?FAIL in favor of ?ABORTDave Smith2012-06-081-2/+2
|
* Simplify and fix check if enter/leaving should be printedTuncer Ayaz2012-05-181-6/+1
|
* Do not print entering/leaving message if skip_dirTuncer Ayaz2012-05-181-6/+13
|
* Add support for target-specific port optionsTuncer Ayaz2012-04-161-34/+44
| | | | {port_specs, [{".*", "priv/foo.so", ["c_src/foo.c"], [{env, []}]}]}.
* Fix typo in comment (thanks Michael Santos)Tuncer Ayaz2012-04-161-1/+1
|
* Fix #197 by printing 'Entering/Leaving directory'Tuncer Ayaz2012-04-031-3/+19
|
* Make error message more descriptiveTuncer Ayaz2012-03-311-1/+3
|
* Fix loading of local plugins in sub directoriesTuncer Ayaz2012-02-031-13/+38
|
* Cache vsn info to avoid expensive vcs cmd callsYurii Rashkovskii2012-02-021-0/+3
|
* Check for .app.src firstTuncer Ayaz2012-01-131-2/+2
|
* Fix code clarity in dir type checkTuncer Ayaz2012-01-131-9/+5
|
* Fix rebar_core crash (reported-by: Jeremy Raymond)Tuncer Ayaz2011-12-181-17/+24
|
* Universally support apps=/skip_apps=Tuncer Ayaz2011-12-121-61/+94
|
* Add support for arch-specific hooksTuncer Ayaz2011-12-051-1/+10
| | | | | {pre_hooks, [{"linux", compile, "c_src/build_linux.sh"}]}. {post_hooks, [{"linux", compile, "c_src/build_linux.sh clean"}]}.
* Allow plugins to participate in pre and post processingTim Watson2011-10-201-8/+14
| | | | | | This patch modifies rebar_core to allow plugins to participate in the pre and post processing steps, giving plugin authors more flexibility and control.
* Fix config handling in root_dirTim Watson2011-10-051-1/+12
| | | | | Avoid overwriting custom config (passed with -C) when we are processing the base_dir in rebar_core.
* Fix missing plugin warningsTim Watson2011-09-201-1/+1
| | | | | | This patch fixes the warning logging when the number of missing plugins is greater than one. The current code only works by accident, when a single plugin is all that is missing.
* Search plugin sources in base_dir and plugin_dirTuncer Ayaz2011-08-291-3/+7
|
* Only compile relevant plugin sourcesTuncer Ayaz2011-08-291-1/+7
|
* Simplify check for empty listTuncer Ayaz2011-08-291-1/+1
|
* Load plugins dynamically from sourceTim Watson2011-08-291-5/+49
| | | | | | | | | This patch updates rebar_core to look for missing plugins (i.e. those that aren't found on the code path at runtime) in a configurable plugin directory, and dynamically compile and load them at runtime. By default, the directory "plugins" is searched, although this can be overriden by setting the plugin_dir in your rebar.config.
* Log a more descriptive messageTuncer Ayaz2011-08-231-1/+2
|
* Rename rebar_plugins to plugins for consistencyTuncer Ayaz2011-08-161-1/+1
|
* Do not warn if pre_/post_ cmd is not availableTuncer Ayaz2011-07-081-2/+9
|