[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
|
import java.io.File
|
||||||
|
|
||||||
interface Distribution {
|
interface Distribution {
|
||||||
var directory: File?
|
var directory: File
|
||||||
}
|
}
|
||||||
+2
-8
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||||
|
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.plugins.BasePluginConvention
|
|
||||||
import org.gradle.api.tasks.Copy
|
import org.gradle.api.tasks.Copy
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
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 commonWebpackConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||||
private val commonRunConfigurations: 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
|
override val testTaskDescription: String
|
||||||
get() = "Run all ${target.name} tests inside browser using karma and webpack"
|
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 project = compilation.target.project
|
||||||
val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
|
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 processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName)
|
||||||
|
|
||||||
val distributeResourcesTask = project.registerTask<Copy>(
|
val distributeResourcesTask = project.registerTask<Copy>(
|
||||||
@@ -130,7 +124,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
it.from(processResourcesTask)
|
it.from(processResourcesTask)
|
||||||
it.into(distribution.directory ?: baseDist)
|
it.into(distribution.directory)
|
||||||
}
|
}
|
||||||
|
|
||||||
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
||||||
|
|||||||
+11
-2
@@ -5,9 +5,18 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
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.targets.js.dsl.Distribution
|
||||||
|
import org.jetbrains.kotlin.gradle.utils.property
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
class BrowserDistribution : Distribution {
|
class BrowserDistribution(private val project: Project) : Distribution {
|
||||||
override var directory: File? = null
|
|
||||||
|
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
|
package org.jetbrains.kotlin.gradle.targets.js.subtargets
|
||||||
|
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.gradle.api.plugins.BasePluginConvention
|
|
||||||
import org.gradle.api.tasks.Copy
|
import org.gradle.api.tasks.Copy
|
||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
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 commonWebpackConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||||
private val commonRunConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
private val commonRunConfigurations: MutableList<KotlinWebpack.() -> Unit> = mutableListOf()
|
||||||
private val dceConfigurations: MutableList<KotlinJsDce.() -> Unit> = mutableListOf()
|
private val dceConfigurations: MutableList<KotlinJsDce.() -> Unit> = mutableListOf()
|
||||||
private val distribution: Distribution = BrowserDistribution()
|
private val distribution: Distribution = BrowserDistribution(project)
|
||||||
|
|
||||||
override val testTaskDescription: String
|
override val testTaskDescription: String
|
||||||
get() = "Run all ${target.name} tests inside browser using karma and webpack"
|
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 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 processResourcesTask = target.project.tasks.named(compilation.processResourcesTaskName)
|
||||||
|
|
||||||
val distributeResourcesTask = project.registerTask<Copy>(
|
val distributeResourcesTask = project.registerTask<Copy>(
|
||||||
@@ -163,7 +157,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) :
|
|||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
it.from(processResourcesTask)
|
it.from(processResourcesTask)
|
||||||
it.into(distribution.directory ?: baseDist)
|
it.into(distribution.directory)
|
||||||
}
|
}
|
||||||
|
|
||||||
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
val assembleTask = project.tasks.getByName(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
||||||
|
|||||||
Reference in New Issue
Block a user