From 4156a9c80b0699b0f7e35460018eba2eb20442b9 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Sat, 14 Mar 2020 22:34:33 +0100 Subject: [PATCH] Extract javac-wrapper into a separate module It was actually a separate module before the grand build refactoring in 61dfb75e0e. --- build.gradle.kts | 1 + compiler/cli/build.gradle.kts | 4 ++-- compiler/javac-wrapper/build.gradle.kts | 20 +++++++++++++++++++ .../jetbrains/kotlin/javac/JavacWrapper.kt | 11 ++++++---- settings.gradle | 1 + 5 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 compiler/javac-wrapper/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts index ff7e6cff0dc..63ca98a8b29 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -232,6 +232,7 @@ extra["compilerModules"] = arrayOf( ":compiler:backend", ":compiler:plugin-api", ":compiler:light-classes", + ":compiler:javac-wrapper", ":compiler:cli", ":compiler:cli-js", ":compiler:incremental-compilation-impl", diff --git a/compiler/cli/build.gradle.kts b/compiler/cli/build.gradle.kts index 359842b7d2e..250daeb5a35 100644 --- a/compiler/cli/build.gradle.kts +++ b/compiler/cli/build.gradle.kts @@ -15,6 +15,7 @@ dependencies { compile(project(":compiler:light-classes")) compile(project(":compiler:serialization")) compile(project(":compiler:plugin-api")) + compile(project(":compiler:javac-wrapper")) compile(project(":js:js.translator")) compile(project(":native:frontend.native")) compile(commonDep("org.fusesource.jansi", "jansi")) @@ -42,8 +43,7 @@ dependencies { sourceSets { "main" { projectDefault() - java.srcDirs("../builtins-serializer/src", - "../javac-wrapper/src") + java.srcDirs("../builtins-serializer/src") } "test" { } } diff --git a/compiler/javac-wrapper/build.gradle.kts b/compiler/javac-wrapper/build.gradle.kts new file mode 100644 index 00000000000..930a58a83e5 --- /dev/null +++ b/compiler/javac-wrapper/build.gradle.kts @@ -0,0 +1,20 @@ +plugins { + kotlin("jvm") + id("jps-compatible") +} + +dependencies { + compile(project(":compiler:util")) + compile(project(":compiler:frontend.java")) + + compileOnly(toolsJarApi()) + compileOnly(intellijCoreDep()) { includeJars("intellij-core") } + compileOnly(intellijDep()) { includeIntellijCoreJarDependencies(project) } +} + +sourceSets { + "main" { + projectDefault() + } + "test" { } +} diff --git a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt index da19df3a7e1..7bbcbbedac1 100644 --- a/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt +++ b/compiler/javac-wrapper/src/org/jetbrains/kotlin/javac/JavacWrapper.kt @@ -34,16 +34,19 @@ import com.sun.tools.javac.model.JavacElements import com.sun.tools.javac.model.JavacTypes import com.sun.tools.javac.tree.JCTree import com.sun.tools.javac.util.* -import org.jetbrains.kotlin.cli.jvm.compiler.JvmPackagePartProvider import org.jetbrains.kotlin.javac.resolve.ClassifierResolver import org.jetbrains.kotlin.javac.resolve.IdentifierResolver import org.jetbrains.kotlin.javac.resolve.KotlinClassifiersCache import org.jetbrains.kotlin.javac.resolve.classId import org.jetbrains.kotlin.javac.wrappers.symbols.* -import org.jetbrains.kotlin.javac.wrappers.trees.* +import org.jetbrains.kotlin.javac.wrappers.trees.TreeBasedClass +import org.jetbrains.kotlin.javac.wrappers.trees.TreeBasedPackage import org.jetbrains.kotlin.load.java.structure.* -import org.jetbrains.kotlin.name.* +import org.jetbrains.kotlin.load.kotlin.PackagePartProvider +import org.jetbrains.kotlin.name.ClassId +import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.isSubpackageOf import org.jetbrains.kotlin.psi.KtFile import java.io.Closeable import java.io.File @@ -62,7 +65,7 @@ class JavacWrapper( bootClasspath: List?, sourcePath: List?, val kotlinResolver: JavacWrapperKotlinResolver, - private val packagePartsProviders: List, + private val packagePartsProviders: List, private val compileJava: Boolean, private val outputDirectory: File?, private val context: Context diff --git a/settings.gradle b/settings.gradle index c07e416b78c..7cefcd2e2b9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -112,6 +112,7 @@ include ":kotlin-build-common", ":compiler:backend", ":compiler:plugin-api", ":compiler:light-classes", + ":compiler:javac-wrapper", ":compiler:cli", ":compiler:cli-js", ":compiler:cli-js-klib",