Misc changes to test to support new gradle setup
Bug: b/270105162
Bug: b/289365156
Bug: b/289363570
Change-Id: I77a24a67bafd3970d0e20676955d8fb4210dd029
diff --git a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
index 97647e9..c1107e6 100644
--- a/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
+++ b/d8_r8/commonBuildSrc/src/main/kotlin/DependenciesPlugin.kt
@@ -319,6 +319,10 @@
"third_party",
"binary_compatibility_tests",
"compiler_api_tests.tar.gz.sha1").toFile())
+ val dagger = ThirdPartyDependency(
+ "dagger",
+ Paths.get("third_party", "dagger", "2.41", "dagger-2.41.jar").toFile(),
+ Paths.get("third_party", "dagger", "2.41.tar.gz.sha1").toFile())
val ddmLib = ThirdPartyDependency(
"ddmlib",
Paths.get("third_party", "ddmlib", "ddmlib.jar").toFile(),
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 3008c9c..669b394 100644
--- a/d8_r8/test_modules/tests_java_8/build.gradle.kts
+++ b/d8_r8/test_modules/tests_java_8/build.gradle.kts
@@ -57,6 +57,7 @@
"runtimeDeps",
listOf(
ThirdPartyDeps.compilerApi,
+ ThirdPartyDeps.dagger,
ThirdPartyDeps.jacoco,
ThirdPartyDeps.java8Runtime,
ThirdPartyDeps.jdk11Test)
diff --git a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/AbstractGenerateFiles.java b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/AbstractGenerateFiles.java
index e5ad61c..f1092d4 100644
--- a/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/AbstractGenerateFiles.java
+++ b/src/main/java/com/android/tools/r8/ir/desugar/desugaredlibrary/lint/AbstractGenerateFiles.java
@@ -99,6 +99,7 @@
abstract AndroidApiLevel run() throws Exception;
+ // TODO(b/289365156): Move this out.
private static String getFallBackAndroidJarPath(AndroidApiLevel apiLevel) {
String jar =
apiLevel == AndroidApiLevel.MASTER
diff --git a/src/test/java/com/android/tools/r8/D8CommandTest.java b/src/test/java/com/android/tools/r8/D8CommandTest.java
index a81451f..842b6a8 100644
--- a/src/test/java/com/android/tools/r8/D8CommandTest.java
+++ b/src/test/java/com/android/tools/r8/D8CommandTest.java
@@ -19,21 +19,17 @@
import com.android.tools.r8.AssertionsConfiguration.AssertionTransformationScope;
import com.android.tools.r8.D8CommandParser.OrderedClassFileResourceProvider;
import com.android.tools.r8.ToolHelper.ProcessResult;
+import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
import com.android.tools.r8.dex.Marker;
import com.android.tools.r8.dex.Marker.Tool;
import com.android.tools.r8.origin.EmbeddedOrigin;
import com.android.tools.r8.origin.Origin;
-import com.android.tools.r8.profile.startup.profile.StartupProfile;
-import com.android.tools.r8.profile.startup.profile.StartupProfileRule;
import com.android.tools.r8.references.Reference;
-import com.android.tools.r8.startup.StartupProfileProvider;
-import com.android.tools.r8.startup.diagnostic.MissingStartupProfileItemsDiagnostic;
import com.android.tools.r8.utils.AndroidApiLevel;
import com.android.tools.r8.utils.AndroidApp;
import com.android.tools.r8.utils.ExtractMarkerUtils;
import com.android.tools.r8.utils.FileUtils;
import com.android.tools.r8.utils.InternalOptions;
-import com.android.tools.r8.utils.ListUtils;
import com.android.tools.r8.utils.ThreadUtils;
import com.android.tools.r8.utils.ZipUtils;
import com.google.common.collect.ImmutableList;
@@ -699,7 +695,7 @@
D8Command d8Command =
parse(
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--lib",
ToolHelper.getAndroidJar(AndroidApiLevel.R).toString());
InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(d8Command, false);
@@ -712,7 +708,7 @@
D8Command d8Command =
parse(
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--lib",
ToolHelper.getAndroidJar(AndroidApiLevel.R).toString(),
"--desugared-lib-pg-conf-output",
@@ -728,7 +724,7 @@
parse(
diagnostics,
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--desugared-lib-pg-conf-output");
fail("Expected parse error");
} catch (CompilationFailedException e) {
diff --git a/src/test/java/com/android/tools/r8/R8CommandTest.java b/src/test/java/com/android/tools/r8/R8CommandTest.java
index a98ad79..d22f197 100644
--- a/src/test/java/com/android/tools/r8/R8CommandTest.java
+++ b/src/test/java/com/android/tools/r8/R8CommandTest.java
@@ -17,6 +17,7 @@
import com.android.tools.r8.AssertionsConfiguration.AssertionTransformationScope;
import com.android.tools.r8.ProgramResource.Kind;
import com.android.tools.r8.ToolHelper.ProcessResult;
+import com.android.tools.r8.desugar.desugaredlibrary.test.LibraryDesugaringSpecification;
import com.android.tools.r8.dex.Marker;
import com.android.tools.r8.dex.Marker.Tool;
import com.android.tools.r8.origin.EmbeddedOrigin;
@@ -860,7 +861,7 @@
R8Command r8Command =
parse(
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--lib",
ToolHelper.getAndroidJar(AndroidApiLevel.R).toString());
InternalOptions options = getOptionsWithLoadedDesugaredLibraryConfiguration(r8Command, false);
@@ -873,7 +874,7 @@
R8Command r8Command =
parse(
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--lib",
ToolHelper.getAndroidJar(AndroidApiLevel.R).toString(),
"--desugared-lib-pg-conf-output",
@@ -889,7 +890,7 @@
parse(
diagnostics,
"--desugared-lib",
- "src/library_desugar/desugar_jdk_libs.json",
+ LibraryDesugaringSpecification.JDK11.getSpecification().toString(),
"--desugared-lib-pg-conf-output");
fail("Expected parse error");
} catch (CompilationFailedException e) {
diff --git a/src/test/java/com/android/tools/r8/ToolHelper.java b/src/test/java/com/android/tools/r8/ToolHelper.java
index 45c6a95..1151357 100644
--- a/src/test/java/com/android/tools/r8/ToolHelper.java
+++ b/src/test/java/com/android/tools/r8/ToolHelper.java
@@ -111,9 +111,8 @@
return Paths.get(current).getParent().toString() + "/";
}
- public static final String SOURCE_DIR = "src/main/java/";
+ public static final String SOURCE_DIR = getProjectRoot() + "src/main/java/";
public static final String LIBRARY_DESUGAR_SOURCE_DIR = getProjectRoot() + "src/library_desugar/";
- public static final String RESOURCES_DIR = "src/main/resources/";
public static final String BUILD_DIR = getProjectRoot() + "build/";
public static final String TEST_MODULE_DIR = getProjectRoot() + "d8_r8/test_modules/";
public static final String GENERATED_TEST_BUILD_DIR = BUILD_DIR + "generated/test/";
diff --git a/src/test/java/com/android/tools/r8/benchmarks/BenchmarkDependency.java b/src/test/java/com/android/tools/r8/benchmarks/BenchmarkDependency.java
index 26e9029..ceb6152 100644
--- a/src/test/java/com/android/tools/r8/benchmarks/BenchmarkDependency.java
+++ b/src/test/java/com/android/tools/r8/benchmarks/BenchmarkDependency.java
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
package com.android.tools.r8.benchmarks;
+import com.android.tools.r8.ToolHelper;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Locale;
@@ -11,12 +12,12 @@
public static BenchmarkDependency getRuntimeJarJava8() {
return new BenchmarkDependency(
- "java8rtjar", "openjdk-rt-1.8", Paths.get("third_party", "openjdk"));
+ "java8rtjar", "openjdk-rt-1.8", Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk"));
}
public static BenchmarkDependency getAndroidJar30() {
return new BenchmarkDependency(
- "android30jar", "lib-v30", Paths.get("third_party", "android_jar"));
+ "android30jar", "lib-v30", Paths.get(ToolHelper.THIRD_PARTY_DIR, "android_jar"));
}
// Nice name of the dependency. Must be a valid dart identifier.
diff --git a/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/LegacyDesugaredLibraryBenchmark.java b/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/LegacyDesugaredLibraryBenchmark.java
index a047c5a..0e86477 100644
--- a/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/LegacyDesugaredLibraryBenchmark.java
+++ b/src/test/java/com/android/tools/r8/benchmarks/desugaredlib/LegacyDesugaredLibraryBenchmark.java
@@ -5,6 +5,7 @@
import com.android.tools.r8.StringResource;
import com.android.tools.r8.TestParameters;
+import com.android.tools.r8.ToolHelper;
import com.android.tools.r8.benchmarks.BenchmarkBase;
import com.android.tools.r8.benchmarks.BenchmarkConfig;
import com.android.tools.r8.benchmarks.BenchmarkDependency;
@@ -26,7 +27,9 @@
private static final BenchmarkDependency androidJar = BenchmarkDependency.getAndroidJar30();
private static final BenchmarkDependency legacyConf =
new BenchmarkDependency(
- "legacyConf", "desugar_jdk_libs_legacy", Paths.get("third_party", "openjdk"));
+ "legacyConf",
+ "desugar_jdk_libs_legacy",
+ Paths.get(ToolHelper.THIRD_PARTY_DIR, "openjdk"));
public LegacyDesugaredLibraryBenchmark(BenchmarkConfig config, TestParameters parameters) {
super(config, parameters);
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/GuavaMultiSetSpliteratorTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/GuavaMultiSetSpliteratorTest.java
index 5e75ab4..a8fd859 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/GuavaMultiSetSpliteratorTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/GuavaMultiSetSpliteratorTest.java
@@ -63,6 +63,7 @@
Assume.assumeTrue(parameters.getApiLevel().isGreaterThanOrEqualTo(AndroidApiLevel.L));
}
testForDesugaredLibrary(parameters, libraryDesugaringSpecification, compilationSpecification)
+ // TODO(b/289363570): Guava should not rely on dagger.
.addProgramFiles(DaggerUtils.getGuavaFromDagger())
.addInnerClasses(getClass())
.addOptionsModification(opt -> opt.ignoreMissingClasses = true)
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LintFilesTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LintFilesTest.java
index 202d752..ce9ae53 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LintFilesTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/LintFilesTest.java
@@ -41,7 +41,8 @@
@RunWith(Parameterized.class)
public class LintFilesTest extends DesugaredLibraryTestBase {
- private static final String ANDROID_JAR_34 = "third_party/android_jar/lib-v34/android.jar";
+ private static final String ANDROID_JAR_34 =
+ ToolHelper.THIRD_PARTY_DIR + "android_jar/lib-v34/android.jar";
private final LibraryDesugaringSpecification libraryDesugaringSpecification;
@@ -170,7 +171,12 @@
new String[] {
libraryDesugaringSpecification.getSpecification().toString(),
jdkLibJar.toString(),
- directory.toString()
+ directory.toString(),
+ // TODO(b/289365156): Should probably not be hardcoded on U.
+ ToolHelper.THIRD_PARTY_DIR
+ + "android_jar/lib-v"
+ + AndroidApiLevel.U.getLevel()
+ + "/android.jar"
});
InternalOptions options = new InternalOptions(new DexItemFactory(), new Reporter());
DesugaredLibrarySpecification desugaredLibrarySpecification =
@@ -213,7 +219,12 @@
"--generate-api-docs",
libraryDesugaringSpecification.getSpecification().toString(),
jdkLibJar.toString(),
- directory2.toString()
+ directory2.toString(),
+ // TODO(b/289365156): Should probably not be hardcoded on U.
+ ToolHelper.THIRD_PARTY_DIR
+ + "android_jar/lib-v"
+ + AndroidApiLevel.U.getLevel()
+ + "/android.jar"
});
List<String> html = Files.readAllLines(directory2.resolve("apis.html"));
// The doc has the same content than the lint data that is tested above, this is just a sanity
diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonDesugaredLibraryTestUtils.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonDesugaredLibraryTestUtils.java
index b07f7b9..655e117 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonDesugaredLibraryTestUtils.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/GsonDesugaredLibraryTestUtils.java
@@ -4,6 +4,7 @@
package com.android.tools.r8.desugar.desugaredlibrary.gson;
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 java.io.IOException;
@@ -14,8 +15,12 @@
public abstract class GsonDesugaredLibraryTestUtils {
static final Path GSON_CONFIGURATION =
- Paths.get("src/test/java/com/android/tools/r8/desugar/desugaredlibrary/gson/gson.cfg");
- static final Path GSON_2_8_1_JAR = Paths.get("third_party/iosched_2019/gson-2.8.1.jar");
+ ToolHelper.getSourceFileForTestClass(GsonDesugaredLibraryTestUtils.class)
+ .getParent()
+ .resolve("gson.cfg");
+ // TODO(b/289363570): GSON should not rely on Iosched.
+ static final Path GSON_2_8_1_JAR =
+ Paths.get(ToolHelper.THIRD_PARTY_DIR, "iosched_2019/gson-2.8.1.jar");
static String uniqueName(
TemporaryFolder temp,
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 80fad3d..685c0e7 100644
--- a/src/test/java/com/android/tools/r8/utils/DaggerUtils.java
+++ b/src/test/java/com/android/tools/r8/utils/DaggerUtils.java
@@ -8,6 +8,7 @@
import com.android.tools.r8.TestBase;
import com.android.tools.r8.TestRuntime;
import com.android.tools.r8.TestRuntime.CfRuntime;
+import com.android.tools.r8.ToolHelper;
import com.google.common.collect.ImmutableList;
import com.google.common.io.ByteStreams;
import java.nio.file.Path;
@@ -20,7 +21,7 @@
public class DaggerUtils {
- private static final Path DAGGER_ROOT = Paths.get("third_party", "dagger", "2.41");
+ private static final Path DAGGER_ROOT = Paths.get(ToolHelper.THIRD_PARTY_DIR, "dagger", "2.41");
private static final String GUAVA = "guava-31.0.1-jre.jar";
private static final List<Path> DAGGER_COMPILER =