aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTing-Yuan Huang <laszio@google.com>2023-01-06 16:14:29 -0800
committerlaszio <ting-yuan@users.noreply.github.com>2023-01-07 00:22:17 -0800
commit22520a6eb64eed3d489cc4faeb697282257cdc74 (patch)
treece01fcb0125dc20a529a5acf2f3db76b4fa9fc71
parentb51373ac31c307afb68aca3d0d80acaa2f46d17a (diff)
downloadksp-22520a6eb64eed3d489cc4faeb697282257cdc74.tar.gz
Downgrade Kotlin from 1.8.20-dev-4608 to 1.8.0
Changes are 1. KotlinCompilationInfo isn't available in 1.8.0. Use KotlinCompilation/KotlinCompilationData instead. 2. Kotlin2JsCompilation.destinationDirectory is configured to disallow subsequent changes. Use outputFileProperty instead. 3. 1.8.0 still uses ownModuleName. 4. A minor package name change 5. Disabled kotlin-analysis-api
-rw-r--r--compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt2
-rw-r--r--gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KotlinFactories.kt18
-rw-r--r--gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt17
-rw-r--r--gradle.properties2
-rw-r--r--settings.gradle.kts1
5 files changed, 25 insertions, 15 deletions
diff --git a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
index 60869e83..649cb09b 100644
--- a/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
+++ b/compiler-plugin/src/main/kotlin/com/google/devtools/ksp/KotlinSymbolProcessingExtension.kt
@@ -52,7 +52,7 @@ import org.jetbrains.kotlin.container.ComponentProvider
import org.jetbrains.kotlin.context.ProjectContext
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
import org.jetbrains.kotlin.load.java.components.FilesByFacadeFqNameIndexer
-import org.jetbrains.kotlin.platform.JsPlatform
+import org.jetbrains.kotlin.platform.js.JsPlatform
import org.jetbrains.kotlin.platform.jvm.JdkPlatform
import org.jetbrains.kotlin.platform.konan.NativePlatform
import org.jetbrains.kotlin.psi.KtFile
diff --git a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KotlinFactories.kt b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KotlinFactories.kt
index 458b38df..589a7ed3 100644
--- a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KotlinFactories.kt
+++ b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KotlinFactories.kt
@@ -48,10 +48,10 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinCommonCompilerOptions
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptionsDefault
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformCommonCompilerOptionsDefault
-import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
-import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
import org.jetbrains.kotlin.gradle.plugin.mpp.enabledOnCurrentHost
+import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData
+import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinNativeCompilationData
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
@@ -75,10 +75,10 @@ class KotlinFactories {
fun registerKotlinJvmCompileTask(
project: Project,
taskName: String,
- kotlinCompilation: KotlinCompilation<*>,
+ kotlinCompilation: KotlinCompilationData<*>,
): TaskProvider<out KspTaskJvm> {
return project.tasks.register(taskName, KspTaskJvm::class.java).also { kspTaskProvider ->
- KotlinCompileConfig(KotlinCompilationInfo(kotlinCompilation))
+ KotlinCompileConfig(kotlinCompilation)
.execute(kspTaskProvider as TaskProvider<KotlinCompile>)
// useClasspathSnapshot isn't configurable per task.
@@ -96,10 +96,10 @@ class KotlinFactories {
fun registerKotlinJSCompileTask(
project: Project,
taskName: String,
- kotlinCompilation: KotlinCompilation<*>,
+ kotlinCompilation: KotlinCompilationData<*>,
): TaskProvider<out KspTaskJS> {
return project.tasks.register(taskName, KspTaskJS::class.java).also { kspTaskProvider ->
- BaseKotlin2JsCompileConfig<Kotlin2JsCompile>(KotlinCompilationInfo(kotlinCompilation))
+ BaseKotlin2JsCompileConfig<Kotlin2JsCompile>(kotlinCompilation)
.execute(kspTaskProvider as TaskProvider<Kotlin2JsCompile>)
kspTaskProvider.configure {
it.incrementalJsKlib = false
@@ -110,10 +110,10 @@ class KotlinFactories {
fun registerKotlinMetadataCompileTask(
project: Project,
taskName: String,
- kotlinCompilation: KotlinCompilation<*>,
+ kotlinCompilation: KotlinCompilationData<*>,
): TaskProvider<out KspTaskMetadata> {
return project.tasks.register(taskName, KspTaskMetadata::class.java).also { kspTaskProvider ->
- KotlinCompileCommonConfig(KotlinCompilationInfo(kotlinCompilation))
+ KotlinCompileCommonConfig(kotlinCompilation)
.execute(kspTaskProvider as TaskProvider<KotlinCompileCommon>)
}
}
@@ -255,7 +255,7 @@ abstract class KspTaskMetadata @Inject constructor(
@CacheableTask
abstract class KspTaskNative @Inject internal constructor(
- compilation: KotlinCompilationInfo,
+ compilation: KotlinNativeCompilationData<*>,
objectFactory: ObjectFactory,
providerFactory: ProviderFactory,
execOperations: ExecOperations
diff --git a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt
index 7400f22b..9bc5ae8b 100644
--- a/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt
+++ b/gradle-plugin/src/main/kotlin/com/google/devtools/ksp/gradle/KspSubplugin.kt
@@ -55,6 +55,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinWithJavaCompilation
+import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinCompilationData
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile
import org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompileTool
import org.jetbrains.kotlin.gradle.tasks.BaseKotlinCompile
@@ -297,7 +298,14 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
}
fun configureAsAbstractKotlinCompileTool(kspTask: AbstractKotlinCompileTool<*>) {
- kspTask.destinationDirectory.set(kspOutputDir)
+ when (kspTask) {
+ is Kotlin2JsCompile -> {
+ kspTask.outputFileProperty.value(
+ File(kspOutputDir, "dummyOutput.js")
+ )
+ }
+ else -> kspTask.destinationDirectory.set(kspOutputDir)
+ }
kspTask.outputs.dirs(
kotlinOutputDir,
javaOutputDir,
@@ -376,6 +384,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
// Create and configure KSP tasks.
val kspTaskProvider = when (kotlinCompileTask) {
is KotlinCompile -> {
+ kotlinCompilation as KotlinCompilationData<*>
KotlinFactories.registerKotlinJvmCompileTask(project, kspTaskName, kotlinCompilation).also {
it.configure { kspTask ->
maybeBlockOtherPlugins(kspTask as BaseKotlinCompile)
@@ -387,7 +396,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
)
kspTask.compilerOptions.noJdk.value(kotlinCompileTask.compilerOptions.noJdk)
kspTask.compilerOptions.useK2.value(false)
- kspTask.compilerOptions.moduleName.convention(kotlinCompileTask.moduleName.map { "$it-ksp" })
+ kspTask.ownModuleName.value(kotlinCompileTask.ownModuleName.map { "$it-ksp" })
kspTask.moduleName.value(kotlinCompileTask.moduleName.get())
kspTask.destination.value(kspOutputDir)
@@ -412,6 +421,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
}
}
is Kotlin2JsCompile -> {
+ kotlinCompilation as KotlinCompilationData<*>
KotlinFactories.registerKotlinJSCompileTask(project, kspTaskName, kotlinCompilation).also {
it.configure { kspTask ->
maybeBlockOtherPlugins(kspTask as BaseKotlinCompile)
@@ -424,7 +434,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
kspTask.compilerOptions.freeCompilerArgs
.value(kotlinCompileTask.compilerOptions.freeCompilerArgs)
kspTask.compilerOptions.useK2.value(false)
- kspTask.compilerOptions.moduleName.convention(kotlinCompileTask.moduleName.map { "$it-ksp" })
+ kspTask.moduleName.value(kotlinCompileTask.moduleName.map { "$it-ksp" })
kspTask.incrementalChangesTransformers.add(
createIncrementalChangesTransformer(
@@ -440,6 +450,7 @@ class KspGradleSubplugin @Inject internal constructor(private val registry: Tool
}
}
is KotlinCompileCommon -> {
+ kotlinCompilation as KotlinCompilationData<*>
KotlinFactories.registerKotlinMetadataCompileTask(project, kspTaskName, kotlinCompilation).also {
it.configure { kspTask ->
maybeBlockOtherPlugins(kspTask as BaseKotlinCompile)
diff --git a/gradle.properties b/gradle.properties
index 69cb3a40..31730b42 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,7 +1,7 @@
# Copied from kotlinc
org.gradle.jvmargs=-Duser.country=US -Dkotlin.daemon.jvm.options=-Xmx2200m -Dfile.encoding=UTF-8
-kotlinBaseVersion=1.8.20-dev-4608
+kotlinBaseVersion=1.8.0
agpBaseVersion=7.0.0
intellijVersion=203.8084.24
junitVersion=4.12
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 621dc738..68f7e505 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -16,4 +16,3 @@ include("compiler-plugin")
include("symbol-processing")
include("symbol-processing-cmdline")
include("integration-tests")
-include("kotlin-analysis-api")