Migrate more TestDeps. Bundletool, jacoco, jsr223, rhino, processKeepRulesBinaryCompatibility. Bug: b/558159571 Change-Id: Ib7214c5a65769d6586db300f236ab9c2a1baa7c7
diff --git a/d8_r8/test_modules/tests_java_8/build.gradle.kts b/d8_r8/test_modules/tests_java_8/build.gradle.kts index c49a365..e60cb6a 100644 --- a/d8_r8/test_modules/tests_java_8/build.gradle.kts +++ b/d8_r8/test_modules/tests_java_8/build.gradle.kts
@@ -80,9 +80,15 @@ implementation(project(":resourceshrinker", "resourceshrinkerDepsJar")) implementation(project(":testbase")) implementation(project(":testbase", "depsJar")) + runtimeOnlyData(project(":third_party", "bundletool")) runtimeOnlyData(project(":third_party", "gson")) runtimeOnlyData(project(":third_party", "guavaJre")) + runtimeOnlyData(project(":third_party", "jacoco")) runtimeOnlyData(project(":third_party", "jdwpTests")) + runtimeOnlyData(project(":third_party", "jsr223")) + runtimeOnlyData(project(":third_party", "processKeepRulesBinaryCompatibility")) + runtimeOnlyData(project(":third_party", "rhino")) + runtimeOnlyData(project(":third_party", "rhinoAndroid")) runtimeOnlyData(project(":testbase", "runtimeOnlyDataElements")) // For each child project, add its test classes to the test class configuration. childProjects.values.forEach { childProject ->
diff --git a/d8_r8/test_modules/tests_java_8/desugar/build.gradle.kts b/d8_r8/test_modules/tests_java_8/desugar/build.gradle.kts index c6d50b0..19d2b4f 100644 --- a/d8_r8/test_modules/tests_java_8/desugar/build.gradle.kts +++ b/d8_r8/test_modules/tests_java_8/desugar/build.gradle.kts
@@ -24,4 +24,6 @@ runtimeOnlyData(project(":third_party", "coreLambdaStubs")) runtimeOnlyData(project(":third_party", "gson")) runtimeOnlyData(project(":third_party", "guavaJre")) + runtimeOnlyData(project(":third_party", "jacoco")) + runtimeOnlyData(project(":third_party", "multidex")) }
diff --git a/d8_r8/test_modules/tests_java_8/retrace/build.gradle.kts b/d8_r8/test_modules/tests_java_8/retrace/build.gradle.kts index fa65957..b3b9dd8 100644 --- a/d8_r8/test_modules/tests_java_8/retrace/build.gradle.kts +++ b/d8_r8/test_modules/tests_java_8/retrace/build.gradle.kts
@@ -22,3 +22,9 @@ } } } + +dependencies { + runtimeOnlyData(project(":third_party", "r8Mappings")) + runtimeOnlyData(project(":third_party", "retraceBinaryCompatibility")) + runtimeOnlyData(project(":third_party", "retracePartitionFormats")) +}
diff --git a/d8_r8/third_party/build.gradle.kts b/d8_r8/third_party/build.gradle.kts index 586290b..9df3088 100644 --- a/d8_r8/third_party/build.gradle.kts +++ b/d8_r8/third_party/build.gradle.kts
@@ -57,14 +57,46 @@ // This should be called 'dependencies' but that is reserved in gradle, so dependenciesBucket. registerTestDep("dependenciesBucket", getRoot().resolve("third_party/dependencies"), "DEPENDENCIES") +registerTestDep("bundletool", ThirdPartyDeps.bundletool, "BUNDLETOOL") + registerTestDep("coreLambdaStubs", ThirdPartyDeps.coreLambdaStubs, "CORE_LAMBDA_STUBS") registerTestDep("gson", ThirdPartyDeps.gson, "GSON") registerTestDep("guavaJre", ThirdPartyDeps.guavaJre, "GUAVA_JRE") +registerTestDep("jacoco", ThirdPartyDeps.jacoco, "JACOCO") + registerTestDep("jdwpTests", ThirdPartyDeps.jdwpTests, "JDWP_TESTS") +registerTestDep("jsr223", ThirdPartyDeps.jsr223, "JSR223") + +registerTestDep("multidex", ThirdPartyDeps.multidex, "MULTIDEX") + +registerTestDep( + "processKeepRulesBinaryCompatibility", + ThirdPartyDeps.processKeepRulesBinaryCompatibility, + "PROCESS_KEEP_RULES_BINARY_COMPATIBILITY", +) + +registerTestDep("r8Mappings", ThirdPartyDeps.r8Mappings, "R8_MAPPINGS") + +registerTestDep( + "retraceBinaryCompatibility", + ThirdPartyDeps.retraceBinaryCompatibility, + "RETRACE_BINARY_COMPATIBILITY", +) + +registerTestDep( + "retracePartitionFormats", + ThirdPartyDeps.retracePartitionFormats, + "RETRACE_PARTITION_FORMATS", +) + +registerTestDep("rhino", ThirdPartyDeps.rhino, "RHINO") + +registerTestDep("rhinoAndroid", ThirdPartyDeps.rhinoAndroid, "RHINO_ANDROID") + val internalTasks = if (!providers.gradleProperty("no_internal").isPresent) { allInternalDependencies().map { registerDependency(it) }
diff --git a/src/test/java/com/android/tools/r8/JacocoRegressionTest.java b/src/test/java/com/android/tools/r8/JacocoRegressionTest.java index a7421e8..7beaa04 100644 --- a/src/test/java/com/android/tools/r8/JacocoRegressionTest.java +++ b/src/test/java/com/android/tools/r8/JacocoRegressionTest.java
@@ -42,7 +42,7 @@ path, String.format( "-javaagent:%s=destfile=%s,dumponexit=true,output=file", - ToolHelper.JACOCO_AGENT, agentOutput), + TestDeps.getJacocoAgentJar(), agentOutput), name); assertEquals(1, result1.exitCode); assertTrue(result1.toString().contains("java.lang.VerifyError: Bad local variable type"));
diff --git a/src/test/java/com/android/tools/r8/androidresources/FeatureSplitCodeLessManifestTest.java b/src/test/java/com/android/tools/r8/androidresources/FeatureSplitCodeLessManifestTest.java index d932e18..d59aa8a 100644 --- a/src/test/java/com/android/tools/r8/androidresources/FeatureSplitCodeLessManifestTest.java +++ b/src/test/java/com/android/tools/r8/androidresources/FeatureSplitCodeLessManifestTest.java
@@ -13,6 +13,7 @@ import com.android.aapt.Resources.XmlNode; import com.android.tools.r8.R8TestCompileResultBase; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestParametersCollection; import com.android.tools.r8.ToolHelper; @@ -25,7 +26,6 @@ import java.net.URLClassLoader; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.junit.Assume; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -336,12 +336,7 @@ private static void validateWithBundletool(XmlNode xmlNode, boolean expectedHasCode) throws Exception { - Path bundletoolJar = - Paths.get( - ToolHelper.THIRD_PARTY_DIR, - "bundletool", - "bundletool-1.11.0", - "bundletool-all-1.11.0.jar"); + Path bundletoolJar = TestDeps.getBundleToolJar(); assertTrue(Files.exists(bundletoolJar)); try (URLClassLoader loader = new URLClassLoader(
diff --git a/src/test/java/com/android/tools/r8/assistant/ReflectiveCallExtractorTest.java b/src/test/java/com/android/tools/r8/assistant/ReflectiveCallExtractorTest.java index b922cf9..853df28 100644 --- a/src/test/java/com/android/tools/r8/assistant/ReflectiveCallExtractorTest.java +++ b/src/test/java/com/android/tools/r8/assistant/ReflectiveCallExtractorTest.java
@@ -51,7 +51,7 @@ @Test public void testJacoco() throws Exception { - test(ToolHelper.JACOCO_AGENT, 12, 0); + test(TestDeps.getJacocoAgentJar(), 12, 0); } @Test
diff --git a/src/test/java/com/android/tools/r8/processkeeprules/api/ProcessKeepRulesApiTestCollection.java b/src/test/java/com/android/tools/r8/processkeeprules/api/ProcessKeepRulesApiTestCollection.java index 749b548..d9cab20 100644 --- a/src/test/java/com/android/tools/r8/processkeeprules/api/ProcessKeepRulesApiTestCollection.java +++ b/src/test/java/com/android/tools/r8/processkeeprules/api/ProcessKeepRulesApiTestCollection.java
@@ -3,21 +3,17 @@ // BSD-style license that can be found in the LICENSE file. package com.android.tools.r8.processkeeprules.api; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.ToolHelper; import com.android.tools.r8.compilerapi.BinaryCompatibilityTestCollection; import com.google.common.collect.ImmutableList; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import org.junit.rules.TemporaryFolder; public class ProcessKeepRulesApiTestCollection extends BinaryCompatibilityTestCollection<ProcessKeepRulesApiBinaryTest> { - private static final Path BINARY_COMPATIBILITY_JAR = - Paths.get( - ToolHelper.THIRD_PARTY_DIR, "processkeeprules", "binary_compatibility", "tests.jar"); - public static List<Class<? extends ProcessKeepRulesApiBinaryTest>> CLASSES_FOR_BINARY_COMPATIBILITY = ImmutableList.of(ProcessKeepRulesTest.ApiTest.class); @@ -42,7 +38,7 @@ @Override public Path getCheckedInTestJar() { - return BINARY_COMPATIBILITY_JAR; + return TestDeps.getProcessKeepRulesBinaryCompatibilityJar(); } @Override
diff --git a/src/test/java/com/android/tools/r8/rewrite/ScriptEngineTestBase.java b/src/test/java/com/android/tools/r8/rewrite/ScriptEngineTestBase.java index 5e411be..b01ddf1 100644 --- a/src/test/java/com/android/tools/r8/rewrite/ScriptEngineTestBase.java +++ b/src/test/java/com/android/tools/r8/rewrite/ScriptEngineTestBase.java
@@ -7,20 +7,19 @@ import com.android.tools.r8.R8TestBuilder; import com.android.tools.r8.TestBase; import com.android.tools.r8.TestBuilder; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestShrinkerBuilder; -import com.android.tools.r8.ToolHelper; -import java.nio.file.Paths; public class ScriptEngineTestBase extends TestBase { public void addRhinoForAndroid(TestBuilder<?, ?> builder) { builder // JSR 223: Scripting for the JavaTM Platform (https://jcp.org/en/jsr/detail?id=223). - .addProgramFiles(Paths.get(ToolHelper.JSR223_RI_JAR)) + .addProgramFiles(TestDeps.getJsr223RiJar()) // The Rhino implementation. - .addProgramFiles(Paths.get(ToolHelper.RHINO_JAR)) + .addProgramFiles(TestDeps.getRhinoJar()) // The rhino-android contains concrete implementation of sun.misc.Service // used by the JSR 223 RI, which is not in the Android runtime (except for N?). - .addProgramFiles(Paths.get(ToolHelper.RHINO_ANDROID_JAR)); + .addProgramFiles(TestDeps.getRhinoAndroidJar()); if (builder instanceof TestShrinkerBuilder) { ((TestShrinkerBuilder<?, ?, ?, ?, ?>) builder) // The rhino-android library have references to missing classes.
diff --git a/src/test/java/com/android/tools/r8/rewrite/assertions/AssertionsConfigurationJacocoTest.java b/src/test/java/com/android/tools/r8/rewrite/assertions/AssertionsConfigurationJacocoTest.java index 5be0654..d012196 100644 --- a/src/test/java/com/android/tools/r8/rewrite/assertions/AssertionsConfigurationJacocoTest.java +++ b/src/test/java/com/android/tools/r8/rewrite/assertions/AssertionsConfigurationJacocoTest.java
@@ -8,6 +8,7 @@ import com.android.tools.r8.AssertionsConfiguration; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestParametersCollection; import com.android.tools.r8.TestRuntime; @@ -99,7 +100,7 @@ List<String> cmdline = new ArrayList<>(); cmdline.add(TestRuntime.getSystemRuntime().asCf().getJavaExecutable().toString()); cmdline.add("-jar"); - cmdline.add(ToolHelper.JACOCO_CLI.toString()); + cmdline.add(TestDeps.getJacocoCliJar().toString()); cmdline.add("instrument"); cmdline.add(input.toString()); cmdline.add("--dest");
diff --git a/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicGetDeclaredMethods.java b/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicGetDeclaredMethods.java index 1386ef8..0d2abbb 100644 --- a/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicGetDeclaredMethods.java +++ b/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicGetDeclaredMethods.java
@@ -10,10 +10,10 @@ import static org.junit.Assume.assumeTrue; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestParametersCollection; import com.android.tools.r8.TestRuntime.CfVm; -import com.android.tools.r8.ToolHelper; import com.android.tools.r8.ToolHelper.DexVm; import com.android.tools.r8.ToolHelper.DexVm.Version; import com.android.tools.r8.cf.CfVersion; @@ -92,7 +92,7 @@ Path agentOutputOnTheFly = output.resolve("on-the-fly"); testForJvm(parameters) .addProgramFiles(testClasses.getOriginal()) - .enableJaCoCoAgent(ToolHelper.JACOCO_AGENT, agentOutputOnTheFly) + .enableJaCoCoAgent(TestDeps.getJacocoAgentJar(), agentOutputOnTheFly) .run(parameters.getRuntime(), MAIN_CLASS) .assertSuccessWithOutput(EXPECTED_OUTPUT_WITH_METHOD_HANDLES); checkJacocoReport(agentOutputOnTheFly); @@ -101,7 +101,8 @@ Path agentOutputOffline = output.resolve("offline"); testForJvm(parameters) .addProgramFiles(testClasses.getInstrumented()) - .configureJaCoCoAgentForOfflineInstrumentedCode(ToolHelper.JACOCO_AGENT, agentOutputOffline) + .configureJaCoCoAgentForOfflineInstrumentedCode( + TestDeps.getJacocoAgentJar(), agentOutputOffline) .run(parameters.getRuntime(), MAIN_CLASS) .assertSuccessWithOutput(EXPECTED_OUTPUT_WITH_METHOD_HANDLES); checkJacocoReport(agentOutputOffline); @@ -113,7 +114,7 @@ Path agentOutput = temp.newFolder().toPath().resolve("jacoco.exec"); testForD8(parameters.getBackend()) .addProgramFiles(testClasses.getInstrumented()) - .addProgramFiles(ToolHelper.JACOCO_AGENT) + .addProgramFiles(TestDeps.getJacocoAgentJar()) .setMinApi(parameters) .compile() .runWithJaCoCo(agentOutput, parameters.getRuntime(), MAIN_CLASS) @@ -130,7 +131,7 @@ Path agentOutput = temp.newFolder().toPath().resolve("jacoco.exec"); testForR8(parameters.getBackend()) .addProgramFiles(testClasses.getInstrumented()) - .addProgramFiles(ToolHelper.JACOCO_AGENT) + .addProgramFiles(TestDeps.getJacocoAgentJar()) .setMinApi(parameters) .addKeepMainRules(TestRunner.class) .addKeepRules( @@ -162,7 +163,7 @@ Path agentOutput = temp.newFolder().toPath().resolve("jacoco.exec"); testForR8(parameters.getBackend()) .addProgramFiles(testClasses.getInstrumented()) - .addProgramFiles(ToolHelper.JACOCO_AGENT) + .addProgramFiles(TestDeps.getJacocoAgentJar()) .setMinApi(parameters) .addKeepMainRules(TestRunner.class) .addKeepRules("-keep class ** { *** " + jacocoBootstrapMethodName + "(...); }")
diff --git a/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java b/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java index 9c9aa98..2cff554 100644 --- a/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java +++ b/src/test/java8/desugar/com/android/tools/r8/desugar/constantdynamic/JacocoConstantDynamicTest.java
@@ -8,9 +8,9 @@ import static org.junit.Assume.assumeTrue; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestRuntime.CfVm; -import com.android.tools.r8.ToolHelper; import com.android.tools.r8.ToolHelper.DexVm; import com.android.tools.r8.cf.CfVersion; import com.android.tools.r8.jacoco.JacocoClasses; @@ -82,7 +82,7 @@ Path agentOutputOnTheFly = output.resolve("on-the-fly"); testForJvm(parameters) .addProgramFiles(testClasses.getOriginal()) - .enableJaCoCoAgent(ToolHelper.JACOCO_AGENT, agentOutputOnTheFly) + .enableJaCoCoAgent(TestDeps.getJacocoAgentJar(), agentOutputOnTheFly) .run(parameters.getRuntime(), MAIN_CLASS) .assertSuccessWithOutput(EXPECTED_OUTPUT); List<String> onTheFlyReport = testClasses.generateReport(agentOutputOnTheFly); @@ -92,7 +92,8 @@ Path agentOutputOffline = output.resolve("offline"); testForJvm(parameters) .addProgramFiles(testClasses.getInstrumented()) - .configureJaCoCoAgentForOfflineInstrumentedCode(ToolHelper.JACOCO_AGENT, agentOutputOffline) + .configureJaCoCoAgentForOfflineInstrumentedCode( + TestDeps.getJacocoAgentJar(), agentOutputOffline) .run(parameters.getRuntime(), MAIN_CLASS) .assertSuccessWithOutput(EXPECTED_OUTPUT); List<String> offlineReport = testClasses.generateReport(agentOutputOffline); @@ -107,7 +108,7 @@ Path agentOutput = output.resolve("jacoco.exec"); testForD8() .addProgramFiles(testClasses.getInstrumented()) - .addProgramFiles(ToolHelper.JACOCO_AGENT) + .addProgramFiles(TestDeps.getJacocoAgentJar()) .setMinApi(parameters) .compile() .runWithJaCoCo(agentOutput, parameters.getRuntime(), MAIN_CLASS) @@ -122,7 +123,7 @@ } else { testForD8() .addProgramFiles(testClasses.getInstrumented()) - .addProgramFiles(ToolHelper.JACOCO_AGENT) + .addProgramFiles(TestDeps.getJacocoAgentJar()) .setMinApi(parameters) .compile(); }
diff --git a/src/test/java8/desugar/com/android/tools/r8/desugar/desugaredlibrary/MultiDexTest.java b/src/test/java8/desugar/com/android/tools/r8/desugar/desugaredlibrary/MultiDexTest.java index f5d5449..c681216 100644 --- a/src/test/java8/desugar/com/android/tools/r8/desugar/desugaredlibrary/MultiDexTest.java +++ b/src/test/java8/desugar/com/android/tools/r8/desugar/desugaredlibrary/MultiDexTest.java
@@ -10,8 +10,8 @@ import static com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification.JDK8; import static org.junit.Assert.assertFalse; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; -import com.android.tools.r8.ToolHelper; import com.android.tools.r8.desugar.desugaredlibrary.test.CompilationSpecification; import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification; import com.android.tools.r8.graph.DexField; @@ -22,10 +22,7 @@ import com.android.tools.r8.utils.codeinspector.InstructionSubject; import com.google.common.collect.ImmutableList; import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -34,18 +31,6 @@ @RunWith(Parameterized.class) public class MultiDexTest extends DesugaredLibraryTestBase { - private static final String[] JAR_NAMES = - new String[] { - "multidex-1.0.3.jar", - "multidex-instrumentation-1.0.3.jar", - "multidex-2.0.1.jar", - "multidex-instrumentation-2.0.0.jar" - }; - private static final List<Path> MULTIDEX_JARS = - Arrays.stream(JAR_NAMES) - .map(jar -> Paths.get(ToolHelper.THIRD_PARTY_DIR + "multidex/" + jar)) - .collect(Collectors.toList()); - private final TestParameters parameters; private final CompilationSpecification compilationSpecification; private final LibraryDesugaringSpecification libraryDesugaringSpecification; @@ -57,7 +42,11 @@ getTestParameters().withDexRuntimes().withAllApiLevels().build(), ImmutableList.of(JDK8, JDK11, JDK11_PATH), ImmutableList.of(D8_L8DEBUG), - MULTIDEX_JARS); + ImmutableList.of( + TestDeps.getMultidex1_0_3Jar(), + TestDeps.getMultidexInstrumentation1_0_3Jar(), + TestDeps.getMultidex2_0_1Jar(), + TestDeps.getMultidexInstrumentation2_0_0Jar())); } public MultiDexTest(
diff --git a/src/test/java8/retrace/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java b/src/test/java8/retrace/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java index ccee173..580bd29 100644 --- a/src/test/java8/retrace/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java +++ b/src/test/java8/retrace/com/android/tools/r8/retrace/api/RetraceApiTestCollection.java
@@ -4,20 +4,17 @@ package com.android.tools.r8.retrace.api; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.ToolHelper; import com.android.tools.r8.compilerapi.BinaryCompatibilityTestCollection; import com.google.common.collect.ImmutableList; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import org.junit.rules.TemporaryFolder; public class RetraceApiTestCollection extends BinaryCompatibilityTestCollection<RetraceApiBinaryTest> { - private static final Path BINARY_COMPATIBILITY_JAR = - Paths.get(ToolHelper.THIRD_PARTY_DIR, "retrace", "binary_compatibility", "tests.jar"); - public static List<Class<? extends RetraceApiBinaryTest>> CLASSES_FOR_BINARY_COMPATIBILITY = ImmutableList.of( RetraceApiEmptyTest.RetraceTest.class, @@ -68,7 +65,7 @@ @Override public Path getCheckedInTestJar() { - return BINARY_COMPATIBILITY_JAR; + return TestDeps.getRetraceBinaryCompatibilityJar(); } @Override
diff --git a/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionAndJoinIdentityTest.java b/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionAndJoinIdentityTest.java index e8c953e..d75903d 100644 --- a/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionAndJoinIdentityTest.java +++ b/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionAndJoinIdentityTest.java
@@ -7,10 +7,10 @@ import static org.junit.Assert.assertNotNull; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestDiagnosticMessagesImpl; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestParametersCollection; -import com.android.tools.r8.ToolHelper; import com.android.tools.r8.retrace.MappingPartitionMetadata; import com.android.tools.r8.retrace.PartitionMappingSupplier; import com.android.tools.r8.retrace.PartitionedToProguardMappingConverter; @@ -43,8 +43,7 @@ @Test public void testPartitionAndJoin() throws Exception { Path mappingFile = - ToolHelper.RETRACE_MAPS_DIR.resolve( - "ad5c3e88ef2bae5ef324eb225fbc57345cd57863-r8lib.jar.map"); + TestDeps.getR8MappingsPath("ad5c3e88ef2bae5ef324eb225fbc57345cd57863-r8lib.jar.map"); ProguardMapProducer proguardMapProducer = ProguardMapProducer.fromPath(mappingFile); TestDiagnosticMessagesImpl diagnosticsHandler = new TestDiagnosticMessagesImpl(); Map<String, byte[]> partitions = new HashMap<>();
diff --git a/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionFormatsTest.java b/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionFormatsTest.java index f0a7412..6ee0a7b 100644 --- a/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionFormatsTest.java +++ b/src/test/java8/retrace/com/android/tools/r8/retrace/partition/RetracePartitionFormatsTest.java
@@ -10,6 +10,7 @@ import static org.junit.Assert.assertEquals; import com.android.tools.r8.TestBase; +import com.android.tools.r8.TestDeps; import com.android.tools.r8.TestParameters; import com.android.tools.r8.TestRuntime.CfRuntime; import com.android.tools.r8.ToolHelper; @@ -23,7 +24,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.time.LocalDate; import java.util.List; import java.util.function.Consumer; @@ -50,10 +50,6 @@ this.directory = directory; } - private static Path getPartitionDataRoot() { - return Paths.get(ToolHelper.THIRD_PARTY_DIR, "retrace", "partition_formats"); - } - private static Path getRetracedStacktracePath(Path directory) { return directory.resolve("retraced-stacktrace.txt"); } @@ -67,7 +63,7 @@ } private Path getDirectoryPath() { - return getPartitionDataRoot().resolve(directory); + return TestDeps.getRetracePartitionFormatsDir().resolve(directory); } @Test @@ -113,7 +109,7 @@ LocalDate now = LocalDate.now(); String datePrefix = "" + now.getYear() + now.getMonthValue() + now.getDayOfMonth(); - Path directory = getPartitionDataRoot().resolve(datePrefix); + Path directory = TestDeps.getRetracePartitionFormatsDir().resolve(datePrefix); Path mapping = getPartitionedMapPath(directory); Path rawStacktrace = getRawStacktracePath(directory); Path retracedStacktrace = getRetracedStacktracePath(directory); @@ -147,7 +143,7 @@ System.out.println("Remember to upload changes to cloud storage:"); System.out.println( "(cd " - + getPartitionDataRoot().getParent() + + TestDeps.getRetracePartitionFormatsDir().getParent() + "; upload_to_google_storage.py -a --bucket r8-deps partition_formats)"); System.out.println("=========================="); }
diff --git a/src/test/java8/retrace/com/android/tools/r8/retrace/stacktraces/ActualBotStackTraceBase.java b/src/test/java8/retrace/com/android/tools/r8/retrace/stacktraces/ActualBotStackTraceBase.java index b1b8e8b..30ac439 100644 --- a/src/test/java8/retrace/com/android/tools/r8/retrace/stacktraces/ActualBotStackTraceBase.java +++ b/src/test/java8/retrace/com/android/tools/r8/retrace/stacktraces/ActualBotStackTraceBase.java
@@ -4,7 +4,7 @@ package com.android.tools.r8.retrace.stacktraces; -import com.android.tools.r8.ToolHelper; +import com.android.tools.r8.TestDeps; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; @@ -12,7 +12,7 @@ public abstract class ActualBotStackTraceBase implements StackTraceForTest { public String r8MappingFromGitSha(String sha) { - Path resolve = ToolHelper.RETRACE_MAPS_DIR.resolve(sha + "-r8lib.jar.map"); + Path resolve = TestDeps.getR8MappingsPath(sha + "-r8lib.jar.map"); try { return new String(Files.readAllBytes(resolve)); } catch (IOException e) {
diff --git a/src/test/testbase/java/com/android/tools/r8/TestDeps.java b/src/test/testbase/java/com/android/tools/r8/TestDeps.java index 4375e58..14a7a9d 100644 --- a/src/test/testbase/java/com/android/tools/r8/TestDeps.java +++ b/src/test/testbase/java/com/android/tools/r8/TestDeps.java
@@ -40,17 +40,31 @@ static { // This list is serves as a list of required properties to match in Gradle. dependencies = new HashMap<>(); + dependencies.put("BUNDLETOOL", null); dependencies.put("CORE_LAMBDA_STUBS", null); dependencies.put("DEPENDENCIES", null); dependencies.put("GSON", null); dependencies.put("GUAVA_JRE", null); + dependencies.put("JACOCO", null); dependencies.put("JDWP_TESTS", null); + dependencies.put("JSR223", null); + dependencies.put("MULTIDEX", null); + dependencies.put("PROCESS_KEEP_RULES_BINARY_COMPATIBILITY", null); + dependencies.put("R8_MAPPINGS", null); + dependencies.put("RETRACE_BINARY_COMPATIBILITY", null); + dependencies.put("RETRACE_PARTITION_FORMATS", null); + dependencies.put("RHINO", null); + dependencies.put("RHINO_ANDROID", null); } private static Path getDependency(String key) { return dependencies.computeIfAbsent(key, TestDeps::getTestDependency); } + public static Path getBundleToolJar() { + return getDependencyPath("BUNDLETOOL", "bundletool-all-1.11.0.jar"); + } + public static Path getCoreLambdaStubsJar() { return getDependencyPath("CORE_LAMBDA_STUBS", "core-lambda-stubs.jar"); } @@ -67,6 +81,62 @@ return getDependencyPath("GUAVA_JRE", "guava-32.1.2-jre.jar"); } + public static Path getJacocoAgentJar() { + return getDependencyPath("JACOCO", "lib", "jacocoagent.jar"); + } + + public static Path getJacocoCliJar() { + return getDependencyPath("JACOCO", "lib", "jacococli.jar"); + } + + public static Path getJsr223RiJar() { + return getDependencyPath("JSR223", "jsr223-api-1.0.jar"); + } + + public static Path getMultidex1_0_3Jar() { + return getDependencyPath("MULTIDEX", "multidex-1.0.3.jar"); + } + + public static Path getMultidexInstrumentation1_0_3Jar() { + return getDependencyPath("MULTIDEX", "multidex-instrumentation-1.0.3.jar"); + } + + public static Path getMultidex2_0_1Jar() { + return getDependencyPath("MULTIDEX", "multidex-2.0.1.jar"); + } + + public static Path getMultidexInstrumentation2_0_0Jar() { + return getDependencyPath("MULTIDEX", "multidex-instrumentation-2.0.0.jar"); + } + + public static Path getProcessKeepRulesBinaryCompatibilityJar() { + return getDependencyPath("PROCESS_KEEP_RULES_BINARY_COMPATIBILITY", "tests.jar"); + } + + public static Path getR8MappingsDir() { + return getDependency("R8_MAPPINGS"); + } + + public static Path getR8MappingsPath(String... path) { + return getDependencyPath("R8_MAPPINGS", path); + } + + public static Path getRetraceBinaryCompatibilityJar() { + return getDependencyPath("RETRACE_BINARY_COMPATIBILITY", "tests.jar"); + } + + public static Path getRetracePartitionFormatsDir() { + return getDependency("RETRACE_PARTITION_FORMATS"); + } + + public static Path getRhinoJar() { + return getDependencyPath("RHINO", "rhino-1.7.10.jar"); + } + + public static Path getRhinoAndroidJar() { + return getDependencyPath("RHINO_ANDROID", "rhino-android-1.1.1.jar"); + } + public static Path getJunitJar() { return getDependencyPath("DEPENDENCIES", "junit", "junit", "4.13.2", "junit-4.13.2.jar"); }
diff --git a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java index 447fa5e..98d70f4 100644 --- a/src/test/testbase/java/com/android/tools/r8/ToolHelper.java +++ b/src/test/testbase/java/com/android/tools/r8/ToolHelper.java
@@ -233,10 +233,6 @@ public static final String CORE_LAMBDA_STUBS = THIRD_PARTY_DIR + "core-lambda-stubs/core-lambda-stubs.jar"; - public static final String JSR223_RI_JAR = THIRD_PARTY_DIR + "jsr223-api-1.0/jsr223-api-1.0.jar"; - public static final String RHINO_ANDROID_JAR = - THIRD_PARTY_DIR + "rhino-android-1.1.1/rhino-android-1.1.1.jar"; - public static final String RHINO_JAR = THIRD_PARTY_DIR + "rhino-1.7.10/rhino-1.7.10.jar"; public static final String K2JVMCompiler = "org.jetbrains.kotlin.cli.jvm.K2JVMCompiler"; private static final String ANDROID_JAR_PATTERN = THIRD_PARTY_DIR + "android_jar/lib-v%s/android.jar"; @@ -250,14 +246,9 @@ public static final String JDK_11_TESTS_DIR = OPEN_JDK_DIR + "jdk-11-test/"; public static final String JDK_11_TIME_TESTS_DIR = JDK_11_TESTS_DIR + "java/time/"; - public static final Path JACOCO_ROOT = Paths.get(THIRD_PARTY_DIR, "jacoco", "0.8.6"); - public static final Path JACOCO_AGENT = JACOCO_ROOT.resolve(Paths.get("lib", "jacocoagent.jar")); - public static final Path JACOCO_CLI = JACOCO_ROOT.resolve(Paths.get("lib", "jacococli.jar")); public static final String PROGUARD_SETTINGS_FOR_INTERNAL_APPS = THIRD_PARTY_DIR + "proguardsettings/"; - public static final Path RETRACE_MAPS_DIR = Paths.get(THIRD_PARTY_DIR, "r8mappings"); - // TODO(b/270105162): These should be removed when finished transitioning. public static final Path R8_WITH_RELOCATED_DEPS_17_JAR = Paths.get(LIBS_DIR, "r8_with_relocated_deps_17.jar"); @@ -2282,7 +2273,7 @@ List<String> cmdline = new ArrayList<>(); cmdline.add(TestRuntime.getSystemRuntime().asCf().getJavaExecutable().toString()); cmdline.add("-jar"); - cmdline.add(ToolHelper.JACOCO_CLI.toString()); + cmdline.add(TestDeps.getJacocoCliJar().toString()); cmdline.add("instrument"); cmdline.add(sourceClassFiles.toString()); cmdline.add("--dest"); @@ -2296,7 +2287,7 @@ List<String> cmdline = new ArrayList<>(); cmdline.add(TestRuntime.getSystemRuntime().asCf().getJavaExecutable().toString()); cmdline.add("-jar"); - cmdline.add(ToolHelper.JACOCO_CLI.toString()); + cmdline.add(TestDeps.getJacocoCliJar().toString()); cmdline.add("report"); cmdline.add(jacocoExec.toString()); cmdline.add("--classfiles");