Enforce that repository mapping is never null (it can be empty).
RELNOTES: None
PiperOrigin-RevId: 202167782
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
index b81efab..3f11858 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/Label.java
@@ -130,6 +130,7 @@
boolean defaultToMain,
ImmutableMap<RepositoryName, RepositoryName> repositoryMapping)
throws LabelSyntaxException {
+ Preconditions.checkNotNull(repositoryMapping);
String repo = defaultToMain ? "@" : RepositoryName.DEFAULT_REPOSITORY;
int packageStartPos = absName.indexOf("//");
if (packageStartPos > 0) {
@@ -158,6 +159,7 @@
private static RepositoryName getGlobalRepoName(
String repo, ImmutableMap<RepositoryName, RepositoryName> repositoryMapping)
throws LabelSyntaxException {
+ Preconditions.checkNotNull(repositoryMapping);
RepositoryName repoName = RepositoryName.create(repo);
return repositoryMapping.getOrDefault(repoName, repoName);
}
@@ -524,6 +526,7 @@
public Label getRelativeWithRemapping(
String relName, ImmutableMap<RepositoryName, RepositoryName> repositoryMapping)
throws LabelSyntaxException {
+ Preconditions.checkNotNull(repositoryMapping);
if (relName.length() == 0) {
throw new LabelSyntaxException("empty package-relative label");
}
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index cb7c427..82b2aca 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -402,7 +402,7 @@
this.posts = ImmutableList.copyOf(builder.posts);
this.registeredExecutionPlatforms = ImmutableList.copyOf(builder.registeredExecutionPlatforms);
this.registeredToolchains = ImmutableList.copyOf(builder.registeredToolchains);
- this.repositoryMapping = builder.repositoryMapping;
+ this.repositoryMapping = Preconditions.checkNotNull(builder.repositoryMapping);
ImmutableMap.Builder<RepositoryName, ImmutableMap<RepositoryName, RepositoryName>>
repositoryMappingsBuilder = ImmutableMap.builder();
if (!builder.externalPackageRepositoryMappings.isEmpty() && !builder.isWorkspace()) {
@@ -929,7 +929,7 @@
* package)
*/
Builder setRepositoryMapping(ImmutableMap<RepositoryName, RepositoryName> repositoryMapping) {
- this.repositoryMapping = repositoryMapping;
+ this.repositoryMapping = Preconditions.checkNotNull(repositoryMapping);
return this;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingValue.java
index 809a86d..6720559 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryMappingValue.java
@@ -52,6 +52,7 @@
private final ImmutableMap<RepositoryName, RepositoryName> repositoryMapping;
private RepositoryMappingValue(ImmutableMap<RepositoryName, RepositoryName> repositoryMapping) {
+ Preconditions.checkNotNull(repositoryMapping);
this.repositoryMapping = repositoryMapping;
}