Skip to content

Commit f67f308

Browse files
author
yoshie
committed
handle constraint parsing errors in resolve_version
1 parent 23ac62b commit f67f308

File tree

1 file changed

+20
-23
lines changed

1 file changed

+20
-23
lines changed

apps/rebar/src/rebar_packages.erl

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -296,33 +296,30 @@ resolve_version(Dep, DepVsn, _OldHash, Hash, HexRegistry, State) when is_binary(
296296
{ok, RepoConfig} = rebar_hex_repos:get_repo_config(RepoName, RepoConfigs),
297297
{ok, Package, RepoConfig};
298298
_ ->
299-
Fun = fun(Repo) ->
300-
case resolve_version_(Dep, DepVsn, Repo, HexRegistry, State) of
301-
none ->
302-
not_found;
303-
{error, Error} ->
304-
{error, Error};
305-
{ok, Vsn} ->
306-
get_package(Dep, Vsn, Hash, [Repo], HexRegistry, State)
307-
308-
end
309-
end,
310-
handle_missing_no_exception(Fun, Dep, State)
299+
resolve_version_no_package(Dep, DepVsn, Hash, HexRegistry, State)
311300
end;
312301

313302
resolve_version(Dep, DepVsn, _OldHash, Hash, HexRegistry, State) ->
314-
Fun = fun(Repo) ->
315-
case resolve_version_(Dep, DepVsn, Repo, HexRegistry, State) of
316-
none ->
317-
not_found;
318-
{error, Error} ->
319-
{error, Error};
320-
{ok, Vsn} ->
321-
get_package(Dep, Vsn, Hash, [Repo], HexRegistry, State)
322-
end
323-
end,
324-
handle_missing_no_exception(Fun, Dep, State).
303+
resolve_version_no_package(Dep, DepVsn, Hash, HexRegistry, State).
325304

305+
resolve_version_no_package(Dep, DepVsn, Hash, HexRegistry, State) ->
306+
case rebar_semver:parse_constraint(DepVsn) of
307+
{ok, _} ->
308+
Fun = fun(Repo) ->
309+
case resolve_version_(Dep, DepVsn, Repo, HexRegistry, State) of
310+
none ->
311+
not_found;
312+
{ok, Vsn} ->
313+
get_package(Dep, Vsn, Hash, [Repo], HexRegistry, State)
314+
end
315+
end,
316+
handle_missing_no_exception(Fun, Dep, State);
317+
318+
Error ->
319+
Error
320+
end.
321+
322+
326323
check_all_repos(Fun, RepoConfigs) ->
327324
ec_lists:search(fun(#{name := R}) ->
328325
Fun(R)

0 commit comments

Comments
 (0)