浏览代码

fix find_apps when searching for invalid apps

pull/115/head
Tristan Sloughter 10 年前
父节点
当前提交
1e71b47817
共有 3 个文件被更改,包括 11 次插入10 次删除
  1. +5
    -5
      src/rebar_app_discover.erl
  2. +4
    -4
      src/rebar_app_info.erl
  3. +2
    -1
      test/rebar_hooks_SUITE.erl

+ 5
- 5
src/rebar_app_discover.erl 查看文件

@ -88,15 +88,15 @@ find_app(AppDir, Validate) ->
case validate_application_info(AppInfo2) of
true ->
{true, AppInfo2};
false ->
_ ->
false
end;
invalid ->
case validate_application_info(AppInfo2) of
false ->
{true, AppInfo2};
true ->
false
false;
_ ->
{true, AppInfo2}
end;
all ->
{true, AppInfo2}
@ -177,7 +177,7 @@ has_all_beams(EbinDir, [Module | ModuleList]) ->
true ->
has_all_beams(EbinDir, ModuleList);
false ->
throw(?PRV_ERROR({missing_module, Module}))
?PRV_ERROR({missing_module, Module})
end;
has_all_beams(_, []) ->
true.

+ 4
- 4
src/rebar_app_info.erl 查看文件

@ -224,10 +224,10 @@ state(#app_info_t{state=State}) ->
-spec valid(t()) -> boolean().
valid(AppInfo=#app_info_t{valid=undefined}) ->
try
rebar_app_discover:validate_application_info(AppInfo)
catch
_:_ ->
case rebar_app_discover:validate_application_info(AppInfo) of
true ->
true;
_ ->
false
end;
valid(#app_info_t{valid=Valid}) ->

+ 2
- 1
test/rebar_hooks_SUITE.erl 查看文件

@ -34,4 +34,5 @@ build_and_clean_app(Config) ->
Vsn = rebar_test_utils:create_random_vsn(),
rebar_test_utils:create_app(AppDir, Name, Vsn, [kernel, stdlib]),
rebar_test_utils:run_and_check(Config, [], ["compile"], {ok, [{app, Name, valid}]}),
rebar_test_utils:run_and_check(Config, [{provider_hooks, [{post, [{compile, clean}]}]}], ["compile"], {ok, [{app, Name, invalid}]}).
rebar_test_utils:run_and_check(Config, [{provider_hooks, [{post, [{compile, clean}]}]}],
["compile"], {ok, [{app, Name, invalid}]}).

正在加载...
取消
保存