From c5d877a934e793947eb0140ad3b42a6988fe593d Mon Sep 17 00:00:00 2001 From: Jon Meredith Date: Mon, 30 Nov 2009 11:12:25 -0700 Subject: Renamed app_installer to otp_app. Added compile check for app name. Added compile check for app modules --HG-- rename : src/rebar_app_installer.erl => src/rebar_otp_app.erl --- src/rebar_app_installer.erl | 90 --------------------------------------------- 1 file changed, 90 deletions(-) delete mode 100644 src/rebar_app_installer.erl (limited to 'src/rebar_app_installer.erl') diff --git a/src/rebar_app_installer.erl b/src/rebar_app_installer.erl deleted file mode 100644 index e860d6a..0000000 --- a/src/rebar_app_installer.erl +++ /dev/null @@ -1,90 +0,0 @@ -%% ------------------------------------------------------------------- -%% -%% rebar: Erlang Build Tools -%% -%% Copyright (c) 2009 Dave Smith (dizzyd@dizzyd.com) -%% -%% Permission is hereby granted, free of charge, to any person obtaining a copy -%% of this software and associated documentation files (the "Software"), to deal -%% in the Software without restriction, including without limitation the rights -%% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -%% copies of the Software, and to permit persons to whom the Software is -%% furnished to do so, subject to the following conditions: -%% -%% The above copyright notice and this permission notice shall be included in -%% all copies or substantial portions of the Software. -%% -%% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -%% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -%% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -%% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -%% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -%% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -%% THE SOFTWARE. -%% ------------------------------------------------------------------- --module(rebar_app_installer). - --export([install/2]). - --include("rebar.hrl"). - -%% =================================================================== -%% Public API -%% =================================================================== - -install(Config, File) -> - %% 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), - Vsn = proplists:get_value(vsn, AppData), - AppId = ?FMT("~s-~s", [AppName, Vsn]), - ?CONSOLE("Installing: ~s\n", [AppId]), - - %% Check the erlang lib directory to see if this app identifier - %% is already present. - AppDir = filename:join([code:lib_dir(), AppId]), - case filelib:is_dir(AppDir) of - true -> - %% Already exists -- check for force=1 global flag and only - %% continue if it's set - case rebar_config:get_global(force, "0") of - "0" -> - ?ERROR("~s already exists. Installation failed.\n", [AppId]), - ?FAIL; - "1" -> - ?WARN("~s already exists, but forcibly overwriting.\n", [AppId]) - end; - false -> - ok - end, - - %% Wipe out any previous versions - ok = rebar_file_utils:rm_rf(AppDir), - - %% Re-create target - ok = rebar_file_utils:mkdir_p(AppDir), - - %% By default we copy the ebin, include, src and priv directories - ok = rebar_file_utils:cp_r(["ebin", "src", "priv", "include"], - AppDir), - - %% Check the config to see if we have any binaries that need to be - %% linked into the erlang path - case rebar_config:get_list(Config, app_bin, []) of - [] -> - ok; - List -> - ok - end. - - -%% =================================================================== -%% Internal functions -%% =================================================================== - -install_binaries([], _AppDir, _BinDir) -> - ok; -install_binaries([Bin | Rest], AppDir, BinDir) -> - FqBin = filename:join([Bin, AppDir]), - rebar_file_utils:ln_sf(FqBin, BinDir), - install_binaries(Rest, AppDir, BinDir). -- cgit v1.1