aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlx_prv_overlay.erl
diff options
context:
space:
mode:
authorJordan Wilberding <[email protected]>2014-10-11 11:52:43 -0500
committerJordan Wilberding <[email protected]>2014-10-11 11:52:43 -0500
commita9c3c235ac81d1a17cf2feb8fbfbd70d6a57edff (patch)
treea17913740b0ad66ceb0139ded8df30514380ece6 /src/rlx_prv_overlay.erl
parentd4d197ca142913b81fc192357dff18d1ed266921 (diff)
parentfca419632793346d0f3732ed927f6862ed6bf85a (diff)
downloadrelx-a9c3c235ac81d1a17cf2feb8fbfbd70d6a57edff.tar.gz
relx-a9c3c235ac81d1a17cf2feb8fbfbd70d6a57edff.tar.bz2
relx-a9c3c235ac81d1a17cf2feb8fbfbd70d6a57edff.zip
Merge pull request #227 from tsloughter/master
Rebar3 support and code sharing
Diffstat (limited to 'src/rlx_prv_overlay.erl')
-rw-r--r--src/rlx_prv_overlay.erl23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/rlx_prv_overlay.erl b/src/rlx_prv_overlay.erl
index 23df218..f7e2be8 100644
--- a/src/rlx_prv_overlay.erl
+++ b/src/rlx_prv_overlay.erl
@@ -22,7 +22,7 @@
%%% into a release directory.
-module(rlx_prv_overlay).
--behaviour(rlx_provider).
+-behaviour(provider).
-export([init/1,
do/1,
@@ -34,12 +34,24 @@
-include("relx.hrl").
+-define(PROVIDER, overlay).
+-define(DEPS, [resolve_release]).
+
%%============================================================================
%% API
%%============================================================================
+
-spec init(rlx_state:t()) -> {ok, rlx_state:t()}.
init(State) ->
- {ok, State}.
+ State1 = rlx_state:add_provider(State, providers:create([{name, ?PROVIDER},
+ {module, ?MODULE},
+ {bare, false},
+ {deps, ?DEPS},
+ {example, "overlay"},
+ {short_desc, ""},
+ {desc, ""},
+ {opts, []}])),
+ {ok, State1}.
%% @doc recursively dig down into the library directories specified in the state
%% looking for OTP Applications
@@ -365,7 +377,12 @@ get_relative_root(State) ->
[] ->
rlx_state:root_dir(State);
Config ->
- filename:dirname(Config)
+ case filelib:is_regular(Config) of
+ true ->
+ filename:dirname(Config);
+ false ->
+ rlx_state:root_dir(State)
+ end
end.
-spec is_directory(file:name(), file:name()) -> boolean().