aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/buildjar
diff options
context:
space:
mode:
authorGravatar cushon <cushon@google.com>2018-07-27 11:50:37 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-07-27 11:52:09 -0700
commitbc9b35b1856b1bd1fc565a8ee3b6de278f6e5c0a (patch)
tree9beb13396d7ee2f2775e5a65ad011a43c275349a /src/java_tools/buildjar
parent129c3e2fd3dfdfe1cd312826988f0944bdd69236 (diff)
Skip strict deps suggested fix commands with strict deps disabled
instead of just skipping the add dep errors. RELNOTES: follow-up to https://github.com/bazelbuild/bazel/commit/1ac359743176e659e9c7472645e3142f3c44b9e8 PiperOrigin-RevId: 206350053
Diffstat (limited to 'src/java_tools/buildjar')
-rw-r--r--src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java9
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/AbstractJavacTurbineCompilationTest.java8
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD1
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java2
4 files changed, 15 insertions, 5 deletions
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java
index 60ec10c581..d16ed69fac 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/plugins/dependency/StrictJavaDepsPlugin.java
@@ -22,6 +22,7 @@ import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.buildjar.JarOwner;
import com.google.devtools.build.buildjar.javac.plugins.BlazeJavaCompilerPlugin;
+import com.google.devtools.build.buildjar.javac.plugins.dependency.DependencyModule.StrictJavaDeps;
import com.google.devtools.build.lib.view.proto.Deps;
import com.google.devtools.build.lib.view.proto.Deps.Dependency;
import com.sun.tools.javac.code.Flags;
@@ -200,9 +201,11 @@ public final class StrictJavaDepsPlugin extends BlazeJavaCompilerPlugin {
// suggest private build labels.
.map(owner -> owner.withLabel(owner.label().map(label -> canonicalizeTarget(label))))
.collect(toImmutableSet());
- errWriter.print(
- dependencyModule.getFixMessage().get(canonicalizedMissing, canonicalizedLabel));
- dependencyModule.setHasMissingTargets();
+ if (dependencyModule.getStrictJavaDeps() != StrictJavaDeps.OFF) {
+ errWriter.print(
+ dependencyModule.getFixMessage().get(canonicalizedMissing, canonicalizedLabel));
+ dependencyModule.setHasMissingTargets();
+ }
}
}
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/AbstractJavacTurbineCompilationTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/AbstractJavacTurbineCompilationTest.java
index 36ec4e2668..2f956d4ba1 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/AbstractJavacTurbineCompilationTest.java
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/AbstractJavacTurbineCompilationTest.java
@@ -19,6 +19,7 @@ import static com.google.common.truth.Truth.assertThat;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.io.ByteStreams;
+import com.google.devtools.build.buildjar.jarhelper.JarCreator;
import com.google.devtools.build.java.bazel.JavacBootclasspath;
import com.google.devtools.build.java.turbine.javac.JavacTurbine.Result;
import com.google.turbine.options.TurbineOptions;
@@ -37,9 +38,11 @@ import java.util.Enumeration;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.jar.Attributes;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
+import java.util.jar.Manifest;
import org.junit.Before;
import org.junit.Rule;
import org.junit.rules.TemporaryFolder;
@@ -119,8 +122,11 @@ public abstract class AbstractJavacTurbineCompilationTest {
protected Path createClassJar(String jarName, Class<?>... classes) throws IOException {
Path jarPath = temp.newFile(jarName).toPath();
+ Manifest manifest = new Manifest();
+ manifest.getMainAttributes().put(Attributes.Name.MANIFEST_VERSION, "1.0");
+ manifest.getMainAttributes().put(JarCreator.TARGET_LABEL, "//" + jarName);
try (OutputStream os = Files.newOutputStream(jarPath);
- JarOutputStream jos = new JarOutputStream(os)) {
+ JarOutputStream jos = new JarOutputStream(os, manifest)) {
for (Class<?> clazz : classes) {
String classFileName = clazz.getName().replace('.', '/') + ".class";
jos.putNextEntry(new JarEntry(classFileName));
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
index 701f380d64..039902dbda 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/BUILD
@@ -5,6 +5,7 @@ java_library(
testonly = 1,
srcs = ["AbstractJavacTurbineCompilationTest.java"],
deps = [
+ "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar/jarhelper",
"//src/java_tools/buildjar/java/com/google/devtools/build/java/bazel:JavacBootclasspath",
"//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine/javac:javac_turbine",
"//src/main/protobuf:deps_java_proto",
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
index c598edf538..7d44dd7462 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac/JavacTurbineTest.java
@@ -1235,6 +1235,7 @@ public class JavacTurbineTest extends AbstractJavacTurbineCompilationTest {
result = turbine.compile();
}
assertThat(errOutput.toString()).doesNotContain("[strict]");
+ assertThat(errOutput.toString()).doesNotContain("** Please add the following dependencies:");
assertThat(result).isEqualTo(Result.ERROR);
}
@@ -1511,4 +1512,3 @@ public class JavacTurbineTest extends AbstractJavacTurbineCompilationTest {
assertThat(output.toString()).contains("A.java:2: error: class, interface, or enum expected");
}
}
-