Skip to content

Commit 9795570

Browse files
committed
Further improve message by reporting the requiring bazel module
1 parent 597eec7 commit 9795570

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

bzlmod/erlang_package.bzl

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ load(
1313
)
1414

1515
HexPackage = provider(fields = [
16+
"module",
1617
"name",
1718
"version",
1819
"sha256",
@@ -24,6 +25,7 @@ HexPackage = provider(fields = [
2425
])
2526

2627
GitPackage = provider(fields = [
28+
"module",
2729
"name",
2830
"version",
2931
"remote",
@@ -41,7 +43,7 @@ def log(ctx, msg):
4143

4244
def hex_tree(
4345
ctx,
44-
otp_installation_names = None,
46+
module = None,
4547
name = None,
4648
version = None):
4749
log(ctx, "Fetching release info for {}@{} from hex.pm".format(name, version))
@@ -57,6 +59,7 @@ def hex_tree(
5759
requirements.append(props)
5860

5961
return HexPackage(
62+
module = module,
6063
name = name,
6164
version = version,
6265
sha256 = sha256,
@@ -69,13 +72,14 @@ def hex_tree(
6972

7073
def hex_package(
7174
ctx,
72-
otp_installation_names = None,
75+
module = None,
7376
name = None,
7477
version = None,
7578
sha256 = None,
7679
build_file_content = None,
7780
patch_cmds = None):
7881
return HexPackage(
82+
module = module,
7983
name = name,
8084
version = version,
8185
sha256 = sha256,
@@ -96,7 +100,7 @@ def _infer_app_name(remote):
96100

97101
def git_package(
98102
ctx,
99-
otp_installation_names = None,
103+
module = None,
100104
dep = None):
101105
if dep.remote != "" and dep.repository != "":
102106
fail("'remote' and 'repository' are mutually exclusive options")
@@ -121,6 +125,7 @@ def git_package(
121125
version = dep.branch
122126

123127
return GitPackage(
128+
module = module,
124129
name = name,
125130
version = version,
126131
remote = remote,
@@ -145,6 +150,7 @@ def without_requirement(name, package):
145150
new_requirements.append(r)
146151

147152
return HexPackage(
153+
module = package.module,
148154
name = package.name,
149155
version = package.version,
150156
sha256 = package.sha256,

bzlmod/extensions.bzl

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,12 @@ def _newest(a, b):
8787
a_version = version_from_string(a.version)
8888
b_version = version_from_string(b.version)
8989
if a_version == None or b_version == None:
90-
fail("A version of {} & {} for {} cannot be resolved".format(
91-
a.version,
92-
b.version,
93-
a.name,
90+
fail("Version {dep_name}@{a_version} (required by {a_module}) & {dep_name}@{b_version} (required by {b_module}) cannot be resolved".format(
91+
dep_name = a.name,
92+
a_version = a.version,
93+
a_module = a.module.name,
94+
b_version = b.version,
95+
b_module = b.module.name,
9496
))
9597
elif lt(a_version, b_version):
9698
return b
@@ -120,12 +122,14 @@ def _erlang_package(ctx):
120122
for dep in mod.tags.hex_package_tree:
121123
packages.append(hex_tree(
122124
ctx,
125+
module = mod,
123126
name = dep.name,
124127
version = dep.version,
125128
))
126129
for dep in mod.tags.hex_package:
127130
packages.append(hex_package(
128131
ctx,
132+
module = mod,
129133
name = dep.name,
130134
version = dep.version,
131135
sha256 = dep.sha256,
@@ -135,6 +139,7 @@ def _erlang_package(ctx):
135139
for dep in mod.tags.git_package:
136140
packages.append(git_package(
137141
ctx,
142+
module = mod,
138143
dep = dep,
139144
))
140145

0 commit comments

Comments
 (0)