Add enabling css into wizard

#KT-39770 fixed
This commit is contained in:
Ilya Goncharov
2020-06-17 19:50:34 +03:00
parent e9231b5624
commit c9c20bb34c
3 changed files with 38 additions and 2 deletions
@@ -208,7 +208,9 @@ abstract class GradleKotlinJSFrameworkSupportProvider(
""" """
kotlin { kotlin {
js { js {
$jsSubTargetName { } $jsSubTargetName {
${additionalSubTargetSettings() ?: ""}
}
binaries.executable() binaries.executable()
} }
} }
@@ -216,6 +218,8 @@ abstract class GradleKotlinJSFrameworkSupportProvider(
) )
} }
abstract fun additionalSubTargetSettings(): String?
override fun getPluginId() = KotlinJsGradleModuleConfigurator.KOTLIN_JS override fun getPluginId() = KotlinJsGradleModuleConfigurator.KOTLIN_JS
override fun getPluginExpression() = "id 'org.jetbrains.kotlin.js'" override fun getPluginExpression() = "id 'org.jetbrains.kotlin.js'"
override fun getDependencies(sdk: Sdk?) = listOf(MAVEN_JS_STDLIB_ID) override fun getDependencies(sdk: Sdk?) = listOf(MAVEN_JS_STDLIB_ID)
@@ -244,6 +248,9 @@ open class GradleKotlinJSBrowserFrameworkSupportProvider(
super.addSupport(buildScriptData, module, sdk, specifyPluginVersionIfNeeded, explicitPluginVersion) super.addSupport(buildScriptData, module, sdk, specifyPluginVersionIfNeeded, explicitPluginVersion)
addBrowserSupport(module) addBrowserSupport(module)
} }
override fun additionalSubTargetSettings(): String? =
browserConfiguration()
} }
open class GradleKotlinJSNodeFrameworkSupportProvider( open class GradleKotlinJSNodeFrameworkSupportProvider(
@@ -253,6 +260,9 @@ open class GradleKotlinJSNodeFrameworkSupportProvider(
override val jsSubTargetName: String override val jsSubTargetName: String
get() = "nodejs" get() = "nodejs"
override fun additionalSubTargetSettings(): String? =
null
override fun getDescription() = override fun getDescription() =
KotlinIdeaGradleBundle.message("description.text.a.single.platform.kotlin.library.or.application.targeting.js.for.node.js") KotlinIdeaGradleBundle.message("description.text.a.single.platform.kotlin.library.or.application.targeting.js.for.node.js")
} }
@@ -63,3 +63,19 @@ internal fun addBrowserSupport(module: Module) {
) )
} }
} }
internal fun browserConfiguration(): String {
return """
|val cssSupport = { task: KotlinWebpack
| task.cssSupport.enabled = true
|}
|
|webpackTask {
| cssSupport(it)
|}
|
|runTask {
| cssSupport(it)
|}
""".trimMargin()
}
@@ -183,7 +183,9 @@ abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
""" """
kotlin { kotlin {
js { js {
$jsSubTargetName { } $jsSubTargetName {
${additionalSubTargetSettings() ?: ""}
}
binaries.executable() binaries.executable()
} }
} }
@@ -193,6 +195,8 @@ abstract class AbstractKotlinDslGradleKotlinJSFrameworkSupportProvider(
buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId)) buildScriptData.addDependencyNotation(composeDependency(buildScriptData, artifactId))
} }
abstract fun additionalSubTargetSettings(): String?
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\")"
@@ -216,6 +220,9 @@ class KotlinDslGradleKotlinJSBrowserFrameworkSupportProvider :
super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData) super.addSupport(projectId, module, rootModel, modifiableModelsProvider, buildScriptData)
addBrowserSupport(module) addBrowserSupport(module)
} }
override fun additionalSubTargetSettings(): String? =
browserConfiguration()
} }
class KotlinDslGradleKotlinJSNodeFrameworkSupportProvider : class KotlinDslGradleKotlinJSNodeFrameworkSupportProvider :
@@ -225,6 +232,9 @@ class KotlinDslGradleKotlinJSNodeFrameworkSupportProvider :
) { ) {
override val jsSubTargetName: String override val jsSubTargetName: String
get() = "nodejs" get() = "nodejs"
override fun additionalSubTargetSettings(): String? =
null
} }
class KotlinDslGradleKotlinMPPFrameworkSupportProvider : class KotlinDslGradleKotlinMPPFrameworkSupportProvider :