Skip to content

Commit 62be9ea

Browse files
fmeumWyverald
andauthored
Bzlmod: Better canonical repo names for modules with overrides (#15793)
(#13316) Use "foo.override" instead of just "foo" as the canonical repo name for the module "foo" when it has a non-registry override. Context: https://groups.google.com/a/bazel.build/g/external-deps/c/GcV1cpRd-Ls/m/o446O3vGAAAJ PiperOrigin-RevId: 423049588 Co-authored-by: wyv <[email protected]>
1 parent e7efa1f commit 62be9ea

File tree

5 files changed

+10
-7
lines changed

5 files changed

+10
-7
lines changed

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

+4-1
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ public String getCanonicalRepoName() {
6262
if (WELL_KNOWN_MODULES.containsKey(getName())) {
6363
return WELL_KNOWN_MODULES.get(getName());
6464
}
65+
if (ROOT.equals(this)) {
66+
return "";
67+
}
6568
if (getVersion().isEmpty()) {
66-
return getName();
69+
return getName() + ".override";
6770
}
6871
return getName() + "." + getVersion();
6972
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void createValue_basic() throws Exception {
9494
"dep.1.0", createModuleKey("dep", "1.0"),
9595
"dep.2.0", createModuleKey("dep", "2.0"),
9696
"rules_cc.1.0", createModuleKey("rules_cc", "1.0"),
97-
"rules_java", createModuleKey("rules_java", ""));
97+
"rules_java.override", createModuleKey("rules_java", ""));
9898
assertThat(value.getModuleNameLookup())
9999
.containsExactly(
100100
"rules_cc", createModuleKey("rules_cc", "1.0"),

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -176,19 +176,19 @@ public void getRepoSpec_nonRegistryOverride() throws Exception {
176176
ModuleFileFunction.REGISTRIES.set(differencer, ImmutableList.of(registry.getUrl()));
177177

178178
EvaluationResult<GetRepoSpecByNameValue> result =
179-
driver.evaluate(ImmutableList.of(getRepoSpecByNameKey("C")), evaluationContext);
179+
driver.evaluate(ImmutableList.of(getRepoSpecByNameKey("C.override")), evaluationContext);
180180
if (result.hasError()) {
181181
fail(result.getError().toString());
182182
}
183183

184-
Optional<RepoSpec> repoSpec = result.get(getRepoSpecByNameKey("C")).rule();
184+
Optional<RepoSpec> repoSpec = result.get(getRepoSpecByNameKey("C.override")).rule();
185185
assertThat(repoSpec)
186186
.hasValue(
187187
RepoSpec.builder()
188188
.setRuleClassName("local_repository")
189189
.setAttributes(
190190
ImmutableMap.of(
191-
"name", "C",
191+
"name", "C.override",
192192
"path", "/foo/bar/C"))
193193
.build());
194194
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ public void testRootModule() throws Exception {
224224
"",
225225
0));
226226
assertThat(rootModuleFileValue.getNonRegistryOverrideCanonicalRepoNameLookup())
227-
.containsExactly("E", "E", "G", "G");
227+
.containsExactly("E.override", "E", "G.override", "G");
228228
}
229229

230230
@Test

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public void basic() throws Exception {
116116
assertThat(pomTags.get(0).getValue("pom_xmls"))
117117
.isEqualTo(
118118
StarlarkList.immutableOf(
119-
Label.parseAbsoluteUnchecked("@foo//:pom.xml"),
119+
Label.parseAbsoluteUnchecked("@foo.override//:pom.xml"),
120120
Label.parseAbsoluteUnchecked("@bar.2.0//:pom.xml")));
121121
}
122122

0 commit comments

Comments
 (0)