Commit graph

79 commits

Author SHA1 Message Date
alisdair sullivan
89cd24937e improve behaviour of 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
2014-05-26 22:35:10 +00:00
Tuncer Ayaz
ca40d3b00a Document require_*_vsn options 2014-03-12 23:32:16 +01:00
Tuncer Ayaz
6063e0d197 Document skip_apps= and apps= 2014-03-12 20:43:10 +01:00
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.
2014-03-11 21:11:36 +00:00
Tuncer Ayaz
2576031163 docs: fix #228 2014-02-25 19:46:49 +01:00
Tuncer Ayaz
a554744fc0 Mention rebar -c/--commands 2014-02-24 22:36:31 +01:00
Tuncer Ayaz
c29f8b45ae Document support for abbreviated commands 2014-02-24 22:36:31 +01:00
Andrew Thompson
2f6991cbd7 Add documentation 2014-02-07 13:08:14 -05:00
Andrew J. Stone
cc72cd8fce allow suite[s] or test[s] as options for eunit and ct 2014-02-05 16:56:44 -05:00
Jared Morrow
5d2b9ba23f Merge pull request #191 from tuncer/rename-modules
Fix #187 (rename getopt and mustache)
2014-01-14 13:38:30 -08:00
Tuncer Ayaz
777fefe181 Fix #187 (rename getopt to rebar_getopt)
While at it, update getopt.erl to git rev 78eda3b.
2014-01-01 10:59:34 +01:00
Tuncer Ayaz
4af177bd06 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
2014-01-01 10:58:32 +01:00
Pierre Fenoll
70cdb37942 Add command to rebar:command_names/0 2013-12-19 23:05:49 +00:00
Pierre Fenoll
c83d037404 Add a library template 2013-12-19 22:01:25 +00:00
Tuncer Ayaz
277a10cd3b Fix is_verbose/1 helper function 2013-12-06 21:39:53 +01:00
Tuncer Ayaz
6de94e8a16 Change default log level to 'warn' and introduce -q/--quiet 2013-12-06 19:05:45 +01:00
Tuncer Ayaz
6fe3b82b5b Make list of commands (for unabbreviation) easier to maintain
It's easier to modify the list with each command on a separate line.
The shell completion scripts have already been modified that way.
2013-12-04 20:11:49 +01:00
Tuncer Ayaz
bd3338a0a7 Document 'rebar help <CMD1> <CMD2>' 2013-06-29 15:10:23 +02:00
Tuncer Ayaz
4b8c81fb53 Implement 'rebar help CMD1 CMD2' and extend common 'rebar help' msg
* allow plugins to print help message for implemented commands
* append core rebar.config options to common 'rebar help' message
2012-12-31 20:45:11 +01:00
Tuncer Ayaz
06dbb4cb80 Document escriptize command 2012-11-19 00:01:59 +01:00
Tuncer Ayaz
a9491e112f Fix Dialyzer warning in rebar:run/2 2012-11-11 00:21:13 +01:00
Dave Smith
a2fb8fdc39 Expose Erlang API for invoking rebar 2012-11-06 08:40:41 -07:00
Tuncer Ayaz
f4e55b8463 Fix fprof use (-p/--profile) 2012-09-26 22:18:35 +02:00
Tuncer Ayaz
3c0d97bf2c Cleanup and comment 2012-08-20 13:55:55 +02:00
Roberto Ostinelli
fa6618f2b4 Add experimental tests= filter without eunit suites 2012-08-20 12:58:31 +02:00
Roberto Ostinelli
69dc9ec933 Add experimental tests= filter for eunit suites 2012-08-11 23:08:21 +02:00
Tuncer Ayaz
803f6e8ecd Replace test-compile with compile_only=true option 2012-08-09 14:04:53 +02:00
Tuncer Ayaz
74a82fa104 Fix -c typo (Noticed-by: Joe Norton) 2012-07-28 11:48:54 +02:00
Tuncer Ayaz
e75a97ad33 Add 'qc' cmd and rename eunit-compile to test-compile 2012-07-23 16:22:06 +02:00
Tuncer Ayaz
902dcdf3ff Add 'eunit-compile' cmd (Suggested-by: Joe Norton) 2012-07-23 13:28:38 +02:00
Tuncer Ayaz
252757c753 Do not use application:set_env 2012-07-23 13:17:11 +02:00
Tuncer Ayaz
e185e86bff Remove shared state 2012-07-13 15:21:56 +02:00
Kresten Krab Thorup
b890421cae Allow crypto to already be loaded when starting rebar 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
5b765e028f Initial version of "rebar shell" command
For now, this is just a proof of concept; would make sense to add a lot
of things, such as quick access to invoking rebar itself (with approproate 
code reloading), as well as an eunit-aware version so that tests could be 
run interactively.
2012-07-11 08:42:47 -06:00
Tuncer Ayaz
8bb62032a0 Update -c string 2012-06-21 21:28:34 +02:00
Tuncer Ayaz
8a046d898a Fix whitespace errors 2012-06-08 21:56:18 +02:00
Dave Smith
a7d64deb43 Introduce -k flag 2012-06-08 07:06:15 -06:00
Dave Smith
ebdb25c5cc Use delayed_halt everywhere 2012-06-08 07:06:15 -06:00
Dave Smith
0f24d93256 Move to major.minor.patch release version; add OTP build version
version info
2012-06-04 08:46:17 -06:00
Tuncer Ayaz
da122b3e57 Add rebar_utils:delayed_halt/1 2012-02-16 19:17:58 +01:00
Yurii Rashkovskii
fe1652e137 Cache vsn info to avoid expensive vcs cmd calls 2012-02-02 21:54:15 +01:00
Tuncer Ayaz
194f3caa3f Fix -D and -v handling with new getopt.erl 2012-01-29 17:48:55 +01:00
Tuncer Ayaz
2a5320fbd6 Document verbosity level 2012-01-17 17:04:07 +01:00
Tuncer Ayaz
015e58201c Support different log levels 2012-01-17 17:04:07 +01:00
Magnus Klaar
4db90bafef Deprecate ct suite= option for suites= option 2012-01-06 20:40:46 +01:00
Tuncer Ayaz
58101588a1 Fix help text formatting 2011-12-16 21:04:18 +01:00
Tuncer Ayaz
e62ea1994c Remove gratuitous prefix in error log 2011-11-08 16:04:27 +01:00
Tuncer Ayaz
9197e70bd7 Fix formatting 2011-10-26 23:23:46 +02:00
Dave Smith
1c1620a244 When profiling, save analysis results to disk 2011-10-25 23:58:53 -06:00
Dave Smith
45fc18f990 Add support for -p flag to profile rebar run 2011-10-25 13:33:40 -06:00