alisdair sullivan
04235f1a63
don't attempt to merge locks when there are no dependencies
fixes #172
pirms 10 gadiem
Tristan Sloughter
8f03afded4
consolidate app validation and exist checks
pirms 10 gadiem
Tristan Sloughter
02e33a265b
check for newly added deps in config file that aren't level 0 in the lock
pirms 10 gadiem
Tristan Sloughter
1ff904f39a
handle throw by relx
pirms 10 gadiem
Tristan Sloughter
b20680304d
split options up by task
pirms 10 gadiem
Tristan Sloughter
e1b1152b21
slowly widdling away at dialyzer errors
pirms 10 gadiem
Tristan Sloughter
629792f36b
start of moving to splitting state from config parsing
pirms 10 gadiem
Tristan Sloughter
5735c538b9
add rebar update provider
pirms 10 gadiem
Tristan Sloughter
a602cfc593
replace logging with ec_cmd_log from erlware_commons
pirms 10 gadiem
Tristan Sloughter
eb8fa02df7
large refactoring
Removed separate compilers
Resolves apps to build
Finds avail deps before pulling/building
Includes relx
Simplifies build commands
pirms 10 gadiem
Tuncer Ayaz
c22370a2cb
Use correct types for OTP >=17.x
pirms 11 gadiem
Tuncer Ayaz
5f995bfdc0
Fix a few minor formatting inconsistencies
* fix overlong lines
* where appropriate use %% instead of %
pirms 11 gadiem
Matwey V. Kornilov
a7e05f57d1
Fix build for 17.0 using the solutiong proposed by @tsloughter
We use namespaced_types option to choose between dict() and dict:dict() types.
pirms 11 gadiem
Tuncer Ayaz
77a0eb6fe4
Fix #56 (always-on recursion)
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.
pirms 12 gadiem
Tuncer Ayaz
277a10cd3b
Fix is_verbose/1 helper function
pirms 11 gadiem
Tuncer Ayaz
2f636236bf
rebar_config:is_verbose/0: fix variable name
pirms 11 gadiem
Tuncer Ayaz
4f19572ff9
Remove two comments
pirms 12 gadiem
Tuncer Ayaz
392adcf967
Refactor setup_env rebar_config funs
pirms 12 gadiem
Tuncer Ayaz
252757c753
Do not use application:set_env
pirms 13 gadiem
Tuncer Ayaz
4fe3306d99
Document rebar_config TODOs
pirms 13 gadiem
Tuncer Ayaz
db78956295
Make sure cached setup_envs are reset
pirms 13 gadiem
Tuncer Ayaz
e185e86bff
Remove shared state
pirms 13 gadiem
Tuncer Ayaz
b2fdce8879
Use dict() instead of proplist() for shared env
pirms 13 gadiem
Ulf Wiger
afffb4895a
Use correct value for file:script SCRIPT binding
pirms 13 gadiem
Tuncer Ayaz
9c1a877bbe
Remove gratuitous blank line
pirms 13 gadiem
Ulf Wiger
c3c64c1d70
Fix file:script support
pirms 13 gadiem
Tuncer Ayaz
7c418ed2b4
Add support for target-specific port options
{port_specs, [{".*", "priv/foo.so", ["c_src/foo.c"], [{env, []}]}]}.
pirms 13 gadiem
Ulf Wiger
b3e9e76f57
Use file:script if a .config.script file present
pirms 13 gadiem
Tuncer Ayaz
015e58201c
Support different log levels
pirms 13 gadiem
Tim Watson
5bb536f839
Respect the --config switch when given
Currently the --config switch does not work because when loading
a new rebar config the global setting is ignored for all paths.
This patch provides a check when loading new rebar config to see
whether or not the current config path matches the `base_dir` set in
global conf, which produces the expected behaviour.
pirms 14 gadiem
Tuncer Ayaz
a9a7d7c02b
Apply Tidier suggestions
pirms 14 gadiem
Tuncer Ayaz
8263f12594
Add support for $HOME/.rebar/config
pirms 14 gadiem
Tuncer Ayaz
6d75bfbeb0
Clean up specs
pirms 14 gadiem
Tuncer Ayaz
c466076ffb
Clean up emacs file local variables
pirms 14 gadiem
Tuncer Ayaz
a8870807fc
Fix code clarity
pirms 14 gadiem
Anders
513ae33c5c
Add possibility to specify rebar config for the "main" application
pirms 14 gadiem
Kostis Sagonas
7dc76d578e
Tidier improvements
pirms 14 gadiem
iw
39907904e8
Include support for dialyzer
pirms 15 gadiem
Tuncer Ayaz
fb0cee2afb
Implemented option to specify number of concurrent workers a command may use
pirms 15 gadiem
Dave Smith
bd090f0db2
Refactor of rebar_config to facilitate identification of "local" config settings
pirms 15 gadiem
Tuncer Ayaz
0817dec7ca
Rolled back getopt to restore custom variables
pirms 15 gadiem
Tuncer Ayaz
9a8015f2d7
Added vi modeline/emacs local variables to file headers
pirms 15 gadiem
Tuncer Ayaz
940f9c232b
Enhanced option parsing with new getopt and made rebar more user friendly
pirms 15 gadiem
Tuncer Ayaz
8c85021c1e
Deleted trailing whitespace
pirms 15 gadiem
Dave Smith
3990f0a076
Refactor of core logic to provide better control over recursion and code path mgmt
pirms 15 gadiem
Dave Smith
cb1899b818
Adding convenience method for determing verbosity of run
pirms 15 gadiem
Dave Smith
a8fd5bc56f
Add hooks for getting list of release modules
pirms 15 gadiem
Dave Smith
cf6738928d
Adding generic get/3; still need some cleanup
pirms 15 gadiem
Dave Smith
28fe3bfd54
More gross structural work; now has log levels and broken out log level control
pirms 15 gadiem
Dave Smith
e4a9310a97
Adding support for basic compilation ordering
pirms 15 gadiem