summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge pull request #195 from fgallaire/switch_template_instructionsTristan Sloughter2014-06-141-0/+12
|\ \ \ \ | | | | | | | | | | Switch template instructions
| * | | | A switch variable can have multiple valuesFlorent Gallaire2013-12-111-3/+4
| | | | |
| * | | | Support switch template instructionsFlorent Gallaire2013-12-111-0/+11
| | | | |
* | | | | Wrap cover:stop() call as rebar_cover_utils:exit/0Tuncer Ayaz2014-06-143-3/+7
| | | | |
* | | | | rebar_eunit: disambiguate internal namingTuncer Ayaz2014-06-141-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially revert naming changes introduced in 93689703c1: CoverageModules -> FilteredModules get_coverage_modules -> get_matching_modules Having the name "coverage" meaning "filtered/selected modules" can be confused with code coverage.
* | | | | Add code coverage analysis functionality to `qc'Andras Horvath2014-06-143-230/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use `cover' with QuickCheck testing - Reuse the `cover_*' rebar.config options - Refactor cover-related code to separate module (`qc_cover_utils') for use with both `eunit' and `qc'
* | | | | Revert "Merge pull request #171 from fenollp/using-stdlib"Tristan Sloughter2014-06-141-9/+12
| | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3297ffec2c89c6b7135165b4bfaeaeb07167c33c, reversing changes made to 0401debb3cf23d67affbe465a7a438049180a608.
* | | | | Merge pull request #281 from tuncer/rebar-h-internalTristan Sloughter2014-06-141-0/+14
|\ \ \ \ \ | | | | | | | | | | | | Move include/rebar.hrl to src/rebar.hrl
| * | | | | Move include/rebar.hrl to src/rebar.hrlTuncer Ayaz2014-05-221-0/+14
| | |/ / / | |/| | | | | | | | | | | | | rebar.hrl is only meant to be used by src/*.
* | | | | Merge pull request #130 from yamt/ct-fixesTristan Sloughter2014-06-142-18/+26
|\ \ \ \ \ | | | | | | | | | | | | ct fixes
| * | | | | use the effective deps dir instead of hardcoding "deps"YAMAMOTO Takashi2014-05-302-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | suggested by @tuncer
| * | | | | fix double "the" in a commentYAMAMOTO Takashi2014-05-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | noted by @tuncer
| * | | | | Fix spec file look upYAMAMOTO Takashi2014-05-301-12/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to skip spec files under deps/ directory, ignore "deps" component which is also included in Cwd. For example, "/home/deps/src/myapp/test/cover.spec" contains "deps" component but should not be skipped if Cwd is "/home/deps/src/myapp/".
| * | | | | Fix a format of a debug outputYAMAMOTO Takashi2014-05-301-1/+1
| | | | | |
* | | | | | Merge pull request #229 from tolbrino/tb-patch-envTristan Sloughter2014-06-132-2/+21
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add REBAR to environment before executing hooks
| * | | | | | Add REBAR to environment before executing hooksTino Breddin2014-06-022-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | REBAR will be set to the rebar binary which was executed and runs the builds. Enables the use of the same binary for rebar invocations as part of a pre or post hook like so: ${REBAR} escriptize
* | | | | | | Merge pull request #171 from fenollp/using-stdlibTristan Sloughter2014-06-131-12/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Some optimisation/refactoring using stdlib's functions
| * | | | | | | Rebasing. Fix differences with c26b0c7 c996e98 b690842.Pierre Fenoll2014-06-131-10/+8
| | | | | | | |
| * | | | | | | Local corrections on string processing:Pierre Fenoll2014-06-131-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Corrected regexp: `[x|y]` -> `[xy]`. * Used an re:replace/4 option instead of multiple IOlist functions.
* | | | | | | | Merge pull request #119 from deadok22/qualified-test-specTristan Sloughter2014-06-131-68/+103
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Add qualified name tests specification (see #118)
| * | | | | | | | Add qualified name tests specification (see #118)Sergey Savenko2014-05-291-68/+103
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Augment 'tests' option of 'rebar eunit' command with ability to specify tests to run using module-qualified names. This change also forced me to change the way modules for coverage and for testing itself are selected - module-qualified tests specifications are now taken into consideration. Extend tests to cover new functionality. Update dialyzer_reference accordingly.
* | | | | | | | 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.