Add Maven Publish to MPP library wizards (in progress) #KT-27201 Fixed
This commit is contained in:
+18
@@ -46,6 +46,19 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
||||
return moduleDir
|
||||
}
|
||||
|
||||
private fun enableGradleMetadataPreview(rootDir: VirtualFile) {
|
||||
val settingsGradle = rootDir.findOrCreateChildData(null, "settings.gradle")
|
||||
val previousText = settingsGradle.inputStream.bufferedReader().use { it.readText() }
|
||||
settingsGradle.bufferedWriter().use {
|
||||
it.write(previousText)
|
||||
if (previousText.isNotEmpty()) {
|
||||
it.newLine()
|
||||
}
|
||||
it.write("enableFeaturePreview('GRADLE_METADATA')")
|
||||
it.newLine()
|
||||
}
|
||||
}
|
||||
|
||||
override fun setupModule(module: Module) {
|
||||
try {
|
||||
module.gradleModuleBuilder = this
|
||||
@@ -58,6 +71,9 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
||||
}
|
||||
val builder = BuildScriptDataBuilder(buildGradle)
|
||||
builder.setupAdditionalDependencies()
|
||||
if (shouldEnableGradleMetadataPreview) {
|
||||
enableGradleMetadataPreview(rootDir)
|
||||
}
|
||||
val buildGradleText = if (!mppInApplication) {
|
||||
GradleKotlinMPPFrameworkSupportProvider().addSupport(builder, module, sdk = null, specifyPluginVersionIfNeeded = true)
|
||||
builder.buildConfigurationPart() + builder.buildMainPart() + buildMultiPlatformPart()
|
||||
@@ -119,6 +135,8 @@ abstract class KotlinGradleAbstractMultiplatformModuleBuilder(
|
||||
|
||||
protected open val notImportedCommonSourceSets = false
|
||||
|
||||
protected open val shouldEnableGradleMetadataPreview = false
|
||||
|
||||
protected val defaultNativeTarget by lazy {
|
||||
try {
|
||||
HostManager.host
|
||||
|
||||
+7
@@ -22,6 +22,8 @@ class KotlinGradleMobileSharedMultiplatformModuleBuilder : KotlinGradleAbstractM
|
||||
private val nativeSourceName get() = "$nativeTargetName$productionSuffix"
|
||||
private val nativeTestName get() = "$nativeTargetName$testSuffix"
|
||||
|
||||
override val shouldEnableGradleMetadataPreview: Boolean = true
|
||||
|
||||
override fun getBuilderId() = "kotlin.gradle.multiplatform.mobileshared"
|
||||
|
||||
override fun getPresentableName() = "Kotlin (Mobile Shared Library)"
|
||||
@@ -138,6 +140,11 @@ class KotlinGradleMobileSharedMultiplatformModuleBuilder : KotlinGradleAbstractM
|
||||
|
||||
override fun buildMultiPlatformPart(): String {
|
||||
return """
|
||||
group 'com.example'
|
||||
version '0.0.1'
|
||||
|
||||
apply plugin: 'maven-publish'
|
||||
|
||||
kotlin {
|
||||
targets {
|
||||
fromPreset(presets.jvm, '$jvmTargetName')
|
||||
|
||||
+7
@@ -26,6 +26,8 @@ class KotlinGradleSharedMultiplatformModuleBuilder : KotlinGradleAbstractMultipl
|
||||
private val nativeSourceName get() = "$nativeTargetName$productionSuffix"
|
||||
private val nativeTestName get() = "$nativeTargetName$testSuffix"
|
||||
|
||||
override val shouldEnableGradleMetadataPreview: Boolean = true
|
||||
|
||||
override fun getBuilderId() = "kotlin.gradle.multiplatform.shared"
|
||||
|
||||
override fun getPresentableName() = "Kotlin (Multiplatform Library)"
|
||||
@@ -174,6 +176,11 @@ class KotlinGradleSharedMultiplatformModuleBuilder : KotlinGradleAbstractMultipl
|
||||
|
||||
override fun buildMultiPlatformPart(): String {
|
||||
return """
|
||||
group 'com.example'
|
||||
version '0.0.1'
|
||||
|
||||
apply plugin: 'maven-publish'
|
||||
|
||||
kotlin {
|
||||
targets {
|
||||
fromPreset(presets.jvm, '$jvmTargetName')
|
||||
|
||||
Reference in New Issue
Block a user