summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Overhaul environment expansion for better performanceDave Smith2011-10-262-34/+53
| | | | | | | | | | The introduction of setup_env as a global concept caused the rebar_port_compiler implementation to start getting called a LOT. The expansion of environment variables that happens in the port compiler was O(n^n), which means you could see upwards of 80k invocations of lists:foldl on a single app "./rebar clean". This commit reworks the expansion to be O(n^2), and reduces the running time for the same operation by 60%+. On a large project like Riak, the end result is that a build went from 200 seconds to 73.
* When profiling, save analysis results to diskDave Smith2011-10-251-3/+6
|
* Add support for -p flag to profile rebar runDave Smith2011-10-251-2/+17
|
* Add -D support to rebar_port_compilerTuncer Ayaz2011-10-231-1/+11
|
* Cleanup and fix -D for erl_optsTuncer Ayaz2011-10-231-3/+3
|
* Add -D optionTuncer Ayaz2011-10-222-8/+18
|
* Use same variable names as file:make_link/2Tuncer Ayaz2011-10-211-3/+3
|
* Add possibility to make symbolic linksPrzemysław Dąbek2011-10-201-0/+10
| | | | Simple feature, useful to make link to something without copying it.
* Work around functions not found in sourceFabian Linzberger2011-10-201-5/+11
| | | | | | | | | | | | For parameterized modules, the beam code will have a compiler generated new/1 and instance/1 function. If while checking the beam, xref detects one of those is unused, the rebars xref wrapper will try to find the location of the definition of that function in the source code for the module (to give a more specific warning to the user). Since the function was generated by the compiler it does not actually exist in the source, and rebar crashes at that stage. This patch works around that issue.
* Add overlay command to run overlays onlySteven Gravell2011-10-202-25/+39
| | | | | | | | required for building on a different machine to what your live config is kept on. This way you can build on one machine, distribute to new machine, then run overlays against a live config to prevent accidently running code against a live config in a development or ci environment.
* Setup code path prior to calling edocJoseph Wayne Norton2011-10-201-0/+19
| | | | | | Setup code path prior to calling edoc so that edown, asciiedoc, and the like can work properly when generating their own documentation.
* Allow plugins to participate in pre and post processingTim Watson2011-10-202-8/+15
| | | | | | This patch modifies rebar_core to allow plugins to participate in the pre and post processing steps, giving plugin authors more flexibility and control.
* rebar_file_utils: simplify commands on WindowsJan Klötzke2011-10-201-3/+3
|
* Fix the 'ct' target to work on Windows with MSYSJan Klötzke2011-10-201-1/+1
|
* rebar_app_utils: fix git hook for WindowsJan Klötzke2011-10-201-1/+8
|
* rebar_utils:sh/2: remove bash invocation on WindowsJan Klötzke2011-10-201-18/+6
| | | | | | | | | | | | Currently rebar_utils:sh/2 will invoke all commands through bash.exe if found. Otherwise the command will be executed directly. Despite the fact that the caller cannot know if the command is executed with Unix or Windows semantics it leads to problems with MSYS's automatic path name translation. Therefore remove bash usage on Windows to get a consistent behavior and to avoid the peculiarities of MSYS's automatic path conversion. Instead use cmd.exe as its typically needed by most commands.
* Better code path handling during upgradesjoewilliams2011-10-171-4/+3
| | | | | | | While building a upgrade package rebar will add new paths to the internal erlang path, these paths and their order have effects on how the package is built. This patch should fix some corner cases where a user can receive a "undefined application" error.
* Copy sys.config into upgrade tarballjoewilliams2011-10-171-0/+5
| | | | | | While building an upgrade the sys.config file should be copied into the upgrade tarball so release_handler:install_releases/1 does not clobber the existing configuration from the application environment.
* More descriptive logging for upgrade systools cmdsjoewilliams2011-10-151-9/+14
| | | | | In debugging upgrade issues it is sometimes difficult to know which systools step a error ocurred at, a little extra logging to fix that.
* Remove modules that fail coverage from the listJon Meredith2011-10-141-4/+4
|
* Support for custom version commandsTim Watson2011-10-111-0/+3
| | | | | | | | | | | | | | This patch adds support for customising the way in which rebar generates version numbers for app.src files using the `{vsn,Spec}` approach. Whilst the existing `{vsn,ScmName::atom()}` syntax will continue to work, users can also pass `{vsn,{cmd,Cmd::string()}}` in which case the provided *command* will be used. For example: ```erlang {application, doodah, [ {vsn, {cmd, "git rev-parse --short HEAD"}}]}. ```
* Cleanup deprecations now that R14B04 is releasedTuncer Ayaz2011-10-061-20/+3
|
* Handle vm.args properly while building upgradesjoewilliams2011-10-051-1/+4
| | | | | | | This patch corrects the vm.args behavior while building upgrade tarballs by copying the file from the release into the upgrade. Additionally it patches the dummy runner script in the upgrade test project to work properly.
* 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.
* Get rid of app.configjoewilliams2011-09-203-15/+40
| | | | | | | | | | | | | | | | | | | | app.config has been a long standing erroneous file in rebar. Erlang/OTP documentation suggests a sys.config file instead. This file is stored in the releases/VSN directory. This does a few things but most importantly it ensures your config (contained in the application environment) survives a hot upgrade. It also has the advantage of allowing the configuration of the application to be versioned along side the application code. This patch flips rebar to use sys.config rather than app.config. Additionally it makes this flip to vm.args as well, making them versioned just like sys.config. This patch also includes runner script changes to support the old etc/app.config config file location and support for Windows. Thanks to mokele for the initial work and kick in the pants to make this finially happen.
* 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.
* Fix regressions in rebar_file_utilsTuncer Ayaz2011-09-151-5/+9
|
* Fix Dialyzer warningTuncer Ayaz2011-09-081-6/+12
|
* Fix regression in rebar_file_utils:cp_r/2Tuncer Ayaz2011-09-041-2/+3
|
* Move asn1 generated *.hrl to includeJan Vincent Liwanag2011-09-041-10/+16
|
* Fix spec for rebar_file_utils:rm_rf/1Tuncer Ayaz2011-09-021-1/+1
|
* Quote paths before passing them to the shellJan Klötzke2011-09-021-6/+9
|
* Export $REBAR_DEPS_DIR and $ERL_LIBS variablesAnton Lavrik2011-09-021-0/+13
| | | | | | | | | | | | Export two extra environment variables when executing shell commands. These variables are useful for rebar hooks that rely on Erlang applications installed as rebar dependencies. $REBAR_DEPS_DIR contains a fully-qualified name of the directory where rebar stores dependencies. $ERL_LIBS is set to $REBAR_DEPS_DIR or to "$REBAR_DEPS_DIR:$ERL_LIBS", if $ERL_LIBS was defined before.
* Ensure include dir exists in compile_mib/3Ignas Vyšniauskas2011-09-021-1/+2
|
* Clean up and fix vcs functions and loggingTuncer Ayaz2011-09-021-25/+32
|
* Add support for checking out specific git commitBen Ellis2011-09-011-3/+8
|
* Fix cover_init call to use correct module listTuncer Ayaz2011-09-011-1/+1
|
* Keep *_tests not automatically included by eunitJoseph Wayne Norton2011-09-011-9/+16
|
* Fix misspelling of accommodateTuncer Ayaz2011-08-311-1/+1
|
* Comment git vsn cmd changesTuncer Ayaz2011-08-291-1/+3
|
* Search plugin sources in base_dir and plugin_dirTuncer Ayaz2011-08-292-4/+13
|
* 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.
* Fix R13 compatibility (auto imported monitor/2)Alfonso De Gregorio2011-08-281-1/+1
|
* Document git vsn cmd and fix formattingTuncer Ayaz2011-08-271-3/+7
|
* Add precise git versioning of multiple appsYurii Rashkovskii2011-08-271-1/+1
| | | | | | | | | Allows using tools like git-subtree and still maintaining proper git-based vsns for those "imported" subtrees. Also helps understanding what was the last change introduced to a specific application within a multi-application repository (at this moment, all applications that reside in the same repository, will share the same autogenerated git vsn)
* Fix Dialyzer warningsTuncer Ayaz2011-08-251-12/+12
|
* Merge slf-eunit-process-isolation2 branchScott Lystig Fritchie2011-08-241-0/+148
|\
| * Check $ancestors for kernel OTP app processes to not killScott Lystig Fritchie2011-08-241-9/+22
| |