diff options
| -rw-r--r-- | src/rebar_hex_repos.erl | 5 | ||||
| -rw-r--r-- | test/rebar_pkg_repos_SUITE.erl | 8 | 
2 files changed, 9 insertions, 4 deletions
| diff --git a/src/rebar_hex_repos.erl b/src/rebar_hex_repos.erl index 57b5bc8..def5f49 100644 --- a/src/rebar_hex_repos.erl +++ b/src/rebar_hex_repos.erl @@ -68,17 +68,20 @@ repos(HexConfig) ->              merge_repos(RepoList ++ [HexDefaultConfig])      end. +%% merge repos must add a field repo_name to work with hex_core 0.4.0  -spec merge_repos([repo()]) -> [repo()].  merge_repos(Repos) ->      lists:foldl(fun(R=#{name := Name}, ReposAcc) ->                          %% private organizations include the parent repo before a :                          case rebar_string:split(Name, <<":">>) of                              [Repo, Org] -> +                                %% hex_core uses repo_name for parent                                  update_repo_list(R#{name => Name, +                                                    repo_name => Repo,                                                      organization => Org,                                                      parent => Repo}, ReposAcc);                              _ -> -                                update_repo_list(R, ReposAcc) +                                update_repo_list(R#{repo_name => Name}, ReposAcc)                          end                  end, [], Repos). diff --git a/test/rebar_pkg_repos_SUITE.erl b/test/rebar_pkg_repos_SUITE.erl index c808475..55bc020 100644 --- a/test/rebar_pkg_repos_SUITE.erl +++ b/test/rebar_pkg_repos_SUITE.erl @@ -182,23 +182,25 @@ repo_merging(_Config) ->  repo_replacing(_Config) ->      Repo1 = #{name => <<"repo-1">>, +              repo_name => <<"repo-1">>,                api_url => <<"repo-1/api">>},      Repo2 = #{name => <<"repo-2">>, +              repo_name => <<"repo-2">>,                repo_url => <<"repo-2/repo">>,                repo_verify => false},      ?assertMatch([Repo1, Repo2, #{name := <<"hexpm">>}],                   rebar_hex_repos:repos([{repos, [Repo1]}, -                                           {repos, [Repo2]}])), +                                        {repos, [Repo2]}])),      %% use of replace is ignored if found in later entries than the first      ?assertMatch([Repo1, Repo2, #{name := <<"hexpm">>}],                   rebar_hex_repos:repos([{repos, [Repo1]}, -                                           {repos, replace, [Repo2]}])), +                                        {repos, replace, [Repo2]}])),      ?assertMatch([Repo1],                   rebar_hex_repos:repos([{repos, replace, [Repo1]}, -                                           {repos, [Repo2]}])). +                                        {repos, [Repo2]}])).  auth_merging(_Config) ->      Repo1 = #{name => <<"repo-1">>, | 
