| // Copyright (c) 2024, the R8 project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| import org.gradle.api.JavaVersion | |
| plugins { | |
| `kotlin-dsl` | |
| `java-library` | |
| id("dependencies-plugin") | |
| } | |
| val root = getRoot() | |
| java { | |
| sourceSets.test.configure { | |
| java.srcDir(root.resolveAll("src", "test", "java25")) | |
| } | |
| sourceCompatibility = JavaVersion.VERSION_25 | |
| targetCompatibility = JavaVersion.VERSION_25 | |
| } | |
| val testbaseJavaCompileTask = projectTask("testbase", "compileJava") | |
| val testbaseDepsJarTask = projectTask("testbase", "depsJar") | |
| val mainTurboCompileTask = projectTask("main", "compileTurboJava") | |
| val mainCompileTask = projectTask("main", "compileJava") | |
| dependencies { | |
| implementation(files(testbaseDepsJarTask.outputs.files.getSingleFile())) | |
| implementation(testbaseJavaCompileTask.outputs.files) | |
| implementation(mainTurboCompileTask.outputs.files) | |
| implementation(mainCompileTask.outputs.files) | |
| implementation(projectTask("main", "processResources").outputs.files) | |
| } | |
| tasks { | |
| withType<JavaCompile> { | |
| dependsOn(gradle.includedBuild("shared").task(":downloadDeps")) | |
| options.setFork(true) | |
| options.forkOptions.memoryMaximumSize = "3g" | |
| options.forkOptions.executable = getCompilerPath(Jdk.JDK_25) | |
| } | |
| withType<Test> { | |
| notCompatibleWithConfigurationCache( | |
| "Failure storing the configuration cache: cannot serialize object of type 'org.gradle.api.internal.project.DefaultProject', a subtype of 'org.gradle.api.Project', as these are not supported with the configuration cache") | |
| TestingState.setUpTestingState(this) | |
| javaLauncher = getJavaLauncher(Jdk.JDK_25) | |
| systemProperty("TEST_DATA_LOCATION", | |
| layout.buildDirectory.dir("classes/java/test").get().toString()) | |
| systemProperty("TESTBASE_DATA_LOCATION", | |
| testbaseJavaCompileTask.outputs.files.getAsPath().split(File.pathSeparator)[0]) | |
| } | |
| } | |