Skip to content

Commit

Permalink
Merge pull request #52 from ericbmerritt/next
Browse files Browse the repository at this point in the history
make sure that top level releases are also supported
  • Loading branch information
jwilberding committed Apr 10, 2013
2 parents f34308e + c003f00 commit 36de196
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 3 deletions.
3 changes: 2 additions & 1 deletion src/rcl_prv_discover.erl
Original file line number Diff line number Diff line change
Expand Up @@ -97,14 +97,15 @@ add_common_project_dirs(State) ->
Apps = filename:join(Root, "apps"),
Lib = filename:join(Root, "lib"),
Deps = filename:join(Root, "deps"),
Ebin = filename:join(Root, "ebin"),
lists:foldl(fun(Dir, LibDirs) ->
case ec_file:exists(Dir) of
true ->
[erlang:iolist_to_binary(Dir) | LibDirs];
false ->
LibDirs
end
end, [], [Deps, Lib, Apps])
end, [], [Deps, Lib, Apps, Ebin])
end.

-spec add_system_lib_dir(rcl_state:t()) -> [file:name()].
Expand Down
31 changes: 29 additions & 2 deletions test/rclt_release_SUITE.erl
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@
make_goalless_release/1,
make_depfree_release/1,
make_invalid_config_release/1,
make_relup_release/1]).
make_relup_release/1,
make_one_app_top_level_release/1]).

-include_lib("common_test/include/ct.hrl").
-include_lib("eunit/include/eunit.hrl").
Expand Down Expand Up @@ -61,7 +62,8 @@ all() ->
[make_release, make_scriptless_release, make_overridden_release,
make_implicit_config_release, make_rerun_overridden_release,
overlay_release, make_goalless_release, make_depfree_release,
make_invalid_config_release, make_relup_release].
make_invalid_config_release, make_relup_release,
make_one_app_top_level_release].

make_release(Config) ->
LibDir1 = proplists:get_value(lib1, Config),
Expand Down Expand Up @@ -564,6 +566,31 @@ make_relup_release(Config) ->
?assert(lists:member({goal_app_2, "0.0.3"}, AppSpecs)),
?assert(lists:member({lib_dep_1, "0.0.1", load}, AppSpecs)).


make_one_app_top_level_release(Config) ->
LibDir1 = proplists:get_value(lib1, Config),
{ok, AppInfo} = create_app(LibDir1, "goal_app_1", "0.0.1", [stdlib,kernel], []),
AppDir = rcl_app_info:dir(AppInfo),
ConfigFile = filename:join([AppDir, "relcool.config"]),
write_config(ConfigFile,
[{release, {foo, "0.0.1"},
[{goal_app_1, "0.0.1"}]}]),

OutputDir = filename:join([AppDir,
create_random_name("relcool-output")]),

{ok, Cwd} = file:get_cwd(),
ok = file:set_cwd(AppDir),
{ok, State} = relcool:do(undefined, undefined, [], [], 2,
OutputDir, ConfigFile),
ok = file:set_cwd(Cwd),
[{{foo, "0.0.1"}, Release}] = ec_dictionary:to_list(rcl_state:releases(State)),
AppSpecs = rcl_release:applications(Release),
?assert(lists:keymember(stdlib, 1, AppSpecs)),
?assert(lists:keymember(kernel, 1, AppSpecs)),
?assert(lists:member({goal_app_1, "0.0.1"}, AppSpecs)).


%%%===================================================================
%%% Helper Functions
%%%===================================================================
Expand Down

0 comments on commit 36de196

Please sign in to comment.