diff options
author | Fred Hebert <mononcqc@ferd.ca> | 2016-05-27 09:10:27 -0400 |
---|---|---|
committer | Fred Hebert <mononcqc@ferd.ca> | 2016-05-27 09:10:27 -0400 |
commit | eae1fe2f52b80010dcc153078394e8498d1b47d4 (patch) | |
tree | 83db485213f085fb6945e12e0b669948770307bd | |
parent | 24b4eb4aa5f1b59154d7d0ba93285b0862de549d (diff) |
Don't die when source deps with [raw] are used
This adds support for their format both on the first read and when
looking for modifications to dependencies.
-rw-r--r-- | src/rebar_app_utils.erl | 7 | ||||
-rw-r--r-- | src/rebar_config.erl | 18 |
2 files changed, 24 insertions, 1 deletions
diff --git a/src/rebar_app_utils.erl b/src/rebar_app_utils.erl index d3ef841..957526e 100644 --- a/src/rebar_app_utils.erl +++ b/src/rebar_app_utils.erl @@ -134,7 +134,12 @@ parse_dep(Parent, {Name, Source}, DepsDir, IsLock, State) when is_tuple(Source) dep_to_app(Parent, DepsDir, Name, [], Source, IsLock, State); parse_dep(Parent, {Name, _Vsn, Source}, DepsDir, IsLock, State) when is_tuple(Source) -> dep_to_app(Parent, DepsDir, Name, [], Source, IsLock, State); -parse_dep(Parent, {Name, _Vsn, Source, Opts}, DepsDir, IsLock, State) when is_tuple(Source) -> +parse_dep(Parent, {Name, _Vsn, Source, Opts}, DepsDir, IsLock, State) when is_tuple(Source), + is_list(Opts) -> + ?WARN("Dependency option list ~p in ~p is not supported and will be ignored", [Opts, Name]), + dep_to_app(Parent, DepsDir, Name, [], Source, IsLock, State); +parse_dep(Parent, {Name, Source, Opts}, DepsDir, IsLock, State) when is_tuple(Source), + is_list(Opts) -> ?WARN("Dependency option list ~p in ~p is not supported and will be ignored", [Opts, Name]), dep_to_app(Parent, DepsDir, Name, [], Source, IsLock, State); parse_dep(Parent, {Name, {pkg, PkgName, Vsn}, Level}, DepsDir, IsLock, State) when is_integer(Level) -> diff --git a/src/rebar_config.erl b/src/rebar_config.erl index 8d7bcf4..836980e 100644 --- a/src/rebar_config.erl +++ b/src/rebar_config.erl @@ -180,6 +180,24 @@ check_newly_added({Name, _, Source}, LockedDeps) -> check_newly_added(Dep, LockedDeps) -> check_newly_added_(Dep, LockedDeps). +%% get [raw] deps out of the way +check_newly_added_({Name, Source, Opts}, LockedDeps) when is_tuple(Source), + is_list(Opts) -> + case check_newly_added_(Name, LockedDeps) of + {true, Name1} -> + {true, {Name1, Source}}; + false -> + false + end; +check_newly_added_({Name,_Vsn,Source,Opts}, LockedDeps) when is_tuple(Source), + is_list(Opts) -> + case check_newly_added_(Name, LockedDeps) of + {true, Name1} -> + {true, {Name1, Source}}; + false -> + false + end; +%% and on to regular deps check_newly_added_({Name, Vsn, Source}, LockedDeps) -> case check_newly_added_(Name, LockedDeps) of {true, Name1} -> |