소스 검색

name profile directories in `_build` similarly to the arguments

to `as` used to generate them
pull/210/head
alisdair sullivan 10 년 전
부모
커밋
d72812cb5f
2개의 변경된 파일24개의 추가작업 그리고 3개의 파일을 삭제
  1. +6
    -1
      src/rebar_dir.erl
  2. +18
    -2
      test/rebar_as_SUITE.erl

+ 6
- 1
src/rebar_dir.erl 파일 보기

@ -23,7 +23,12 @@
-spec base_dir(rebar_state:t()) -> file:filename_all().
base_dir(State) ->
Profiles = rebar_state:current_profiles(State),
ProfilesStrings = [ec_cnv:to_list(P) || P <- Profiles],
ProfilesStrings = case [ec_cnv:to_list(P) || P <- Profiles] of
["default"] -> ["default"];
%% drop `default` from the profile dir if it's implicit and reverse order
%% of profiles to match order passed to `as`
["default"|Rest] -> lists:reverse(Rest)
end,
ProfilesDir = string:join(ProfilesStrings, "+"),
filename:join(rebar_state:get(State, base_dir, ?DEFAULT_BASE_DIR), ProfilesDir).

+ 18
- 2
test/rebar_as_SUITE.erl 파일 보기

@ -9,7 +9,8 @@
as_multiple_profiles/1,
as_multiple_tasks/1,
as_multiple_profiles_multiple_tasks/1,
as_comma_placement/1]).
as_comma_placement/1,
as_dir_name/1]).
-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
@ -25,7 +26,8 @@ init_per_testcase(_, Config) ->
rebar_test_utils:init_rebar_state(Config, "as_").
all() -> [as_basic, as_multiple_profiles, as_multiple_tasks,
as_multiple_profiles_multiple_tasks, as_comma_placement].
as_multiple_profiles_multiple_tasks, as_comma_placement,
as_dir_name].
as_basic(Config) ->
AppDir = ?config(apps, Config),
@ -87,3 +89,17 @@ as_comma_placement(Config) ->
["as", "foo,bar", ",", "baz", ",qux", "compile"],
{ok, [{app, Name}]}).
as_dir_name(Config) ->
AppDir = ?config(apps, Config),
Name = rebar_test_utils:create_random_name("as_dir_name_"),
Vsn = rebar_test_utils:create_random_vsn(),
rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
rebar_test_utils:run_and_check(Config,
[],
["as", "foo,bar,baz", "compile"],
{ok, [{app, Name}]}),
true = filelib:is_dir(filename:join([AppDir, "_build", "foo+bar+baz"])).

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