blob: 5f4430a60ff8c89c3cbba4fb5f9a3d569e3a2149 [file] [edit]
plugins {
id("gradlebuild.distribution.api-java")
}
description = "Source for JavaCompile, JavaExec and Javadoc tasks, it also contains logic for incremental Java compilation"
dependencies {
implementation(project(":base-services"))
implementation(project(":enterprise-operations"))
implementation(project(":messaging"))
implementation(project(":logging"))
implementation(project(":process-services"))
implementation(project(":worker-processes"))
implementation(project(":files"))
implementation(project(":file-collections"))
implementation(project(":file-temp"))
implementation(project(":persistent-cache"))
implementation(project(":jvm-services"))
implementation(project(":core-api"))
implementation(project(":model-core"))
implementation(project(":core"))
implementation(project(":workers"))
implementation(project(":snapshots"))
implementation(project(":execution"))
implementation(project(":dependency-management"))
implementation(project(":platform-base"))
implementation(project(":platform-jvm"))
implementation(project(":language-jvm"))
implementation(project(":build-events"))
implementation(project(":tooling-api"))
implementation(libs.groovy)
implementation(libs.slf4jApi)
implementation(libs.guava)
implementation(libs.commonsLang)
implementation(libs.fastutil)
implementation(libs.ant)
implementation(libs.commonsCompress)
implementation(libs.asm)
implementation(libs.asmCommons)
implementation(libs.inject)
runtimeOnly(project(":java-compiler-plugin"))
testImplementation(project(":base-services-groovy"))
testImplementation(libs.commonsIo)
testImplementation(testFixtures(project(":core")))
testImplementation(testFixtures(project(":platform-base")))
testFixturesApi(testFixtures(project(":language-jvm")))
testFixturesImplementation(project(":base-services"))
testFixturesImplementation(project(":enterprise-operations"))
testFixturesImplementation(project(":core"))
testFixturesImplementation(project(":core-api"))
testFixturesImplementation(project(":model-core"))
testFixturesImplementation(project(":internal-integ-testing"))
testFixturesImplementation(project(":platform-base"))
testFixturesImplementation(project(":persistent-cache"))
testFixturesImplementation(libs.slf4jApi)
testRuntimeOnly(project(":distributions-core")) {
because("ProjectBuilder test (JavaLanguagePluginTest) loads services from a Gradle distribution.")
}
// TODO: Make these available for all integration tests? Maybe all tests?
integTestImplementation(libs.jetbrainsAnnotations)
integTestDistributionRuntimeOnly(project(":distributions-core"))
crossVersionTestDistributionRuntimeOnly(project(":distributions-basics"))
}
tasks.withType<Test>().configureEach {
if (!javaVersion.isJava9Compatible) {
classpath += javaLauncher.get().metadata.installationPath.files("lib/tools.jar")
}
}
tasks.withType<JavaCompile>().configureEach {
options.release = null
sourceCompatibility = "8"
targetCompatibility = "8"
}
strictCompile {
ignoreDeprecations() // this project currently uses many deprecated part from 'platform-jvm'
}
packageCycles {
// These public packages have classes that are tangled with the corresponding internal package.
excludePatterns.add("org/gradle/api/tasks/**")
excludePatterns.add("org/gradle/external/javadoc/**")
}
integTest.usesJavadocCodeSnippets = true
// Remove as part of fixing https://github.com/gradle/configuration-cache/issues/585
tasks.configCacheIntegTest {
systemProperties["org.gradle.configuration-cache.internal.test-disable-load-after-store"] = "true"
}