Refactoring: extract and pull up duplicated code from JVM- and JS- related subclassed
This commit is contained in:
+11
-14
@@ -112,6 +112,13 @@ abstract class KotlinDslGradleKotlinFrameworkSupportProvider(
|
|||||||
|
|
||||||
protected abstract fun getOldSyntaxPluginDefinition(): String
|
protected abstract fun getOldSyntaxPluginDefinition(): String
|
||||||
protected abstract fun getPluginDefinition(): String
|
protected abstract fun getPluginDefinition(): String
|
||||||
|
|
||||||
|
protected fun composeDependency(buildScriptData: BuildScriptDataBuilder, artifactId: String): String {
|
||||||
|
return if (buildScriptData.gradleVersion >= MIN_GRADLE_VERSION_FOR_NEW_PLUGIN_SYNTAX)
|
||||||
|
"implementation(${getKotlinModuleDependencySnippet(artifactId, null)})"
|
||||||
|
else
|
||||||
|
"implementation(${getKotlinModuleDependencySnippet(artifactId, "\$$GSK_KOTLIN_VERSION_PROPERTY_NAME")})"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
|
class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
|
||||||
@@ -120,9 +127,6 @@ class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
|
|||||||
override fun getOldSyntaxPluginDefinition() = "plugin(\"${KotlinGradleModuleConfigurator.KOTLIN}\")"
|
override fun getOldSyntaxPluginDefinition() = "plugin(\"${KotlinGradleModuleConfigurator.KOTLIN}\")"
|
||||||
override fun getPluginDefinition() = "kotlin(\"jvm\")"
|
override fun getPluginDefinition() = "kotlin(\"jvm\")"
|
||||||
|
|
||||||
private fun getRuntimeLibrary(rootModel: ModifiableRootModel, version: String?) =
|
|
||||||
"implementation(${getKotlinModuleDependencySnippet(getStdlibArtifactId(rootModel.sdk, bundledRuntimeVersion()), version)})"
|
|
||||||
|
|
||||||
override fun addSupport(
|
override fun addSupport(
|
||||||
projectId: ProjectId,
|
projectId: ProjectId,
|
||||||
module: Module,
|
module: Module,
|
||||||
@@ -138,10 +142,8 @@ class KotlinDslGradleKotlinJavaFrameworkSupportProvider :
|
|||||||
.addOther("tasks.withType<KotlinCompile> {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n")
|
.addOther("tasks.withType<KotlinCompile> {\n kotlinOptions.jvmTarget = \"1.8\"\n}\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
if (buildScriptData.gradleVersion >= MIN_GRADLE_VERSION_FOR_NEW_PLUGIN_SYNTAX)
|
val artifactId = getStdlibArtifactId(rootModel.sdk, bundledRuntimeVersion())
|
||||||
buildScriptData.addDependencyNotation(getRuntimeLibrary(rootModel, null))
|
buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId))
|
||||||
else
|
|
||||||
buildScriptData.addDependencyNotation(getRuntimeLibrary(rootModel, "\$$GSK_KOTLIN_VERSION_PROPERTY_NAME"))
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -161,18 +163,13 @@ abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
|
|||||||
super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData)
|
super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData)
|
||||||
|
|
||||||
buildScriptData.addOther("kotlin.target.$jsSubTargetName { }")
|
buildScriptData.addOther("kotlin.target.$jsSubTargetName { }")
|
||||||
|
val artifactId = MAVEN_JS_STDLIB_ID.removePrefix("kotlin-")
|
||||||
if (buildScriptData.gradleVersion >= MIN_GRADLE_VERSION_FOR_NEW_PLUGIN_SYNTAX)
|
buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId))
|
||||||
buildScriptData.addDependencyNotation(getRuntimeLibrary(rootModel, null))
|
|
||||||
else
|
|
||||||
buildScriptData.addDependencyNotation(getRuntimeLibrary(rootModel, "\$$GSK_KOTLIN_VERSION_PROPERTY_NAME"))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getOldSyntaxPluginDefinition(): String = "plugin(\"${KotlinJsGradleModuleConfigurator.KOTLIN_JS}\")"
|
override fun getOldSyntaxPluginDefinition(): String = "plugin(\"${KotlinJsGradleModuleConfigurator.KOTLIN_JS}\")"
|
||||||
override fun getPluginDefinition(): String = "id(\"org.jetbrains.kotlin.js\")"
|
override fun getPluginDefinition(): String = "id(\"org.jetbrains.kotlin.js\")"
|
||||||
|
|
||||||
private fun getRuntimeLibrary(rootModel: ModifiableRootModel, version: String?) =
|
|
||||||
"implementation(${getKotlinModuleDependencySnippet(MAVEN_JS_STDLIB_ID.removePrefix("kotlin-"), version)})"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider :
|
class KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider :
|
||||||
|
|||||||
Reference in New Issue
Block a user