summaryrefslogtreecommitdiff
path: root/src/rebar_utils.erl
Commit message (Collapse)AuthorAgeFilesLines
...
* Reverse order in rebar_utils:get_deprecated_global/3Tuncer Ayaz2012-01-061-7/+7
|
* Cleanup and simplify deprecated option handlingTuncer Ayaz2012-01-011-1/+16
|
* Move vcs_vsn/2 to rebar_utilsTuncer Ayaz2011-12-281-2/+57
|
* Universally support apps=/skip_apps=Tuncer Ayaz2011-12-121-1/+0
|
* Move is_skipped_app/0 to rebar_app_utilsTuncer Ayaz2011-12-121-39/+1
|
* Add rebar_utils:deprecated/4 and remove defineTuncer Ayaz2011-12-121-7/+10
|
* Make 'rebar xref' honour the skip_app directiveTorbjorn Tornkvist2011-12-121-1/+39
| | | | | | | | | | | | 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.
* 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 comments and formattingTuncer Ayaz2011-10-261-2/+2
|
* Overhaul environment expansion for better performanceDave Smith2011-10-261-6/+12
| | | | | | | | | | 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.
* 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.
* Fix Dialyzer warningTuncer Ayaz2011-09-081-6/+12
|
* Search plugin sources in base_dir and plugin_dirTuncer Ayaz2011-08-291-1/+6
|
* Apply Tidier suggestionsTuncer Ayaz2011-08-201-4/+3
|
* Limit line lengthTuncer Ayaz2011-08-201-3/+3
|
* Support command invocation on Windows without MSYSJan Klötzke2011-08-201-6/+26
| | | | | | If MSYS (with bash) is not installed on Windows then do the shell variable substitution by ourselves. Otherwise just call bash to do the job.
* Remove unused function rebar_utils:deprecated/4Tuncer Ayaz2011-07-281-11/+7
|
* Optimize list ops and error reporting in sh/2Tuncer Ayaz2011-07-181-11/+11
|
* Deprecate xrl_opts/yrl_opts fail_on_warning optTuncer Ayaz2011-06-081-7/+7
|
* Extract code to get wordsize into helper functionTuncer Ayaz2011-05-311-7/+11
|
* Use external wordsize to get emulator build archSteve Vinoski2011-05-311-1/+7
| | | | | | | | | | | | | | | Calling erlang:system_info(wordsize) yields the internal word size of the Erlang emulator. But due to the halfword emulator, need to pass {wordsize, external} instead to get the word size, or pointer size, as seen by external code such as NIFs. The halfword emulator has 4 byte internal words but 8 byte external words due to 64-bit compilation, which means NIFs for the halfword emulator also have to be compiled 64-bit. But just passing wordsize is equivalent to passing {wordsize, internal}, which does not indicate the pointer size for the halfword emulator. Older versions of Erlang do not support {wordsize, external}, though, so continue to pass just wordsize for those versions.
* Make sure to pass dir of app when invoking git; enhance shell logging outputDave Smith2011-04-101-1/+1
|
* Deprecate fail_on_warning and refactor codeTuncer Ayaz2011-04-071-1/+19
|
* Convert the entries in the code path to absolute pathsJuan Jose Comellas2011-02-261-1/+10
| | | | | | | Rebar will exit with {error,bad_directory} when trying to restore the code path after it has finished working on a subdirectory if there are invalid relative paths in it. The problem was seen when executing the last line of rebar_erlc_compiler:doterl_compile/3 (true = code:set_path(CurrPath)).
* Clean up rebar_appups and rebar_upgradejoewilliams2011-02-171-35/+0
|
* Add 'generate-appups' commandjoewilliams2011-02-151-1/+41
| | | | | | | | | | | | | | | To further support OTP releases I have added support for generating application appup files. These include instructions that systools uses to generate a relup file which contains the low level instructions needed to perform a hot code upgrade. My goal with this module is to produce "good enough" appup files or at least a skeleton to help one get started with something more complex. If an appup file already exists for an application this command will not attempt to create a new one. Usage: $ rebar generate-appups previous_release=/path/to/old/version Generally this command will be run just before 'generate-upgrade'.
* Clean up codeTuncer Ayaz2011-02-061-1/+1
|
* Clean up emacs file local variablesTuncer Ayaz2011-01-311-1/+1
|
* Apply Tidier suggestionsTuncer Ayaz2011-01-131-8/+8
|
* Add otp_release to platform stringJoseph Wayne Norton2011-01-091-1/+2
|
* Fix Dialyzer warningTuncer Ayaz2011-01-091-3/+5
|
* Remove unused fun rebar_utils:get_os/0Tuncer Ayaz2011-01-091-20/+0
|
* Unify executable invocationJuhani Rankimies2011-01-061-31/+75
| | | | | Add flags to rebar_utils:sh to control output and error handling. Replace calls to os:cmd with calls to rebar_utils:sh.
* Fix bug 805Juhani Rankimies2010-11-221-1/+1
| | | | | | Use rebar_utils:find_executable/1 that wraps the path in quotes to make it work even if it contains whitespace.
* Tidier improvementsKostis Sagonas2010-10-261-2/+2
|
* Clarify rebar_utils:ensure_dir/1 commentTuncer Ayaz2010-10-251-1/+2
|
* Add spec: rebar_utils:abort/2 does not returnTuncer Ayaz2010-10-151-0/+1
| | | | Thanks to Kostis for no_return() result type.
* Update TODO commentTuncer Ayaz2010-10-011-1/+1
|
* Fix dialyzer warning: os:find_executable(string())Tuncer Ayaz2010-09-291-1/+1
|
* Fix dialyzer warnings in scm client vsn checksTuncer Ayaz2010-09-291-1/+5
|
* Basic tweaks for compiling ports/nifs on mingwDan Gudmundsson2010-09-181-2/+21
|
* fix get-deps on win32Juhani Rankimies2010-08-041-1/+5
|
* Taught eunit/coverage to split the src module coverage stats from any test code.Jon Meredith2010-05-031-0/+4
|
* Make sure zip module is loadedTuncer Ayaz2010-03-111-0/+1
| | | | Before we check for zip:foldl/3 make sure zip module is loaded.
* Add escript_foldl/3 TODOTuncer Ayaz2010-03-061-0/+3
| | | | | Comment what has to be done when the new OTP release is out and the time is right.
* Add forward-compatible escript_foldl functionTuncer Ayaz2010-03-051-1/+28
| | | | | | escript:foldl/3 was undocumented and has been replaced with better APIs post-R13B04. The new exported funs are officially documented.
* Update comment for filelib:ensure_dir/1 wrapper.Tuncer Ayaz2010-02-171-8/+1
| | | | The wrapper can now be removed as I've fixed the problem in R13B04.
* Overhaul env expansion so that rebar fully expands env refs prior to ↵Dave Smith2010-02-161-2/+7
| | | | invoking the shell script. Also now using DRV_* env vars for compilation/linking of files found in c_src; this frees up "normal" CFLAGS/LDFLAGS for usage in sub build scripts.
* Break out arch string function; update ERLANG_TARGET to include bitness of ↵Dave Smith2010-02-121-3/+6
| | | | the Erlang target
* Append wordsize to the architecture stringDave Smith2010-02-101-1/+2
|