summaryrefslogtreecommitdiff
path: root/priv
diff options
context:
space:
mode:
authorTuncer Ayaz <tuncer.ayaz@gmail.com>2012-11-05 20:08:48 +0100
committerJared Morrow <jared@basho.com>2014-03-11 21:11:36 +0000
commit77a0eb6fe4dca909c6fe63f00b6793ba759f1a63 (patch)
tree865da21cd27a7c2c765c02a28aaee42eeaf5aa4f /priv
parent195d61a4021f5df5604a584f04ed5fbe80cafde7 (diff)
downloadrebar-77a0eb6fe4dca909c6fe63f00b6793ba759f1a63.tar.gz
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.
Diffstat (limited to 'priv')
-rw-r--r--priv/shell-completion/bash/rebar5
-rw-r--r--priv/shell-completion/zsh/_rebar3
2 files changed, 7 insertions, 1 deletions
diff --git a/priv/shell-completion/bash/rebar b/priv/shell-completion/bash/rebar
index 7dc3b5e..375566c 100644
--- a/priv/shell-completion/bash/rebar
+++ b/priv/shell-completion/bash/rebar
@@ -6,7 +6,7 @@ _rebar()
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
- sopts="-h -c -v -V -f -D -j -C -p -k"
+ sopts="-h -c -v -V -f -D -j -C -p -k -r"
lopts="--help \
--commands \
--verbose \
@@ -15,6 +15,7 @@ _rebar()
--config \
--profile \
--keep-going \
+ --recursive \
--version"
cmdsnvars="check-deps \
clean \
@@ -35,7 +36,9 @@ _rebar()
help \
list-deps \
list-templates \
+ prepare-deps \
qc \
+ refresh-deps \
update-deps \
version \
xref \
diff --git a/priv/shell-completion/zsh/_rebar b/priv/shell-completion/zsh/_rebar
index 384fead..0218f9e 100644
--- a/priv/shell-completion/zsh/_rebar
+++ b/priv/shell-completion/zsh/_rebar
@@ -17,6 +17,7 @@ _rebar_global_opts=(
'(--config -C)'{--config,-C}'[Rebar config file to use]:files:_files'
'(--profile -p)'{--profile,-p}'[Profile this run of rebar]'
'(--keep-going -k)'{--keep-going,-k}'[Keep running after a command fails]'
+ '(--recursive -r)'{--recursive,-r}'[Apply commands to subdirs and dependencies]'
)
_rebar () {
@@ -36,6 +37,8 @@ _rebar () {
'list-template[List avaiavle templates]' \
'doc[Generate Erlang program documentation]' \
'check-deps[Display to be fetched dependencies]' \
+ 'prepare-deps[Fetch and build dependencies]' \
+ 'refresh-deps[Update and build dependencies]' \
'get-deps[Fetch dependencies]' \
'update-deps[Update fetched dependencies]' \
'delete-deps[Delete fetched dependencies]' \