summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #136 from waisbrot/add-p4-supportFred Hebert2014-06-132-2/+67
|\ | | | | Add support for the Perforce VCS client via the "p4" tool
| * Add 'p4' (Perforce) as a dependency typeNathaniel Waisbrot2014-03-172-2/+67
| | | | | | | | | | | | | | This calls the 'p4' command-line tool to checkout and sync Perforce trees. It involves significantly more special code in Rebar than using 'git p4', but it eliminates the indirection of Rebar->Git->Python->Perforce
* | Fix build for 17.0 using the solutiong proposed by @tsloughterMatwey V. Kornilov2014-06-082-7/+23
| | | | | | | | We use namespaced_types option to choose between dict() and dict:dict() types.
* | erlc: replace if expression with case ofTuncer Ayaz2014-05-301-4/+4
| | | | | | | | Motivated by the bug fix in 2c4d7d1.
* | erlc: fix typo in update_erlcinfo/3 clauseTuncer Ayaz2014-05-301-1/+1
| |
* | Merge pull request #280 from talentdeficit/bettershellFred Hebert2014-05-272-21/+37
|\ \ | | | | | | improve output when using `rebar shell`
| * | improve behaviour of `rebar shell`alisdair sullivan2014-05-262-21/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | attempt to emulate the behavior of `erl -pa ebin -pa deps/*/ebin` fix error messages and formatting issues of `rebar shell` by shutting down and restarting the user subsystem in a mode more hospitable to the shell than the simple user started when run as an escript. emulate `error_logger` behaviour when the shell is run via `erl` add documentation of the shell command limitations: the erlang interrupt handler is not enabled when running as an escript and there is no interface to re-enable it via erlang code. this means `ctrl-c` will immediately exit the running process unlike when running the shell via `erl`. `ctrl-g` is, however, unaffected the user subsystem is killed and restarted but not supervised. if your code somehow relies on the user subsystem crashing and restarting `rebar shell` may interfere with it's operation
* | | Merge pull request #52 from shino/slim-release-supportJared Morrow2014-05-212-8/+33
|\ \ \ | |/ / |/| | Slim release support
| * | Add slim marker file as automatic overlayShunichi Shinohara2014-03-092-8/+33
| | |
* | | Merge pull request #251 from mururu/eunit_compile_optsJared Morrow2014-05-191-9/+10
|\ \ \ | | | | | | | | Make sure that eunit/qc_compile_opts works
| * | | Make sure that eunit/qc_compile_opts works fix #245Yuki Ito2014-05-131-9/+10
| | | |
* | | | Merge pull request #244 from tuncer/missing-helpJared Morrow2014-05-191-1/+10
|\ \ \ \ | | | | | | | | | | Document skip_apps=, apps=, and require_*_vsn
| * | | | Document require_*_vsn optionsTuncer Ayaz2014-03-121-0/+6
| | | | |
| * | | | Document skip_apps= and apps=Tuncer Ayaz2014-03-121-1/+4
| | |_|/ | |/| |
* | | | Merge pull request #274 from redpine50/broken_on_winJared Morrow2014-05-191-1/+2
|\ \ \ \ | | | | | | | | | | Use lowercase for Windows drive name to resolve issue #250
| * | | | Do not wrap base_dir with filename:absname() redpine502014-05-101-2/+2
| | | | | | | | | | | | | | | base_dir() returns already filename:absname()'ed path.
| * | | | Update rebar_utils.erlredpine502014-05-081-1/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | On windows, bootstrap.bat failed with next error. Command 'escriptize' not understood or not applicable This happens because the drive name in path got from rebar_utils:get_cwd() and base_dir(Config) are different case. Made the drive name the same lowercase using filename:absname().
* | | | Merge pull request #242 from tuncer/erlc-speedup-v5-fixupJared Morrow2014-05-191-1/+1
|\ \ \ \ | |/ / / |/| | | Extra commits for #129
| * | | erlc: fixup log messageTuncer Ayaz2014-03-121-1/+1
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the filename as a prefix is less readable and inconsistent with the other log messages. Before: DEBUG: src/foo.erl depends on... After: DEBUG: Dependencies of src/foo.erl ...
* | | Merge pull request #252 from tuncer/file_utils-errorsJared Morrow2014-04-242-5/+6
|\ \ \ | | | | | | | | file_utils: properly report errors (fix #95)
| * | | file_utils: properly report errors (fix #95)Tuncer Ayaz2014-04-112-5/+6
| | | | | | | | | | | | | | | | While at it, improve the error message printed by rebar_utils:sh/2.
* | | | Fix #267 (code path regression)Tuncer Ayaz2014-04-231-43/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the introduction of -r/--recursive, deps were not properly added to the code path when running ct, eunit, etc. To fix that, pass a flag down to process_dir1 and conditionalize execution of the command. This moves the decision into process_dir1 where we can decide to invoke preprocess/2 and postprocess/2 but not execute the command. Without this fix, you'd have to, for example, invoke 'rebar -r ct skip_deps=true', if you wanted to run base_dir's ct suites with deps on the code path (while skipping all non-base_dir ct suites). So, with this patch applied, if you run $ rebar ct deps will be on the code path, and only base_dir's ct suites will be tested. If you want to test ct suites in base_dir and sub_dirs, you have to run $ rebar -r ct skip_deps=true If you want to test ct suites in all dirs, you have to run $ rebar -r ct The fix is not specific to ct and applies to all commands. To be able to add inttest/code_path_no_recurse/deps, I had to fix .gitignore. While at it, I've updated and fixed all entries.
* | | | rebar_core: consistently order args and simplify codeTuncer Ayaz2014-04-201-59/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix arg order: The order of arguments got inconsistent over time. To fix that, use the same consistent order in all functions. * Avoid one erlang:'++'/2 call in process_dir/6. * Avoid lists:prefix/2 and atom_to_list/1 calls: We can easily avoid 2 lists:prefix/2 calls and one atom_to_list/1 call in execute/5 by passing in whether the command is a hook or not. The resulting code is simpler and easier to read.
* | | | Fix 'rebar help clean' function_clause errorgoofansu2014-04-121-1/+4
| | | | | | | | | | | | | | | | Missing info(help, clean) in rebar_qc.erl.
* | | | Merge pull request #254 from tuncer/fix-generateJared Morrow2014-04-111-1/+21
|\ \ \ \ | |/ / / |/| | | Fix 'rebar generate' regression (#253)
| * | | Fix 'rebar generate' regression (#253)Tuncer Ayaz2014-03-301-1/+21
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | If the directory we're about to process contains reltool.config[.script] and the command to be applied is 'generate', then it's safe to process. We do this to retain the behavior of specifying {sub_dirs, ["rel"]} and have "rebar generate" pick up rel/reltool.config[.script]. Without this workaround you'd have to run "rebar -r generate" (which you don't want to do if you have deps or other sub_dirs) or "cd rel && rebar generate".
* | | Add partial support for Erlang/OTP 17Joseph Wayne Norton2014-03-291-2/+3
|/ / | | | | | | | | | | | | Allow rebar to compile applications using Erlang/OTP 17 and older versions. This patch only provides partial support since the rebar tool itself must be compiled using an Erlang/OTP version that is older than 17.
* | Fix #226Tuncer Ayaz2014-03-111-1/+2
| | | | | | | | | | | | Running 'rebar list-templates' can take quite a long time, when it has to search the file system. To fix that, make list-templates not recurse by default. To enable recursion, run 'rebar -r list-templates'.
* | Fix #56 (always-on recursion)Tuncer Ayaz2014-03-114-13/+104
|/ | | | | | | | | | | | | | | | | | Always-on recursive application of all rebar commands causes too many issues. Recursive application is required for: 1. dealing with dependencies: get-deps, update-deps, and compile of deps right after get-deps or update-deps 2. projects with a riak-like apps/ project structure and dev process The vast majority of projects are not structured like riak. Therefore, moving forward it's best to (by default) restrict recursive behavior to dealing with deps. This commit does that and also adds command line and rebar.config options for controlling or configuring recursion. Also, we introduce two meta commands: prepare-deps (equivalent to rebar -r get-deps compile) and refresh-deps (equivalent to rebar -r update-deps compile). riak-like projects can extend the list of recursive commands (to include 'eunit' and 'compile') by adding {recursive_cmds, [eunit, compile]} to rebar.config.
* Fix typo in rebar_erlydtl_compilergoofansu2014-03-061-1/+1
|
* Merge pull request #139 from rnewson/depmodsJared Morrow2014-03-051-17/+26
|\ | | | | Allow specification of module dependencies for appups
| * Allow specification of module dependencies for appupsRobert Newson2013-09-201-17/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The order in which modules, within an application, are loaded can be important. This patch adds allows the specification of module dependencies such that generate .appup/.relup scripts will load a module's dependent modules before itself. To use: in rebar.config, add a module_deps {module_deps, [{ModuleName, [DependentModuleName, ...]}]}. ModuleName is the name of any module, followed by a list of module names that it depends on.
* | Merge pull request #234 from tuncer/fix-220Andrew Thompson2014-03-051-10/+11
|\ \ | | | | | | Fix #220 (Reported-by: Joseph Norton)
| * | Fix #220 (Reported-by: Joseph Norton)Tuncer Ayaz2014-03-051-4/+4
| | | | | | | | | | | | | | | When running 'rebar qc' or 'rebar eunit', we were erroneously fetching erl_opts more than once.
| * | erlc: fix commentTuncer Ayaz2014-03-051-6/+7
| | | | | | | | | | | | | | | test_compile/3 is used by eunit and qc, but the comment was only referring to 'rebar eunit'.
* | | Merge pull request #98 from jcomellas/jc-no-erl-libs-repetitionJared Morrow2014-03-051-1/+11
|\ \ \ | |/ / |/| | Repetition of environment variable definitions in child processes (ports)
| * | Avoid passing more than one instance of ERL_LIBS to child processesJuan Jose Comellas2013-06-131-1/+11
| | | | | | | | | | | | | | | | | | This commit fixes issue #98 by removing the ERL_LIBS and REBAR_DEPS_DIR from the list of environment variables exported by the rebar_port_compiler plugin.
* | | Merge pull request #175 from tuncer/cwd-plugins-regressionJared Morrow2014-03-051-2/+7
|\ \ \ | | | | | | | | CWD plugins regression
| * | | Fix regression caused by 252b31f (#90)Tuncer Ayaz2014-01-011-1/+6
| | | |
| * | | rebar_core: minor comment fixTuncer Ayaz2014-01-011-1/+1
| | | |
* | | | erlc: clean-up, enhance, and regression fix fd17693Tuncer Ayaz2014-03-054-72/+207
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * update files * fix Dialyzer warning * unconditionally enable info fil * clean-up inconsistencies * use term_to_binary compression * use try...catch instead of case...catch...of * do not write build info file if the graph is unmodified * store info file as <base_dir>/.rebarinfo * properly support list of compile directives * fix regressions: - Fix a bug in handling of files to compile first. - If a file that is depended upon itself depends on other files, make sure those are compiled first. While at it, rename variables for correctness. Reported-by: David Robakowski - Make sure that FirstFiles has no dupes and preserves the proper order. - headers referenced via -include_lib() were not properly resolved to absolute filenames - .erl files found in sub dirs of src_dirs were not properly resolved to absolute filenames
* | | | erlc: add support for detecting core transformsAnthony Ramine2014-03-051-0/+2
| | | |
* | | | Speed up the compilation processEvgeniy Khramtsov2014-03-051-108/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not parse source files twice while checking for relationship. * Keep files relationships in a graph. * The option 'keep_build_info' is introduced. When set to 'true' the graph will be kept in ebin/.rebar.build.info and will be used by further compiler calls. The default is 'false'.
* | | | docs: fix #228Tuncer Ayaz2014-02-251-5/+6
| | | |
* | | | Merge pull request #230 from tuncer/fix-dialyzer-warningsJared Morrow2014-02-251-1/+1
|\ \ \ \ | | | | | | | | | | eunit: fix dialyzer warnings introduced in 03da5e0b
| * | | | eunit: fix dialyzer warnings introduced in 03da5e0bTuncer Ayaz2014-02-201-1/+1
| | | | |
* | | | | Mention rebar -c/--commandsTuncer Ayaz2014-02-241-0/+2
| | | | |
* | | | | Document support for abbreviated commandsTuncer Ayaz2014-02-241-0/+10
| | | | |
* | | | | {ok, Module} is an acceptable return value from do_compile.David N. Welton2014-02-141-0/+2
| | | | |
* | | | | Use proplists:unfold to make sure we feed a proplist to keymerge.David N. Welton2014-02-141-8/+9
| | | | |