1
1
package me.shika
2
2
3
- import org.gradle.api.Project
4
- import org.gradle.api.tasks.compile.AbstractCompile
5
- import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
3
+ import org.gradle.api.internal.provider.DefaultListProperty
4
+ import org.gradle.api.provider.Provider
6
5
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
7
- import org.jetbrains.kotlin.gradle.plugin.KotlinGradleSubplugin
6
+ import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerPluginSupportPlugin
8
7
import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact
9
8
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
10
9
11
- class ObjectSerializationSubplugin : KotlinGradleSubplugin <AbstractCompile > {
12
- override fun apply (
13
- project : Project ,
14
- kotlinCompile : AbstractCompile ,
15
- javaCompile : AbstractCompile ? ,
16
- variantData : Any? ,
17
- androidProjectHandler : Any? ,
18
- kotlinCompilation : KotlinCompilation <KotlinCommonOptions >?
19
- ): List <SubpluginOption > {
10
+ class ObjectSerializationSubplugin : KotlinCompilerPluginSupportPlugin {
11
+ override fun applyToCompilation (kotlinCompilation : KotlinCompilation <* >): Provider <List <SubpluginOption >> {
12
+ val project = kotlinCompilation.target.project
20
13
val extension = project.extensions.findByType(ObjectSerializationExtension ::class .java) ? : ObjectSerializationExtension ()
21
14
22
- return listOf (
23
- SubpluginOption (
24
- key = " enabled" ,
25
- value = extension.enabled.toString()
15
+ return DefaultListProperty (SubpluginOption ::class .java).apply {
16
+ add(
17
+ SubpluginOption (
18
+ key = " enabled" ,
19
+ value = extension.enabled.toString()
20
+ )
26
21
)
27
- )
22
+ }
28
23
}
29
24
30
25
override fun getCompilerPluginId (): String = " object-serialization-fix"
@@ -33,9 +28,9 @@ class ObjectSerializationSubplugin: KotlinGradleSubplugin<AbstractCompile> {
33
28
SubpluginArtifact (
34
29
groupId = " me.shika" ,
35
30
artifactId = " kotlin-object-java-serialization" ,
36
- version = " 1.1 .0"
31
+ version = " 1.2 .0"
37
32
)
38
33
39
- override fun isApplicable (project : Project , task : AbstractCompile ): Boolean =
40
- project.plugins.hasPlugin(ObjectSerializationPlugin ::class .java)
34
+ override fun isApplicable (kotlinCompilation : KotlinCompilation < * > ): Boolean =
35
+ kotlinCompilation.target. project.plugins.hasPlugin(ObjectSerializationPlugin ::class .java)
41
36
}
0 commit comments