[Gradle] Implement ScriptingGradleSubpluginSetupAction

KT-61634
This commit is contained in:
Sebastian Sellmair
2023-10-16 18:51:02 +02:00
committed by Space Team
parent 9ca22fa999
commit 58385ef64f
4 changed files with 15 additions and 5 deletions
@@ -80,8 +80,6 @@ internal open class KotlinJvmPlugin(
kotlinExtension.compilerOptions,
target.compilerOptions
)
project.pluginManager.apply(ScriptingGradleSubplugin::class.java)
}
override fun configureClassInspectionForIC(project: Project) {
@@ -62,8 +62,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
// propagate compiler plugin options to the source set language settings
setupAdditionalCompilerArguments(project)
project.setupGeneralKotlinExtensionParameters()
project.pluginManager.apply(ScriptingGradleSubplugin::class.java)
}
@@ -6,6 +6,7 @@
package org.jetbrains.kotlin.gradle.plugin
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.dsl.*
import org.jetbrains.kotlin.gradle.dsl.AndroidMainSourceSetConventionsChecker
import org.jetbrains.kotlin.gradle.dsl.IosSourceSetConventionChecker
import org.jetbrains.kotlin.gradle.dsl.PlatformSourceSetConventionsChecker
@@ -32,6 +33,8 @@ import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImportSetupAction
import org.jetbrains.kotlin.gradle.plugin.ide.IdeResolveDependenciesTaskSetupAction
import org.jetbrains.kotlin.gradle.plugin.mpp.GlobalProjectStructureMetadataStorageSetupAction
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction
import org.jetbrains.kotlin.gradle.targets.js.npm.AddNpmDependencyExtensionProjectSetupAction
import org.jetbrains.kotlin.gradle.targets.native.CreateFatFrameworksSetupAction
import org.jetbrains.kotlin.gradle.targets.native.internal.CInteropCommonizedCInteropApiElementsConfigurationsSetupAction
@@ -46,6 +49,10 @@ internal fun Project.registerKotlinPluginExtensions() {
register(project, RegisterBuildKotlinToolingMetadataTask)
register(project, KotlinToolingDiagnosticsSetupAction)
if (isJvm || isMultiplatform) {
register(project, ScriptingGradleSubpluginSetupAction)
}
if (isMultiplatform) {
register(project, GlobalProjectStructureMetadataStorageSetupAction)
register(project, IdeMultiplatformImportSetupAction)
@@ -85,4 +92,6 @@ internal fun Project.registerKotlinPluginExtensions() {
/* Helper functions to make configuration code above easier to read */
private val Project.isMultiplatform get() = multiplatformExtensionOrNull != null
private val Project.isMultiplatform get() = multiplatformExtensionOrNull != null
private val Project.isJvm get() = kotlinJvmExtensionOrNull != null
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
private const val SCRIPTING_LOG_PREFIX = "kotlin scripting plugin:"
class ScriptingGradleSubplugin : Plugin<Project> {
companion object {
const val MISCONFIGURATION_MESSAGE_SUFFIX = "the plugin is probably applied by a mistake"
@@ -89,6 +90,10 @@ class ScriptingGradleSubplugin : Plugin<Project> {
}
}
internal val ScriptingGradleSubpluginSetupAction = KotlinProjectSetupAction {
project.pluginManager.apply(ScriptingGradleSubplugin::class.java)
}
private const val MAIN_CONFIGURATION_NAME = "kotlinScriptDef"
private const val RESULTS_CONFIGURATION_SUFFIX = "Extensions"