[Gradle, JS] Distribution directory not null
#KT-38051 fixed
This commit is contained in:
+1
-1
@@ -8,5 +8,5 @@ package org.jetbrains.kotlin.gradle.targets.js.dsl
|
||||
import java.io.File
|
||||
|
||||
interface Distribution {
|
||||
var directory: File?
|
||||
var directory: File
|
||||
}
|
||||
+2
-8
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
||||
@@ -27,7 +26,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
|
||||
private val commonWebpackConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||
private val commonRunConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||
private val distribution: Distribution = BrowserDistribution()
|
||||
private val distribution: Distribution = BrowserDistribution(project)
|
||||
|
||||
override val testTaskDescription: String
|
||||
get() = "Run all ${target.name} tests inside browser using karma and webpack"
|
||||
@@ -117,11 +116,6 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
val project = compilation.target.project
|
||||
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
|
||||
|
||||
val basePluginConvention = project.convention.plugins["base"] as BasePluginConvention?
|
||||
|
||||
val baseDist = project.buildDir.resolve(basePluginConvention!!.distsDirName)
|
||||
distribution.directory = distribution.directory ?: baseDist
|
||||
|
||||
val processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName)
|
||||
|
||||
val distributeResourcesTask = project.registerTask<Copy>(
|
||||
@@ -130,7 +124,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
)
|
||||
) {
|
||||
it.from(processResourcesTask)
|
||||
it.into(distribution.directory ?: baseDist)
|
||||
it.into(distribution.directory)
|
||||
}
|
||||
|
||||
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
||||
|
||||
+11
-2
@@ -5,9 +5,18 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.Distribution
|
||||
import org.jetbrains.kotlin.gradle.utils.property
|
||||
import java.io.File
|
||||
|
||||
class BrowserDistribution : Distribution {
|
||||
override var directory: File? = null
|
||||
class BrowserDistribution(private val project: Project) : Distribution {
|
||||
|
||||
private val basePluginConvention: BasePluginConvention
|
||||
get() = project.convention.plugins["base"] as BasePluginConvention
|
||||
|
||||
override var directory: File by property {
|
||||
project.buildDir.resolve(basePluginConvention.distsDirName)
|
||||
}
|
||||
}
|
||||
+2
-8
@@ -6,7 +6,6 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||
|
||||
import org.gradle.api.Task
|
||||
import org.gradle.api.plugins.BasePluginConvention
|
||||
import org.gradle.api.tasks.Copy
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
@@ -36,7 +35,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
private val commonWebpackConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||
private val commonRunConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||
private val dceConfigurations: MutableList<KotlinJsDce.() -> Unit> = mutableListOf()
|
||||
private val distribution: Distribution = BrowserDistribution()
|
||||
private val distribution: Distribution = BrowserDistribution(project)
|
||||
|
||||
override val testTaskDescription: String
|
||||
get() = "Run all ${target.name} tests inside browser using karma and webpack"
|
||||
@@ -150,11 +149,6 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
|
||||
val compileKotlinTask = compilation.compileKotlinTask
|
||||
|
||||
val basePluginConvention = project.convention.plugins["base"] as BasePluginConvention?
|
||||
|
||||
val baseDist = project.buildDir.resolve(basePluginConvention!!.distsDirName)
|
||||
distribution.directory = distribution.directory ?: baseDist
|
||||
|
||||
val processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName)
|
||||
|
||||
val distributeResourcesTask = project.registerTask<Copy>(
|
||||
@@ -163,7 +157,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
||||
)
|
||||
) {
|
||||
it.from(processResourcesTask)
|
||||
it.into(distribution.directory ?: baseDist)
|
||||
it.into(distribution.directory)
|
||||
}
|
||||
|
||||
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
||||
|
||||
Reference in New Issue
Block a user