Improve an assertion failure message PiperOrigin-RevId: 341513332
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArtifacts.java index 04cc55f..7201dd8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArtifacts.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompilationArtifacts.java
@@ -14,8 +14,9 @@ package com.google.devtools.build.lib.rules.java; +import static com.google.common.base.Preconditions.checkState; + import com.google.auto.value.AutoValue; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.Artifact; @@ -78,7 +79,7 @@ private Artifact compileTimeDependencies; public JavaCompilationArtifacts build() { - Preconditions.checkState(fullCompileTimeJars.size() == compileTimeJars.size()); + validate(); return create( ImmutableList.copyOf(runtimeJars), ImmutableList.copyOf(compileTimeJars), @@ -86,6 +87,14 @@ compileTimeDependencies); } + private void validate() { + checkState( + fullCompileTimeJars.size() == compileTimeJars.size(), + "Expected the same number of interface and implementation jars:\n%s\n%s\n", + compileTimeJars, + fullCompileTimeJars); + } + public Builder addRuntimeJar(Artifact jar) { this.runtimeJars.add(jar); return this; @@ -108,13 +117,11 @@ return this; } - public Builder addInterfaceJars(Iterable<Artifact> jars) { - Iterables.addAll(this.compileTimeJars, jars); - return this; - } - - Builder addFullCompileTimeJars(Iterable<Artifact> jars) { - Iterables.addAll(this.fullCompileTimeJars, jars); + Builder addInterfaceJarsWithFullJars( + Iterable<Artifact> compileTimeJars, Iterable<Artifact> fullCompileTimeJars) { + Iterables.addAll(this.compileTimeJars, compileTimeJars); + Iterables.addAll(this.fullCompileTimeJars, fullCompileTimeJars); + validate(); return this; }
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java index ea19e39..1e07b5f 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaImport.java
@@ -178,9 +178,8 @@ ImmutableList<Artifact> jars, ImmutableList<Artifact> interfaceJars) { return new JavaCompilationArtifacts.Builder() .addRuntimeJars(jars) - .addFullCompileTimeJars(jars) // interfaceJars Artifacts have proper owner labels - .addInterfaceJars(interfaceJars) + .addInterfaceJarsWithFullJars(interfaceJars, jars) .build(); }