From c1e1dbd83e1917d51e6c02f8994f35e310d6023c Mon Sep 17 00:00:00 2001 From: Vyacheslav Gerasimov Date: Tue, 24 Sep 2019 15:34:20 +0300 Subject: [PATCH] Build: Fix usages of "java.home" for tools.jar dependency #KT-33984 --- buildSrc/src/main/kotlin/dependencies.kt | 5 ++++- compiler/build.gradle.kts | 4 ++-- compiler/cli/build.gradle.kts | 2 +- idea-runner/build.gradle.kts | 2 +- idea/jvm-debugger/eval4j/build.gradle.kts | 2 +- idea/jvm-debugger/jvm-debugger-core/build.gradle.kts | 2 +- idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts | 2 +- idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts | 2 +- idea/jvm-debugger/jvm-debugger-util/build.gradle.kts | 2 +- js/js.tests/build.gradle.kts | 2 +- libraries/tools/kotlin-main-kts/build.gradle.kts | 2 +- plugins/kapt3/kapt3-base/build.gradle.kts | 2 +- prepare/compiler/build.gradle.kts | 2 +- 13 files changed, 17 insertions(+), 14 deletions(-) diff --git a/buildSrc/src/main/kotlin/dependencies.kt b/buildSrc/src/main/kotlin/dependencies.kt index 3745ac5adbf..7e3422d075c 100644 --- a/buildSrc/src/main/kotlin/dependencies.kt +++ b/buildSrc/src/main/kotlin/dependencies.kt @@ -8,6 +8,7 @@ import org.gradle.api.Project import org.gradle.api.artifacts.ProjectDependency import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.file.ConfigurableFileCollection +import org.gradle.api.file.FileCollection import org.gradle.api.tasks.AbstractCopyTask import org.gradle.kotlin.dsl.extra import org.gradle.kotlin.dsl.project @@ -128,7 +129,9 @@ fun Project.firstFromJavaHomeThatExists(vararg paths: String, jdkHome: File = Fi logger.warn("Cannot find file by paths: ${paths.toList()} in $jdkHome") } -fun Project.toolsJar(jdkHome: File = File(this.property("JDK_18") as String)): File? = +fun Project.toolsJar(): FileCollection = files(toolsJarFile() ?: error("tools.jar is not found!")) + +fun Project.toolsJarFile(jdkHome: File = File(this.property("JDK_18") as String)): File? = firstFromJavaHomeThatExists("lib/tools.jar", jdkHome = jdkHome) val compilerManifestClassPath diff --git a/compiler/build.gradle.kts b/compiler/build.gradle.kts index 991b72de8da..2d9408c4c60 100644 --- a/compiler/build.gradle.kts +++ b/compiler/build.gradle.kts @@ -85,10 +85,10 @@ dependencies { } testRuntime(androidDxJar()) - testRuntime(files(toolsJar())) + testRuntime(toolsJar()) antLauncherJar(commonDep("org.apache.ant", "ant")) - antLauncherJar(files(toolsJar())) + antLauncherJar(toolsJar()) } sourceSets { diff --git a/compiler/cli/build.gradle.kts b/compiler/cli/build.gradle.kts index de66d35fbe0..fd5f396196f 100644 --- a/compiler/cli/build.gradle.kts +++ b/compiler/cli/build.gradle.kts @@ -24,7 +24,7 @@ dependencies { compile(project(":compiler:fir:resolve")) compile(project(":compiler:fir:java")) compile(project(":compiler:fir:fir2ir")) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijDep()) { includeIntellijCoreJarDependencies(project) } diff --git a/idea-runner/build.gradle.kts b/idea-runner/build.gradle.kts index 580719e02af..9c4b8c4d6a9 100644 --- a/idea-runner/build.gradle.kts +++ b/idea-runner/build.gradle.kts @@ -12,7 +12,7 @@ dependencies { runtimeOnly(intellijDep()) runtimeOnly(intellijRuntimeAnnotations()) - runtimeOnly(files(toolsJar())) + runtimeOnly(toolsJar()) } val ideaPluginDir: File by rootProject.extra diff --git a/idea/jvm-debugger/eval4j/build.gradle.kts b/idea/jvm-debugger/eval4j/build.gradle.kts index 99af3d05efd..c11ccf19208 100644 --- a/idea/jvm-debugger/eval4j/build.gradle.kts +++ b/idea/jvm-debugger/eval4j/build.gradle.kts @@ -6,7 +6,7 @@ plugins { dependencies { compile(kotlinStdlib()) compile(project(":compiler:backend")) - compile(files(toolsJar())) + compile(toolsJar()) compileOnly(intellijCoreDep()) { includeJars("intellij-core", "asm-all", rootProject = rootProject) } testCompile(project(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) diff --git a/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts index f875ef63234..cf6d7e1e8f9 100644 --- a/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-core/build.gradle.kts @@ -10,7 +10,7 @@ dependencies { compile(project(":idea:idea-core")) compile(project(":idea:ide-common")) compile(project(":idea:jvm-debugger:jvm-debugger-util")) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) compileOnly(intellijDep()) diff --git a/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts index 1974039a934..b53ef6ebe7b 100644 --- a/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-evaluation/build.gradle.kts @@ -9,7 +9,7 @@ dependencies { compile(project(":idea:idea-core")) compile(project(":idea:idea-j2k")) compile(project(":idea:jvm-debugger:jvm-debugger-util")) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) Platform[192].orHigher { compileOnly(intellijPluginDep("java")) } diff --git a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts index 34450527e9e..b146b8079de 100644 --- a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts @@ -6,7 +6,7 @@ plugins { dependencies { compile(project(":compiler:backend")) compile(project(":idea:ide-common")) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) compileOnly(intellijDep()) Platform[192].orHigher { diff --git a/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts index cd05857c8a3..6aa41550415 100644 --- a/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-util/build.gradle.kts @@ -11,7 +11,7 @@ dependencies { // TODO: get rid of this compile(project(":idea:jvm-debugger:eval4j")) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) Platform[192].orHigher { compileOnly(intellijPluginDep("java")) diff --git a/js/js.tests/build.gradle.kts b/js/js.tests/build.gradle.kts index eddc439e12a..d6abf536c6d 100644 --- a/js/js.tests/build.gradle.kts +++ b/js/js.tests/build.gradle.kts @@ -60,7 +60,7 @@ dependencies { } antLauncherJar(commonDep("org.apache.ant", "ant")) - antLauncherJar(files(toolsJar())) + antLauncherJar(toolsJar()) } sourceSets { diff --git a/libraries/tools/kotlin-main-kts/build.gradle.kts b/libraries/tools/kotlin-main-kts/build.gradle.kts index f3df2d7f084..87840d146f2 100644 --- a/libraries/tools/kotlin-main-kts/build.gradle.kts +++ b/libraries/tools/kotlin-main-kts/build.gradle.kts @@ -31,7 +31,7 @@ dependencies { embedded(commonDep("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } proguardLibraryJars(files(firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"), firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"), - toolsJar())) + toolsJarFile())) proguardLibraryJars(kotlinStdlib()) proguardLibraryJars(project(":kotlin-reflect")) proguardLibraryJars(project(":kotlin-compiler")) diff --git a/plugins/kapt3/kapt3-base/build.gradle.kts b/plugins/kapt3/kapt3-base/build.gradle.kts index 033de653075..e33fcefa383 100644 --- a/plugins/kapt3/kapt3-base/build.gradle.kts +++ b/plugins/kapt3/kapt3-base/build.gradle.kts @@ -5,7 +5,7 @@ plugins { dependencies { compile(kotlinStdlib()) - compile(files("${System.getProperty("java.home")}/../lib/tools.jar")) + compile(toolsJar()) testCompile(commonDep("junit:junit")) } diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 65eb61c70fe..1ec6c82c94c 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -133,7 +133,7 @@ dependencies { files( firstFromJavaHomeThatExists("jre/lib/rt.jar", "../Classes/classes.jar"), firstFromJavaHomeThatExists("jre/lib/jsse.jar", "../Classes/jsse.jar"), - toolsJar() + toolsJarFile() ) )