diff options
author | Tristan Sloughter <t@crashfast.com> | 2019-01-13 12:38:28 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-13 12:38:28 -0800 |
commit | c934ccca297748ad114667a682904af774899a94 (patch) | |
tree | bad8e4c13ba3ad01b7b5919209d3214092457306 | |
parent | cd8493f6cda1628108a58c578d9f100910b814d4 (diff) |
add repo_name to repoconfig used with hex_core to be compatible (#1996)
-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">>, |