@@ -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
313302resolve_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+
326323check_all_repos (Fun , RepoConfigs ) ->
327324 ec_lists :search (fun (#{name := R }) ->
328325 Fun (R )
0 commit comments