From 2192e74d98574d3dd7f0d15b0bcb3d190d4a257c Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 22 May 2024 12:28:37 -0700 Subject: [PATCH] Fail early on certain invalid labels in module files 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 --- .../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