소스 검색

Bare compile: support multiple paths wildcards.

Similarly to PATH env variable, this allows to pass paths to bare
compiler which do not fit nicely into a single wildcard structure.
Colon (":") is used as separator.

This provides more flexibility when rebar is run in offline/hermetic
environment, e.g. #958 and #1281.
pull/1575/head
Gleb Peregud 8 년 전
부모
커밋
c94d3d2a16
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. +5
    -3
      src/rebar_prv_bare_compile.erl

+ 5
- 3
src/rebar_prv_bare_compile.erl 파일 보기

@ -29,7 +29,8 @@ init(State) ->
{example, ""},
{short_desc, ""},
{desc, ""},
{opts, [{paths, $p, "paths", string, "Wildcard path of ebin directories to add to code path"}]}])),
{opts, [{paths, $p, "paths", string, "Wildcard paths of ebin directories to add to code path, separated by a colon"},
{separator, $s, "separator", string, "In case of multiple return paths, the separator character to use to join them."}]}])),
{ok, State1}.
-spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.
@ -39,8 +40,9 @@ do(State) ->
%% 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),
Sep = proplists:get_value(separator, RawOpts, " "),
[ code:add_pathsa(filelib:wildcard(PathWildcard))
|| PathWildcard <- string:tokens(Paths, Sep) ],
[AppInfo] = rebar_state:project_apps(State),
AppInfo1 = rebar_app_info:out_dir(AppInfo, rebar_dir:get_cwd()),

불러오는 중...
취소
저장