Skip to content

Commit 53d1d23

Browse files
iancha1992fmeum
andauthored
Use extension rather than local names in ModuleExtensionMetadata (#18536)
ModuleExtensionMetadata incorrectly identified repos by their local names rather than the names used by the generating extension, which resulted in incorrect fixup warnings when supplying keyword arguments to `use_repo`. Closes #18528. PiperOrigin-RevId: 536386347 Change-Id: I4368b0dcdc28d6b2827b74b3b0b73c31a0215c0f Co-authored-by: Fabian Meumertzheim <[email protected]>
1 parent e4814dc commit 53d1d23

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionMetadata.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ private static Optional<Event> generateFixupMessage(
188188
.collect(toImmutableSet());
189189
var actualImports =
190190
rootUsages.stream()
191-
.flatMap(usage -> usage.getImports().keySet().stream())
191+
.flatMap(usage -> usage.getImports().values().stream())
192192
.filter(repo -> !actualDevImports.contains(repo))
193193
.collect(toImmutableSet());
194194

src/test/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionResolutionTest.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,13 +1599,23 @@ public void extensionMetadata() throws Exception {
15991599
"bazel_dep(name='ext', version='1.0')",
16001600
"bazel_dep(name='data_repo',version='1.0')",
16011601
"ext = use_extension('@ext//:defs.bzl', 'ext')",
1602-
"use_repo(ext, 'direct_dep', 'indirect_dep', 'invalid_dep')",
1602+
"use_repo(",
1603+
" ext,",
1604+
" 'indirect_dep',",
1605+
" 'invalid_dep',",
1606+
" my_direct_dep = 'direct_dep',",
1607+
")",
16031608
"ext_dev = use_extension('@ext//:defs.bzl', 'ext', dev_dependency = True)",
1604-
"use_repo(ext_dev, 'direct_dev_dep', 'indirect_dev_dep', 'invalid_dev_dep')");
1609+
"use_repo(",
1610+
" ext_dev,",
1611+
" 'indirect_dev_dep',",
1612+
" 'invalid_dev_dep',",
1613+
" my_direct_dev_dep = 'direct_dev_dep',",
1614+
")");
16051615
scratch.file(workspaceRoot.getRelative("BUILD").getPathString());
16061616
scratch.file(
16071617
workspaceRoot.getRelative("data.bzl").getPathString(),
1608-
"load('@direct_dep//:data.bzl', direct_dep_data='data')",
1618+
"load('@my_direct_dep//:data.bzl', direct_dep_data='data')",
16091619
"data = direct_dep_data");
16101620

16111621
registry.addModule(

0 commit comments

Comments
 (0)