Browse Source

add --paths option to bare compile provider

pull/786/head
Tristan Sloughter 9 years ago
parent
commit
665bdf6bdb
1 changed files with 22 additions and 9 deletions
  1. +22
    -9
      src/rebar_prv_bare_compile.erl

+ 22
- 9
src/rebar_prv_bare_compile.erl View File

@ -19,22 +19,35 @@
-spec init(rebar_state:t()) -> {ok, rebar_state:t()}. -spec init(rebar_state:t()) -> {ok, rebar_state:t()}.
init(State) -> init(State) ->
State1 = rebar_state:add_provider(State, providers:create([{name, ?PROVIDER},
{module, ?MODULE},
{namespace, ?NAMESPACE},
{bare, false},
{deps, ?DEPS},
{example, ""},
{short_desc, ""},
{desc, ""},
{opts, []}])),
State1 =
rebar_state:add_provider(State,
providers:create([{name, ?PROVIDER},
{module, ?MODULE},
{namespace, ?NAMESPACE},
{bare, false},
{deps, ?DEPS},
{example, ""},
{short_desc, ""},
{desc, ""},
{opts, [{paths, $p, "paths", string, "Wildcard path of ebin directories to add to code path"}]}])),
{ok, State1}. {ok, State1}.
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
do(State) -> do(State) ->
OrigPath = code:get_path(),
%% Add code paths from --paths to the beginning of the code path
{RawOpts, _} = rebar_state:command_parsed_args(State),
Paths = proplists:get_value(paths, RawOpts),
CodePaths = filelib:wildcard(Paths),
code:add_pathsa(CodePaths),
[AppInfo] = rebar_state:project_apps(State), [AppInfo] = rebar_state:project_apps(State),
AppInfo1 = rebar_app_info:out_dir(AppInfo, rebar_dir:get_cwd()), AppInfo1 = rebar_app_info:out_dir(AppInfo, rebar_dir:get_cwd()),
rebar_prv_compile:compile(State, AppInfo1), rebar_prv_compile:compile(State, AppInfo1),
rebar_utils:cleanup_code_path(OrigPath),
{ok, State}. {ok, State}.
-spec format_error(any()) -> iolist(). -spec format_error(any()) -> iolist().

Loading…
Cancel
Save