aboutsummaryrefslogtreecommitdiff
path: root/gradle-plugin/src/main/kotlin/moe/nea/mcautotranslations/gradle/MCAutoTranslationsGradlePlugin.kt
blob: d954e642da14d243d67b4ac840da012c10523f41 (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
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) {
		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)
		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
	}
}