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 =