From 4f60def18cbf2e4da155be0dd6ab84a7b6fd4f29 Mon Sep 17 00:00:00 2001 From: "Ian (Hee) Cha" Date: Wed, 22 May 2024 15:30:31 -0700 Subject: [PATCH] [7.2.0] Fail early on certain invalid labels in module files (#22506) The following validation checks were not enforced due to backwards compatibility concerns, but ended up crashing Bazel when invalid labels made it into the lockfile, which is enabled by default. We might as well enable them now: * Fail if a label passed to `use_extension` is not valid * Fail if a label passed to the `patches` attribute of an override is not valid or points to a repo other than the main repo Work towards #21845 Closes #22487. PiperOrigin-RevId: 636255834 Change-Id: I55dda374cd1716e514c4d78642479b136fd3ad43 Commit https://github.com/bazelbuild/bazel/commit/cdace8f4d6496fdc3725438a64e952afd63c98d7 Co-authored-by: Fabian Meumertzheim --- .../lib/bazel/bzlmod/ArchiveOverride.java | 5 +- .../bazel/bzlmod/ArchiveRepoSpecBuilder.java | 3 +- .../build/lib/bazel/bzlmod/GitOverride.java | 5 +- .../lib/bazel/bzlmod/GitRepoSpecBuilder.java | 3 +- .../lib/bazel/bzlmod/ModuleFileGlobals.java | 74 +++++++++++-------- .../bazel/bzlmod/SingleVersionOverride.java | 5 +- .../bazel/bzlmod/ModuleFileFunctionTest.java | 41 ++++++++++ 7 files changed, 96 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ArchiveOverride.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ArchiveOverride.java index cb0cbebc48a581..463abb946fdf15 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ArchiveOverride.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ArchiveOverride.java @@ -18,6 +18,7 @@ import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.bazel.bzlmod.BazelModuleInspectorValue.AugmentedModule.ResolutionReason; +import com.google.devtools.build.lib.cmdline.Label; /** Specifies that a module should be retrieved from an archive. */ @AutoValue @@ -25,7 +26,7 @@ public abstract class ArchiveOverride implements NonRegistryOverride { public static ArchiveOverride create( ImmutableList urls, - ImmutableList patches, + ImmutableList