Permalink
Browse files

Fix circular dependency

  • Loading branch information...
1 parent a8066b3 commit 3fd3bfc89a614728c21360ecb91d8a5029f7d0b3 @tuncer tuncer committed Jan 27, 2011
Showing with 45 additions and 45 deletions.
  1. +44 −6 src/rebar.erl
  2. +1 −39 src/rebar_core.erl
View
@@ -38,7 +38,7 @@
%% ====================================================================
main(Args) ->
- case catch(rebar_core:run(Args)) of
+ case catch(run(Args)) of
ok ->
ok;
{error, failed} ->
@@ -49,6 +49,48 @@ main(Args) ->
halt(1)
end.
+%% ====================================================================
+%% Internal functions
+%% ====================================================================
+
+run(RawArgs) ->
+ %% Pre-load the rebar app so that we get default configuration
+ ok = application:load(rebar),
+ %% Parse out command line arguments -- what's left is a list of commands to
+ %% run -- and start running commands
+ run_aux(parse_args(RawArgs)).
+
+run_aux(["help"]) ->
+ help(),
+ ok;
+run_aux(["version"]) ->
+ %% Display vsn and build time info
+ version(),
+ ok;
+run_aux(Commands) ->
+ %% Make sure crypto is running
+ ok = crypto:start(),
+
+ %% Initialize logging system
+ rebar_log:init(),
+
+ %% Convert command strings to atoms
+ CommandAtoms = [list_to_atom(C) || C <- Commands],
+
+ %% Determine the location of the rebar executable; important for pulling
+ %% resources out of the escript
+ rebar_config:set_global(escript, filename:absname(escript:script_name())),
+ ?DEBUG("Rebar location: ~p\n", [rebar_config:get_global(escript, undefined)]),
+
+ %% Note the top-level directory for reference
+ rebar_config:set_global(base_dir, filename:absname(rebar_utils:get_cwd())),
+
+ %% Keep track of how many operations we do, so we can detect bad commands
+ erlang:put(operations, 0),
+
+ %% Process each command, resetting any state between each one
+ rebar_core:process_commands(CommandAtoms).
+
%%
%% print help/usage string
%%
@@ -94,7 +136,7 @@ parse_args(Args) ->
{error, {Reason, Data}} ->
?ERROR("Error: ~s ~p~n~n", [Reason, Data]),
- rebar:help(),
+ help(),
halt(1)
end.
@@ -106,10 +148,6 @@ version() ->
?CONSOLE("rebar version: ~s date: ~s vcs: ~s\n", [Vsn, ?BUILD_TIME, ?VCS_INFO]).
-%% ====================================================================
-%% Internal functions
-%% ====================================================================
-
%%
%% set global flag based on getopt option boolean value
%%
View
@@ -26,7 +26,7 @@
%% -------------------------------------------------------------------
-module(rebar_core).
--export([run/1,
+-export([process_commands/1,
skip_dir/1,
is_skip_dir/1,
skip_dirs/0]).
@@ -46,44 +46,6 @@
%% Public API
%% ===================================================================
-run(RawArgs) ->
- %% Pre-load the rebar app so that we get default configuration
- ok = application:load(rebar),
- %% Parse out command line arguments -- what's left is a list of commands to
- %% run -- and start running commands
- run_aux(rebar:parse_args(RawArgs)).
-
-run_aux(["help"]) ->
- rebar:help(),
- ok;
-run_aux(["version"]) ->
- %% Display vsn and build time info
- rebar:version(),
- ok;
-run_aux(Commands) ->
- %% Make sure crypto is running
- ok = crypto:start(),
-
- %% Initialize logging system
- rebar_log:init(),
-
- %% Convert command strings to atoms
- CommandAtoms = [list_to_atom(C) || C <- Commands],
-
- %% Determine the location of the rebar executable; important for pulling
- %% resources out of the escript
- rebar_config:set_global(escript, filename:absname(escript:script_name())),
- ?DEBUG("Rebar location: ~p\n", [rebar_config:get_global(escript, undefined)]),
-
- %% Note the top-level directory for reference
- rebar_config:set_global(base_dir, filename:absname(rebar_utils:get_cwd())),
-
- %% Keep track of how many operations we do, so we can detect bad commands
- erlang:put(operations, 0),
-
- %% Process each command, resetting any state between each one
- process_commands(CommandAtoms).
-
skip_dir(Dir) ->
SkipDir = {skip_dir, Dir},
case erlang:get(SkipDir) of

0 comments on commit 3fd3bfc

Please sign in to comment.