summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add support for customising common test directoryTim Watson2011-12-281-1/+2
| | | | | | | This patch allows users to specify the directory in which common_test source files can be found. Most common_test suites are integration, rather than unit tests and keeping the sources apart from test sources for other frameworks such as eunit and PropEr is a useful feature.
* Remove trailing whitespace in rebar_reltoolTuncer Ayaz2011-12-191-1/+1
|
* Fix rebar_core crash (reported-by: Jeremy Raymond)Tuncer Ayaz2011-12-181-17/+24
|
* Fix help text formattingTuncer Ayaz2011-12-161-1/+1
|
* Universally support apps=/skip_apps=Tuncer Ayaz2011-12-126-154/+164
|
* Move is_skipped_app/0 to rebar_app_utilsTuncer Ayaz2011-12-123-41/+39
|
* Add rebar_utils:deprecated/4 and remove defineTuncer Ayaz2011-12-121-7/+10
|
* rebar_xref: move code to proper placeTuncer Ayaz2011-12-121-4/+4
|
* Make 'rebar xref' honour the skip_app directiveTorbjorn Tornkvist2011-12-122-2/+46
| | | | | | | | | | | | It is now possible to call rebar as: rebar xref skip_app=Mod1,Mod2,... This makes it easy to skip running xref on (e.g) imported dependencies in your application. The function rebar_utils:is_skipped_app/0 is added so that other rebar commands may use it.
* Fail if erl_interface not foundJesse Gumm2011-12-081-2/+10
| | | | | | Previously if erl_interface could not be found {error, not_found} was incorrectly used as a path. With this change we fail early with a descriptive error message.
* 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"}]}.
* Add support for first_files to port compilerTim Watson2011-11-301-3/+22
| | | | | This patch adds support for first_files to the port_compiler, via the new `port_first_files` rebar config element.
* Fix and refactor reltool root_dir lookupTuncer Ayaz2011-11-261-18/+31
|
* Limit line lengthTuncer Ayaz2011-11-261-1/+2
|
* Add root_dir option to reltool.configsmithwinston2011-11-262-1/+22
| | | | | | | | | | | | | | | | | When generating a node using rebar generate, rebar always used code:root_dir() to find the Erlang installation to clone into the node tree. However, for anyone wishing to build a cross-compiled node, there was no way to override this. This patch adds a new option to reltool.config file to allow an alternate root_dir to be specified, for example: {root_dir, "/tmp/otp_R14B03_armv7l"} This assumes that the contents of /tmp/otp_R14B03_armv7l has been generated using the instructions found in the xcomp directory in your $ERL_TOP structure. NOTE: you may have to add additional filters to exclude files not present in the xcomp version, such as the .smp files if you have disabled that.
* Treat HEAD as a branch to fix regressions caused by 3ef7db5Bob Ippolito2011-11-161-4/+4
|
* Remove gratuitous space in debug logTuncer Ayaz2011-11-091-1/+1
|
* Remove gratuitous prefix in error logTuncer Ayaz2011-11-081-1/+1
|
* Remove obsolete comments (thanks Tim Watson)Tuncer Ayaz2011-11-041-8/+0
|
* Stop applications before killing extra processesKlas Johansson2011-11-021-3/+4
| | | | | | This means that applications get a chance to shut down themselves, before rebar will start killing their processes. This avoids ERROR REPORTS from application supervisors.
* Fix rebar_utils:expand_env_variable/3Jan Kloetzke2011-11-011-1/+1
| | | | | | | | | | | The function may fail with a badarg exception because the first regex returns an iolist() which is allowed to be a improper list. In this case '++' cannot append to the iolist. The correct way to append something to an iolist() is [iolist(), "tail"] because iolist's are allowed to be arbitrarily deep lists.
* Fix formattingTuncer Ayaz2011-10-261-2/+2
|
* Fix comments and formattingTuncer Ayaz2011-10-262-9/+13
|
* 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
|