From 73a67adab4dae356407e72a99a32ec26ac1a6c7a Mon Sep 17 00:00:00 2001 From: Chris Chew Date: Mon, 7 Jun 2010 11:55:22 -0600 Subject: Fixed problem where install was broken when the .app file is generated from --- src/rebar_otp_app.erl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/rebar_otp_app.erl b/src/rebar_otp_app.erl index 7a62081..a07f655 100644 --- a/src/rebar_otp_app.erl +++ b/src/rebar_otp_app.erl @@ -68,12 +68,22 @@ clean(_Config, File) -> install(Config, File) -> + %% If we get an .app.src file, it needs to be pre-processed and + %% written out as a ebin/*.app file. That resulting file will then + %% be validated as usual. + case rebar_app_utils:is_app_src(File) of + true -> + AppFile = preprocess(File); + false -> + AppFile = File + end, + %% Load the app name and version from the .app file and construct %% the app identifier - {ok, AppName, AppData} = rebar_app_utils:load_app_file(File), + {ok, AppName, AppData} = rebar_app_utils:load_app_file(AppFile), %% Validate the .app file prior to installation - validate_name(AppName, File), + validate_name(AppName, AppFile), validate_modules(AppName, proplists:get_value(modules, AppData)), %% Get the target directory. The user can specify a target= directory @@ -176,7 +186,7 @@ validate_name(AppName, File) -> end. validate_modules(AppName, undefined) -> - ?ERROR("Missing modules declaration in~p.app:\n~s", [AppName]), + ?ERROR("Missing modules declaration in~p.app:\n", [AppName]), ?FAIL; validate_modules(AppName, Mods) -> -- cgit v1.1