| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
ct fixes
|
| |
| |
| |
| | |
suggested by @tuncer
|
| |
| |
| |
| | |
noted by @tuncer
|
| |
| |
| |
| |
| |
| |
| |
| | |
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/".
|
| | |
|
|\ \
| | |
| | | |
Add REBAR to environment before executing hooks
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | | |
Some optimisation/refactoring using stdlib's functions
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
* Corrected regexp: `[x|y]` -> `[xy]`.
* Used an re:replace/4 option instead of multiple IOlist functions.
|
|\ \ \ \
| | | | |
| | | | | |
Add qualified name tests specification (see #118)
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
|\ \ \ \
| |_|/ /
|/| | | |
Add support for the Perforce VCS client via the "p4" tool
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |_|/
|/| |
| | |
| | | |
We use namespaced_types option to choose between dict() and dict:dict() types.
|
| | |
| | |
| | |
| | | |
Motivated by the bug fix in 2c4d7d1.
|
| |/
|/| |
|
|\ \
| | |
| | | |
improve output when using `rebar shell`
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| |/ /
|/| | |
Slim release support
|
| | | |
|
|\ \ \
| | | |
| | | | |
Make sure that eunit/qc_compile_opts works
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Document skip_apps=, apps=, and require_*_vsn
|
| | | | | |
|
| | |_|/
| |/| | |
|
|\ \ \ \
| | | | |
| | | | | |
Use lowercase for Windows drive name to resolve issue #250
|
| | | | |
| | | | |
| | | | | |
base_dir() returns already filename:absname()'ed path.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
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().
|
|\ \ \ \
| |/ / /
|/| | | |
Extra commits for #129
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 ...
|
|\ \ \
| | | |
| | | | |
file_utils: properly report errors (fix #95)
|
| | | |
| | | |
| | | |
| | | | |
While at it, improve the error message printed by rebar_utils:sh/2.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | | |
| | | |
| | | |
| | | | |
Missing info(help, clean) in rebar_qc.erl.
|
|\ \ \ \
| |/ / /
|/| | | |
Fix 'rebar generate' regression (#253)
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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".
|
|/ /
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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'.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| | |
Allow specification of module dependencies for appups
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
Fix #220 (Reported-by: Joseph Norton)
|
| | |
| | |
| | |
| | |
| | | |
When running 'rebar qc' or 'rebar eunit', we were erroneously fetching
erl_opts more than once.
|
| | |
| | |
| | |
| | |
| | | |
test_compile/3 is used by eunit and qc, but the comment was only
referring to 'rebar eunit'.
|
|\ \ \
| |/ /
|/| | |
Repetition of environment variable definitions in child processes (ports)
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| | | |
| | | | |
CWD plugins regression
|