Udpate Dagger tests to compile with java 8 and 11
Bug: b/225308844
Change-Id: I39dcfe0af5ac84cabfac7ac892e7025a5102e17f
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
index 79c2abb..fd03050 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingBindsTest.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.utils.DaggerUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
import java.util.List;
@@ -25,14 +24,18 @@
@Parameter(0)
public TestParameters parameters;
- @Parameters(name = "{0}")
+ @Parameter(1)
+ public String target;
+
+ @Parameters(name = "{0}, javac -target {1}")
public static List<Object[]> data() {
return buildParameters(
getTestParameters()
.withDexRuntimes()
.withCfRuntimesStartingFromIncluding(CfVm.JDK11)
.withAllApiLevels()
- .build());
+ .build(),
+ javacTargets);
}
@BeforeClass
@@ -48,9 +51,7 @@
public void testJvm() throws Exception {
assumeTrue(parameters.isCfRuntime());
testForJvm()
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
}
@@ -59,9 +60,7 @@
public void testD8() throws Exception {
assumeTrue(parameters.isDexRuntime());
testForD8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
@@ -74,9 +73,7 @@
@Test
public void testR8() throws Exception {
testForR8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.addKeepMainRule(MAIN_CLASS)
.run(parameters.getRuntime(), MAIN_CLASS)
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingProvidesTest.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingProvidesTest.java
index 9e0ed40..87ca11c 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingProvidesTest.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicNotSingletonUsingProvidesTest.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.utils.DaggerUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.google.common.collect.ImmutableList;
import java.util.List;
@@ -25,14 +24,18 @@
@Parameter(0)
public TestParameters parameters;
- @Parameters(name = "{0}")
+ @Parameter(1)
+ public String target;
+
+ @Parameters(name = "{0}, javac -target {1}")
public static List<Object[]> data() {
return buildParameters(
getTestParameters()
.withDexRuntimes()
.withCfRuntimesStartingFromIncluding(CfVm.JDK11)
.withAllApiLevels()
- .build());
+ .build(),
+ javacTargets);
}
@BeforeClass
@@ -48,9 +51,7 @@
public void testJvm() throws Exception {
assumeTrue(parameters.isCfRuntime());
testForJvm()
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
}
@@ -59,9 +60,7 @@
public void testD8() throws Exception {
assumeTrue(parameters.isDexRuntime());
testForD8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
@@ -74,9 +73,7 @@
@Test
public void testR8() throws Exception {
testForR8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.addKeepMainRule(MAIN_CLASS)
.run(parameters.getRuntime(), MAIN_CLASS)
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingBindsTest.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingBindsTest.java
index 34e3b9e..36fcfaf 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingBindsTest.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingBindsTest.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.utils.DaggerUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.FoundClassSubject;
import com.google.common.collect.ImmutableList;
@@ -28,14 +27,18 @@
@Parameter(0)
public TestParameters parameters;
- @Parameters(name = "{0}")
+ @Parameter(1)
+ public String target;
+
+ @Parameters(name = "{0}, javac -target {1}")
public static List<Object[]> data() {
return buildParameters(
getTestParameters()
.withDexRuntimes()
.withCfRuntimesStartingFromIncluding(CfVm.JDK11)
.withAllApiLevels()
- .build());
+ .build(),
+ javacTargets);
}
@BeforeClass
@@ -51,9 +54,7 @@
public void testJvm() throws Exception {
assumeTrue(parameters.isCfRuntime());
testForJvm()
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
}
@@ -62,9 +63,7 @@
public void testD8() throws Exception {
assumeTrue(parameters.isDexRuntime());
testForD8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
@@ -89,20 +88,26 @@
@Test
public void testR8() throws Exception {
testForR8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.addKeepMainRule(MAIN_CLASS)
.addHorizontallyMergedClassesInspector(
inspector -> {
inspector
- .assertIsCompleteMergeGroup(
- "basic.I1Impl1_Factory", "basic.I2Impl1_Factory", "basic.I3Impl1_Factory")
- .assertIsCompleteMergeGroup(
- "basic.I1Impl1_Factory$InstanceHolder",
- "basic.I2Impl1_Factory$InstanceHolder",
- "basic.I3Impl1_Factory$InstanceHolder")
+ .applyIf(
+ target.equals("1.8") || parameters.isDexRuntime(),
+ i ->
+ i.assertIsCompleteMergeGroup(
+ "basic.I1Impl1_Factory",
+ "basic.I2Impl1_Factory",
+ "basic.I3Impl1_Factory"))
+ .applyIf(
+ target.equals("1.8") || parameters.isDexRuntime(),
+ i ->
+ i.assertIsCompleteMergeGroup(
+ "basic.I1Impl1_Factory$InstanceHolder",
+ "basic.I2Impl1_Factory$InstanceHolder",
+ "basic.I3Impl1_Factory$InstanceHolder"))
.assertNoOtherClassesMerged();
})
.addVerticallyMergedClassesInspector(
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingProvidesTest.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingProvidesTest.java
index 0ad12d6..c7d75f1 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingProvidesTest.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicSingletonUsingProvidesTest.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.TestParameters;
import com.android.tools.r8.TestRuntime.CfVm;
-import com.android.tools.r8.utils.DaggerUtils;
import com.android.tools.r8.utils.codeinspector.CodeInspector;
import com.android.tools.r8.utils.codeinspector.FoundClassSubject;
import com.google.common.collect.ImmutableList;
@@ -28,14 +27,18 @@
@Parameter(0)
public TestParameters parameters;
- @Parameters(name = "{0}")
+ @Parameter(1)
+ public String target;
+
+ @Parameters(name = "{0}, javac -target {1}")
public static List<Object[]> data() {
return buildParameters(
getTestParameters()
.withDexRuntimes()
.withCfRuntimesStartingFromIncluding(CfVm.JDK11)
.withAllApiLevels()
- .build());
+ .build(),
+ javacTargets);
}
@BeforeClass
@@ -67,9 +70,7 @@
public void testJvm() throws Exception {
assumeTrue(parameters.isCfRuntime());
testForJvm()
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
}
@@ -78,9 +79,7 @@
public void testD8() throws Exception {
assumeTrue(parameters.isDexRuntime());
testForD8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.run(parameters.getRuntime(), MAIN_CLASS)
.assertSuccessWithOutputLines(EXPECTED_OUTPUT);
@@ -89,24 +88,33 @@
@Test
public void testR8() throws Exception {
testForR8(parameters.getBackend())
- .addProgramFiles(DaggerBasicTestBase.compiledProgramNotDependingOnDagger)
- .addProgramFiles(DaggerBasicTestBase.compiledProgramDependingOnDagger)
- .addProgramFiles(DaggerUtils.getDaggerRuntime())
+ .addProgramFiles(getProgramFiles(target))
.setMinApi(parameters.getApiLevel())
.addKeepMainRule(MAIN_CLASS)
+ .allowStdoutMessages()
.addHorizontallyMergedClassesInspector(
inspector -> {
inspector
- .assertIsCompleteMergeGroup(
- "basic.ModuleUsingProvides_I1Factory",
- "basic.ModuleUsingProvides_I2Factory",
- "basic.ModuleUsingProvides_I3Factory")
- .assertIsCompleteMergeGroup(
- "basic.ModuleUsingProvides_I1Factory$InstanceHolder",
- "basic.ModuleUsingProvides_I2Factory$InstanceHolder",
- "basic.ModuleUsingProvides_I3Factory$InstanceHolder")
- .assertIsCompleteMergeGroup(
- "basic.ModuleUsingProvides", "basic.DaggerMainComponentUsingProvides$1")
+ .applyIf(
+ target.equals("1.8") || parameters.isDexRuntime(),
+ i ->
+ i.assertIsCompleteMergeGroup(
+ "basic.ModuleUsingProvides_I1Factory",
+ "basic.ModuleUsingProvides_I2Factory",
+ "basic.ModuleUsingProvides_I3Factory"))
+ .applyIf(
+ target.equals("1.8") || parameters.isDexRuntime(),
+ i ->
+ i.assertIsCompleteMergeGroup(
+ "basic.ModuleUsingProvides_I1Factory$InstanceHolder",
+ "basic.ModuleUsingProvides_I2Factory$InstanceHolder",
+ "basic.ModuleUsingProvides_I3Factory$InstanceHolder"))
+ .applyIf(
+ target.equals("1.8"),
+ i ->
+ i.assertIsCompleteMergeGroup(
+ "basic.ModuleUsingProvides",
+ "basic.DaggerMainComponentUsingProvides$1"))
.assertNoOtherClassesMerged();
})
.addVerticallyMergedClassesInspector(
diff --git a/src/test/java/com/android/tools/r8/dagger/DaggerBasicTestBase.java b/src/test/java/com/android/tools/r8/dagger/DaggerBasicTestBase.java
index 3f56ab1..81d71f5 100644
--- a/src/test/java/com/android/tools/r8/dagger/DaggerBasicTestBase.java
+++ b/src/test/java/com/android/tools/r8/dagger/DaggerBasicTestBase.java
@@ -14,12 +14,15 @@
import com.android.tools.r8.utils.FileUtils;
import com.android.tools.r8.utils.ZipUtils;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Collection;
import java.util.HashSet;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.function.BiFunction;
import java.util.function.Predicate;
@@ -28,61 +31,88 @@
public class DaggerBasicTestBase extends TestBase {
- public static Path compiledProgramNotDependingOnDagger;
- public static Path compiledProgramDependingOnDagger;
- public static Path daggerGeneratedSourceFiles;
+ public static class CompiledCode {
+ public final Path compiledProgramNotDependingOnDagger;
+ public final Path compiledProgramDependingOnDagger;
+ public final Path daggerGeneratedSourceFiles;
+
+ public CompiledCode(
+ Path compiledProgramNotDependingOnDagger,
+ Path compiledProgramDependingOnDagger,
+ Path daggerGeneratedSourceFiles) {
+ this.compiledProgramNotDependingOnDagger = compiledProgramNotDependingOnDagger;
+ this.compiledProgramDependingOnDagger = compiledProgramDependingOnDagger;
+ this.daggerGeneratedSourceFiles = daggerGeneratedSourceFiles;
+ }
+ }
+
+ public static final List<String> javacTargets = ImmutableList.of("1.8", "11");
+
+ private static Map<String, CompiledCode> compilerCode;
private static void compile(
List<Path> sourceNotDependingOnDagger,
List<Path> sourceDependingOnDagger,
BiFunction<String, byte[], byte[]> transformer)
throws Exception {
- compiledProgramNotDependingOnDagger =
- DaggerUtils.compileWithoutAnnotationProcessing(sourceNotDependingOnDagger);
- // Use transformer on code not depending on Dagger.
- if (transformer != null) {
- compiledProgramNotDependingOnDagger =
- ZipUtils.map(
+ ImmutableMap.Builder<String, CompiledCode> builder = ImmutableMap.builder();
+ for (String target : javacTargets) {
+ Path compiledProgramNotDependingOnDagger =
+ DaggerUtils.compileWithoutAnnotationProcessing(target, sourceNotDependingOnDagger);
+ // Use transformer on code not depending on Dagger.
+ if (transformer != null) {
+ compiledProgramNotDependingOnDagger =
+ ZipUtils.map(
+ compiledProgramNotDependingOnDagger,
+ getStaticTemp().newFolder().toPath().resolve("transformed.jar"),
+ (entry, bytes) ->
+ FileUtils.isClassFile(entry.getName())
+ ? transformer.apply(
+ entry
+ .getName()
+ .substring(
+ 0,
+ entry.getName().length() - FileUtils.CLASS_EXTENSION.length()),
+ bytes)
+ : bytes);
+ }
+ // Compile with Dagger annotation processor. The part of the program not relying on dagger
+ // generated types are passed as class files (potentially after transformation) and on command
+ // line for being included in annotation processing.
+ Path compiledProgramDependingOnDagger =
+ DaggerUtils.compileWithAnnotationProcessing(
+ target,
+ sourceDependingOnDagger,
+ ImmutableList.of(compiledProgramNotDependingOnDagger));
+ Path daggerGeneratedSourceFiles =
+ ZipUtils.filter(
+ compiledProgramDependingOnDagger,
+ getStaticTemp().newFolder().toPath().resolve("source.jar"),
+ entry -> entry.getName().endsWith(".java"));
+ // Check the generated Dagger source files.
+ Set<String> generatedFiles = new HashSet<>();
+ ZipUtils.iter(
+ daggerGeneratedSourceFiles, (entry, unused) -> generatedFiles.add(entry.getName()));
+ assertEquals(
+ ImmutableSet.of(
+ "basic/I1Impl1_Factory.java",
+ "basic/I2Impl1_Factory.java",
+ "basic/I3Impl1_Factory.java",
+ "basic/ModuleUsingProvides_I1Factory.java",
+ "basic/ModuleUsingProvides_I2Factory.java",
+ "basic/ModuleUsingProvides_I3Factory.java",
+ "basic/ModuleUsingProvides_Proxy.java",
+ "basic/DaggerMainComponentUsingBinds.java",
+ "basic/DaggerMainComponentUsingProvides.java"),
+ generatedFiles);
+ builder.put(
+ target,
+ new CompiledCode(
compiledProgramNotDependingOnDagger,
- getStaticTemp().newFolder().toPath().resolve("transformed.jar"),
- (entry, bytes) ->
- FileUtils.isClassFile(entry.getName())
- ? transformer.apply(
- entry
- .getName()
- .substring(
- 0, entry.getName().length() - FileUtils.CLASS_EXTENSION.length()),
- bytes)
- : bytes);
+ compiledProgramDependingOnDagger,
+ daggerGeneratedSourceFiles));
}
- // Compile with Dagger annotation processor. The part of the program not relying on dagger
- // generated types are passed as class files (potentially after transformation) and on command
- // line for being included in annotation processing.
- compiledProgramDependingOnDagger =
- DaggerUtils.compileWithAnnotationProcessing(
- sourceDependingOnDagger, ImmutableList.of(compiledProgramNotDependingOnDagger));
- daggerGeneratedSourceFiles =
- ZipUtils.filter(
- compiledProgramDependingOnDagger,
- getStaticTemp().newFolder().toPath().resolve("source.jar"),
- entry -> entry.getName().endsWith(".java"));
- // Check the generated Dagger source files.
- Set<String> generatedFiles = new HashSet<>();
- ZipUtils.iter(
- DaggerBasicTestBase.daggerGeneratedSourceFiles,
- (entry, unused) -> generatedFiles.add(entry.getName()));
- assertEquals(
- ImmutableSet.of(
- "basic/I1Impl1_Factory.java",
- "basic/I2Impl1_Factory.java",
- "basic/I3Impl1_Factory.java",
- "basic/ModuleUsingProvides_I1Factory.java",
- "basic/ModuleUsingProvides_I2Factory.java",
- "basic/ModuleUsingProvides_I3Factory.java",
- "basic/ModuleUsingProvides_Proxy.java",
- "basic/DaggerMainComponentUsingBinds.java",
- "basic/DaggerMainComponentUsingProvides.java"),
- generatedFiles);
+ compilerCode = builder.build();
}
private static boolean sourceFileReferingDaggerGeneratedClasses(Path file) {
@@ -131,11 +161,18 @@
return bytes;
}
- public static List<Path> javaSourceFiles(String testDir, Predicate<Path> filter)
- throws Exception {
+ static List<Path> javaSourceFiles(String testDir, Predicate<Path> filter) throws Exception {
try (Stream<Path> walk =
Files.walk(Paths.get(ToolHelper.TESTS_DIR, "examplesDagger", testDir))) {
return walk.filter(filter).filter(FileUtils::isJavaFile).collect(Collectors.toList());
}
}
+
+ Collection<Path> getProgramFiles(String target) {
+ ImmutableList.Builder<Path> builder = ImmutableList.builder();
+ builder.add(compilerCode.get(target).compiledProgramDependingOnDagger);
+ builder.add(compilerCode.get(target).compiledProgramNotDependingOnDagger);
+ builder.addAll(DaggerUtils.getDaggerRuntime());
+ return builder.build();
+ }
}
diff --git a/src/test/java/com/android/tools/r8/utils/DaggerUtils.java b/src/test/java/com/android/tools/r8/utils/DaggerUtils.java
index e0a4871..f69ec51 100644
--- a/src/test/java/com/android/tools/r8/utils/DaggerUtils.java
+++ b/src/test/java/com/android/tools/r8/utils/DaggerUtils.java
@@ -59,7 +59,7 @@
}
public static Path compileWithAnnotationProcessing(
- Collection<Path> sourceFiles, Collection<Path> classFiles) throws Exception {
+ String target, Collection<Path> sourceFiles, Collection<Path> classFiles) throws Exception {
// Class files are provided in JAR files. Extract all the class names to pass to javac for
// annotation processing.
List<String> classNames = new ArrayList<>();
@@ -75,8 +75,8 @@
});
}
return TestBase.javac(getJdk(), TestBase.getStaticTemp())
- .setSource("1.8")
- .setTarget("1.8")
+ .setSource(target)
+ .setTarget(target)
.addSourceFiles(sourceFiles)
.addClassNames(classNames)
.addClasspathFiles(classFiles)
@@ -86,7 +86,8 @@
.compile();
}
- public static Path compileWithAnnotationProcessing(Collection<Path> files) throws Exception {
+ public static Path compileWithAnnotationProcessing(String target, Collection<Path> files)
+ throws Exception {
// Split the files passed into source files and class files. Class files are expected to be in
// JARs.
List<Path> sourceFiles =
@@ -94,24 +95,25 @@
List<Path> classFiles =
files.stream().filter(FileUtils::isJarFile).collect(Collectors.toList());
assertEquals(files.size(), sourceFiles.size() + classFiles.size());
- return compileWithAnnotationProcessing(sourceFiles, classFiles);
+ return compileWithAnnotationProcessing(target, sourceFiles, classFiles);
}
- public static Path compileWithoutAnnotationProcessing(Collection<Path> files) throws Exception {
+ public static Path compileWithoutAnnotationProcessing(String target, Collection<Path> files)
+ throws Exception {
return TestBase.javac(getJdk(), TestBase.getStaticTemp())
- .setSource("1.8")
- .setTarget("1.8")
.addSourceFiles(files)
.addClasspathFiles(getDaggerRuntime())
.compile();
}
- public static Path compileWithoutAnnotationProcessing(Path... files) throws Exception {
- return compileWithoutAnnotationProcessing(Arrays.asList(files));
+ public static Path compileWithoutAnnotationProcessing(String target, Path... files)
+ throws Exception {
+ return compileWithoutAnnotationProcessing(target, Arrays.asList(files));
}
- public static Path compileWithAnnotationProcessing(Path... files) throws Exception {
- return compileWithAnnotationProcessing(Arrays.asList(files));
+ public static Path compileWithAnnotationProcessing(String target, Path... files)
+ throws Exception {
+ return compileWithAnnotationProcessing(target, Arrays.asList(files));
}
private static CfRuntime getJdk() {