[Gradle] Implement KotlinMultiplatformSourceSetSetupAction
KT-61634
This commit is contained in:
committed by
Space Team
parent
382482a26c
commit
77376f0d28
-17
@@ -10,11 +10,7 @@ import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.JavaBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.internal.customizeKotlinDependencies
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
|
||||
import org.jetbrains.kotlin.gradle.plugin.launch
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal.runDeprecationDiagnostics
|
||||
import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTargetPreset
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinWasmTargetPreset
|
||||
@@ -22,7 +18,6 @@ import org.jetbrains.kotlin.gradle.utils.checkGradleCompatibility
|
||||
import org.jetbrains.kotlin.konan.target.HostManager
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget.*
|
||||
import org.jetbrains.kotlin.konan.target.presetName
|
||||
import org.jetbrains.kotlin.statistics.metrics.StringMetrics
|
||||
|
||||
class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
|
||||
@@ -34,7 +29,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
|
||||
setupDefaultPresets(project)
|
||||
customizeKotlinDependencies(project)
|
||||
configureSourceSets(project)
|
||||
}
|
||||
|
||||
fun setupDefaultPresets(project: Project) {
|
||||
@@ -68,17 +62,6 @@ class KotlinMultiplatformPlugin : Plugin<Project> {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun configureSourceSets(project: Project) = with(project.multiplatformExtension) {
|
||||
/* Create 'commonMain' and 'commonTest' SourceSets */
|
||||
sourceSets.create(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
||||
sourceSets.create(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME)
|
||||
|
||||
project.launch {
|
||||
project.setupDefaultKotlinHierarchy()
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val METADATA_TARGET_NAME = "metadata"
|
||||
|
||||
|
||||
+2
@@ -36,6 +36,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.MultiplatformPublishingSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.SyncLanguageSettingsWithKotlinExtensionSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.UserDefinedAttributesSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.apple.AddBuildListenerForXCodeSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinMultiplatformSourceSetSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.LanguageSettingsSetupAction
|
||||
import org.jetbrains.kotlin.gradle.plugin.statistics.MultiplatformBuildStatsReportSetupAction
|
||||
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubpluginSetupAction
|
||||
@@ -63,6 +64,7 @@ internal fun Project.registerKotlinPluginExtensions() {
|
||||
}
|
||||
|
||||
if (isMultiplatform) {
|
||||
register(project, KotlinMultiplatformSourceSetSetupAction)
|
||||
register(project, MultiplatformBuildStatsReportSetupAction)
|
||||
register(project, KotlinMetadataTargetSetupAction)
|
||||
register(project, KotlinArtifactsExtensionSetupAction)
|
||||
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.sources
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinProjectSetupCoroutine
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.hierarchy.setupDefaultKotlinHierarchy
|
||||
|
||||
internal val KotlinMultiplatformSourceSetSetupAction = KotlinProjectSetupCoroutine {
|
||||
multiplatformExtension.sourceSets.create(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
||||
multiplatformExtension.sourceSets.create(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME)
|
||||
project.setupDefaultKotlinHierarchy()
|
||||
}
|
||||
Reference in New Issue
Block a user