aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/buildjar/javatests/com/google/devtools
diff options
context:
space:
mode:
authorGravatar Carmi Grushko <carmi@google.com>2016-07-20 22:09:40 +0000
committerGravatar John Cater <jcater@google.com>2016-07-21 20:35:02 +0000
commit8cd68895eb4fd4719cc2d68d523db9e2cfc07c49 (patch)
tree5d6ae2c8351c327244f843366171334fcd90ce8a /src/java_tools/buildjar/javatests/com/google/devtools
parent5bbc7a4f1747138205fc67a45a3af547b027f984 (diff)
Prepare JavaBuilder to accept an Aspect's name, in addition to a label, of the owner of a jar.
The motivation is strict-deps checking for Aspected rules such as java_proto_library. With this additional information, JavaBuilder will be able to better tell the user which rule is missing in the 'deps' attribute of the target being built. Note that the AspectParameters aren't passed right now, because (1) serializing them adds complexity and (2) they're unneeded for JavaBuilder right now. -- MOS_MIGRATED_REVID=127993845
Diffstat (limited to 'src/java_tools/buildjar/javatests/com/google/devtools')
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/BUILD1
-rw-r--r--src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/TurbineOptionsTest.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.java49
4 files changed, 30 insertions, 29 deletions
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/BUILD b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/BUILD
index 317b03b2ae..32c3611eeb 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/BUILD
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/BUILD
@@ -16,6 +16,7 @@ java_test(
srcs = ["TurbineOptionsTest.java"],
tags = ["jdk8"],
deps = [
+ "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:JarOwner",
"//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_options",
"//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_options_parser",
"//third_party:guava",
diff --git a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/TurbineOptionsTest.java b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/TurbineOptionsTest.java
index a29ed27c01..ef2fa0e417 100644
--- a/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/TurbineOptionsTest.java
+++ b/src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/TurbineOptionsTest.java
@@ -17,6 +17,7 @@ package com.google.devtools.build.java.turbine;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.fail;
+import com.google.devtools.build.buildjar.JarOwner;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
@@ -129,12 +130,13 @@ public class TurbineOptionsTest {
assertThat(options.targetLabel()).hasValue("//java/com/google/test");
assertThat(options.directJarsToTargets())
- .containsExactlyEntriesIn(ImmutableMap.of("blaze-out/foo/libbar.jar", "//foo/bar"));
+ .containsExactlyEntriesIn(
+ ImmutableMap.of("blaze-out/foo/libbar.jar", JarOwner.create("//foo/bar")));
assertThat(options.indirectJarsToTargets())
.containsExactlyEntriesIn(
ImmutableMap.of(
- "blaze-out/foo/libbaz1.jar", "//foo/baz1",
- "blaze-out/foo/libbaz2.jar", "//foo/baz2"));
+ "blaze-out/foo/libbaz1.jar", JarOwner.create("//foo/baz1"),
+ "blaze-out/foo/libbaz2.jar", JarOwner.create("//foo/baz2")));
assertThat(options.depsArtifacts()).containsExactly("foo.jdeps", "bar.jdeps");
}
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 2127783f7f..9e2cd2be1a 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
@@ -16,6 +16,7 @@ java_test(
],
tags = ["jdk8"],
deps = [
+ "//src/java_tools/buildjar/java/com/google/devtools/build/buildjar:JarOwner",
"//src/java_tools/buildjar/java/com/google/devtools/build/java/turbine:turbine_options",
"//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 0f20f16112..d657ab0fa8 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
@@ -24,11 +24,11 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import com.google.common.io.ByteStreams;
+import com.google.devtools.build.buildjar.JarOwner;
import com.google.devtools.build.java.turbine.TurbineOptions;
import com.google.devtools.build.java.turbine.javac.JavacTurbine.Result;
import com.google.devtools.build.lib.view.proto.Deps;
import com.google.devtools.build.lib.view.proto.Deps.Dependency;
-
import com.sun.source.tree.LiteralTree;
import com.sun.source.util.JavacTask;
import com.sun.source.util.TaskEvent;
@@ -39,17 +39,6 @@ import com.sun.tools.javac.api.ClientCodeWrapper.Trusted;
import com.sun.tools.javac.api.JavacTool;
import com.sun.tools.javac.file.JavacFileManager;
import com.sun.tools.javac.util.Context;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.runner.RunWith;
-import org.junit.runners.JUnit4;
-import org.objectweb.asm.ClassReader;
-import org.objectweb.asm.util.Textifier;
-import org.objectweb.asm.util.TraceClassVisitor;
-
import java.io.BufferedInputStream;
import java.io.IOError;
import java.io.IOException;
@@ -75,7 +64,6 @@ import java.util.Set;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarOutputStream;
-
import javax.annotation.processing.AbstractProcessor;
import javax.annotation.processing.ProcessingEnvironment;
import javax.annotation.processing.RoundEnvironment;
@@ -88,6 +76,15 @@ import javax.tools.JavaFileManager;
import javax.tools.JavaFileObject;
import javax.tools.SimpleJavaFileObject;
import javax.tools.StandardLocation;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+import org.objectweb.asm.ClassReader;
+import org.objectweb.asm.util.Textifier;
+import org.objectweb.asm.util.TraceClassVisitor;
/** Unit tests for {@link JavacTurbine}. */
@RunWith(JUnit4.class)
@@ -408,9 +405,9 @@ public class JavacTurbineTest {
optionsBuilder.addClassPathEntries(
ImmutableList.of(libA.toString(), libB.toString(), libC.toString()));
optionsBuilder.addAllDepsArtifacts(ImmutableList.of(depsA.toString()));
- optionsBuilder.addDirectJarToTarget(libA.toString(), "//lib:a");
- optionsBuilder.addDirectJarToTarget(libB.toString(), "//lib:b");
- optionsBuilder.addIndirectJarToTarget(libC.toString(), "//lib:c");
+ optionsBuilder.addDirectJarToTarget(libA.toString(), JarOwner.create("//lib:a"));
+ optionsBuilder.addDirectJarToTarget(libB.toString(), JarOwner.create("//lib:b"));
+ optionsBuilder.addIndirectJarToTarget(libC.toString(), JarOwner.create("//lib:c"));
optionsBuilder.setTargetLabel("//my:target");
addSourceLines(
@@ -543,10 +540,10 @@ public class JavacTurbineTest {
optionsBuilder.addClassPathEntries(
ImmutableList.of(libA.toString(), libB.toString(), libC.toString(), libD.toString()));
optionsBuilder.addAllDepsArtifacts(ImmutableList.of(depsA.toString()));
- optionsBuilder.addDirectJarToTarget(libA.toString(), "//lib:a");
- optionsBuilder.addIndirectJarToTarget(libB.toString(), "//lib:b");
- optionsBuilder.addIndirectJarToTarget(libC.toString(), "//lib:c");
- optionsBuilder.addIndirectJarToTarget(libD.toString(), "//lib:d");
+ optionsBuilder.addDirectJarToTarget(libA.toString(), JarOwner.create("//lib:a"));
+ optionsBuilder.addIndirectJarToTarget(libB.toString(), JarOwner.create("//lib:b"));
+ optionsBuilder.addIndirectJarToTarget(libC.toString(), JarOwner.create("//lib:c"));
+ optionsBuilder.addIndirectJarToTarget(libD.toString(), JarOwner.create("//lib:d"));
optionsBuilder.setTargetLabel("//my:target");
addSourceLines(
@@ -635,10 +632,10 @@ public class JavacTurbineTest {
optionsBuilder.addClassPathEntries(
ImmutableList.of(libA.toString(), libB.toString(), libC.toString(), libD.toString()));
optionsBuilder.addAllDepsArtifacts(ImmutableList.of(depsA.toString()));
- optionsBuilder.addDirectJarToTarget(libA.toString(), "//lib:a");
- optionsBuilder.addIndirectJarToTarget(libB.toString(), "//lib:b");
- optionsBuilder.addIndirectJarToTarget(libC.toString(), "//lib:c");
- optionsBuilder.addIndirectJarToTarget(libD.toString(), "//lib:d");
+ optionsBuilder.addDirectJarToTarget(libA.toString(), JarOwner.create("//lib:a"));
+ optionsBuilder.addIndirectJarToTarget(libB.toString(), JarOwner.create("//lib:b"));
+ optionsBuilder.addIndirectJarToTarget(libC.toString(), JarOwner.create("//lib:c"));
+ optionsBuilder.addIndirectJarToTarget(libD.toString(), JarOwner.create("//lib:d"));
optionsBuilder.setTargetLabel("//my:target");
addSourceLines(
@@ -1231,7 +1228,7 @@ public class JavacTurbineTest {
"}");
optionsBuilder.addClassPathEntries(Collections.singleton(deps.toString()));
- optionsBuilder.addDirectJarToTarget(deps.toString(), "//deps");
+ optionsBuilder.addDirectJarToTarget(deps.toString(), JarOwner.create("//deps"));
compile();
Map<String, byte[]> outputs = collectOutputs();
@@ -1252,7 +1249,7 @@ public class JavacTurbineTest {
"import " + Lib.class.getCanonicalName() + ";",
"class Hello extends Lib {}");
- optionsBuilder.addIndirectJarToTarget(lib.toString(), "//lib");
+ optionsBuilder.addIndirectJarToTarget(lib.toString(), JarOwner.create("//lib"));
optionsBuilder.addClassPathEntries(ImmutableList.of(lib.toString()));
optionsBuilder.addSources(ImmutableList.copyOf(Iterables.transform(sources, TO_STRING)));