From baf9ecd6410459c05bd49a106269c010ea6d904f Mon Sep 17 00:00:00 2001 From: Sergey Rostov Date: Mon, 13 May 2019 14:42:51 +0300 Subject: [PATCH] Gradle, JS: make KotlinWebpack.configDirectory optional #KT-31013 --- .../kotlin/gradle/targets/js/npm/NpmResolver.kt | 5 ++++- .../kotlin/gradle/targets/js/webpack/KotlinWebpack.kt | 4 ++-- .../gradle/targets/js/webpack/KotlinWebpackConfig.kt | 9 ++++++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmResolver.kt index fb3bbed41bf..2b75031c0dd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmResolver.kt @@ -48,7 +48,10 @@ internal class NpmResolver private constructor(val rootProject: Project) { else { val resolver = NpmResolver(rootProject) check(resolver.resolve(rootProject, null)) - ResolvedNow(ResolvedProject(resolver.npmPackages, resolver.requiredByTasks)) + val resolution = ResolvedProject(resolver.npmPackages, resolver.requiredByTasks) + ProjectData[rootProject]!!.resolved = resolution + + ResolvedNow(resolution) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt index 8a0a6e33877..06d7113247f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpack.kt @@ -47,8 +47,8 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { open val outputPath: File @OutputDirectory get() = project.buildDir.resolve("lib") - open val configDirectory: File - @InputDirectory get() = project.projectDir.resolve("webpack.config.d") + open val configDirectory: File? + @Optional @InputDirectory get() = project.projectDir.resolve("webpack.config.d").takeIf { it.isDirectory } @Input var report: Boolean = false diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt index 08fda7fcc27..95a2cbe9ccc 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/webpack/KotlinWebpackConfig.kt @@ -18,7 +18,7 @@ class KotlinWebpackConfig( val entry: File, val reportEvaluatedConfigFile: File?, val outputPath: File, - val configDirectory: File, + val configDirectory: File?, val reportDir: File?, var devServer: DevServer? = null, val showProgress: Boolean = false, @@ -116,8 +116,11 @@ config.plugins.push(new BundleAnalyzerPlugin(${json(config)})); ) } - appendln() - loadConfigs(configDirectory) + if (configDirectory != null) { + appendln() + loadConfigs(configDirectory) + } + appendln() if (reportEvaluatedConfigFile != null) {