| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
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
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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'.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
eunit: fix dialyzer warnings introduced in 03da5e0b
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|/ / / / |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Option takes either 'true' or a numeric seed value. If true is passed, a
random seed is generated and used. The numeric seed value is for
repeatability.
The idea here is to root out test suites that are order dependant, or
that fail in the presence of certain orderings.
|
|\ \ \ \
| | | | |
| | | | | |
allow suite[s] or test[s] as options for eunit and ct
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
Xref extra path
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix basho/rebar#388
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If the syntax error is in a .hrl file, then the reported error message
is not as useful because it's not clear which .erl file was being
compiled. We can fix that easily by first printing what source file was
being processed. We don't change the actual error message, so this will
still work with your editor of choice for jumping to the right line.
Before
------
Success:
Compiled src/foo.erl
Failure:
include/foo.hrl:10: syntax error [...]
After
-----
Success:
Compiled src/foo.erl
Failure:
Compiling src/foo.erl failed:
include/foo.hrl:10: syntax error [...]
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Remove experimental flags
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Remove experimental flag from:
* qc compile_only=true
* eunit compile_only=true
* src/foo.app.src.script
* eunit tests=
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Document compile_only=true
|
| |/ / / / |
|
|\ \ \ \ \
| |_|/ / /
|/| | | | |
Fix #205 (erlydtl:compile/3 returns warnings)
|
| | | | |
| | | | |
| | | | |
| | | | | |
erlydtl implemented 'binary' option. Add new clause for {binary, false}.
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
Adapt rebar_erlydtl_compiler to handle warnings emitted by
erlydtl:compile/3.
|
|\ \ \ \
| | | | |
| | | | | |
Fix #187 (rename getopt and mustache)
|
| | | | | |
|
| |/ / /
| | | |
| | | |
| | | | |
While at it, update getopt.erl to git rev 78eda3b.
|
|\ \ \ \
| | | | |
| | | | | |
Print a more appropriate message on 'rebar info'
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
To avoid treating plugins' info/2 functions as commands, we catch calls
to 'rebar info'. Previously (4b8c81fb) we simply printed the help
string, but it's much more informative to print the following:
Command 'info' not understood or not applicable
|
|\ \ \ \
| |/ / /
|/| | | |
generate-upgrade can now take target_dir argument
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previous generate-upgrade required renames in rel/ directory:
rebar generate
...changing code...
mv rel/<release> rel/<release_prev>
rebar generate
rebar generate-upgrade previous_release=<release_prev>
With the proposed changes you can now do the same without moving things:
rebar generate # default target dir: rel/<release>
...changing code...
rebar generate target_dir=<release_new>
rebar generate-upgrade target_dir=<release_new> previous_release=<release>
|
| | | | |
|
| | | | |
|