blob: 0e8004aee05e11424300b59128355debb27aa41b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
package moe.nea.mcautotranslations.gradle
import moe.nea.mcautotranslation.`gradle-plugin`.BuildConfig
import org.gradle.api.Project
import org.gradle.api.provider.Provider
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilerPluginSupportPlugin
import org.jetbrains.kotlin.gradle.plugin.SubpluginArtifact
import org.jetbrains.kotlin.gradle.plugin.SubpluginOption
class MCAutoTranslationsGradlePlugin : KotlinCompilerPluginSupportPlugin {
override fun apply(target: Project) {
println("Applying plugin to project")
target.extensions.create("mcAutoTranslations", MCAutoTranslationsExtension::class.java)
}
override fun applyToCompilation(kotlinCompilation: KotlinCompilation<*>): Provider<List<SubpluginOption>> {
val project = kotlinCompilation.target.project
val extension = project.extensions.getByType(MCAutoTranslationsExtension::class.java)
kotlinCompilation.dependencies {
compileOnly(BuildConfig.ANNOTATIONS_GROUP + ":" + BuildConfig.ANNOTATIONS_ARTIFACT + ":" + BuildConfig.ANNOTATIONS_VERSION)
}
return project.provider {
listOf() // TODO: add plugin options from extension in here
}
}
override fun getCompilerPluginId(): String {
return BuildConfig.KOTLIN_PLUGIN_ID
}
override fun getPluginArtifact(): SubpluginArtifact = SubpluginArtifact(
groupId = BuildConfig.KOTLIN_PLUGIN_GROUP,
artifactId = BuildConfig.KOTLIN_PLUGIN_ARTIFACT,
version = BuildConfig.KOTLIN_PLUGIN_VERSION,
)
override fun isApplicable(kotlinCompilation: KotlinCompilation<*>): Boolean {
return true
}
}
|