diff options
author | 2016-07-20 22:09:40 +0000 | |
---|---|---|
committer | 2016-07-21 20:35:02 +0000 | |
commit | 8cd68895eb4fd4719cc2d68d523db9e2cfc07c49 (patch) | |
tree | 5d6ae2c8351c327244f843366171334fcd90ce8a /src/java_tools/buildjar/javatests/com/google/devtools/build/java/turbine/javac | |
parent | 5bbc7a4f1747138205fc67a45a3af547b027f984 (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/build/java/turbine/javac')
2 files changed, 24 insertions, 26 deletions
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))); |