diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index 6434c8aab02..0a8b1a2c9a3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -169,7 +169,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : compilation.developmentLinkTask.map { it.outputFile } ).get() it.description = "build webpack ${kind.name.toLowerCase()} bundle" - it._destinationDirectory = distribution.directory + it.destinationDirectory = distribution.directory!! commonWebpackConfigurations.forEach { configure -> it.configure() diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt index 0a2b08ec4bb..4b98a247887 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/subtargets/KotlinBrowserJs.kt @@ -195,7 +195,7 @@ open class KotlinBrowserJs @Inject constructor(target: KotlinJsTarget) : it.compilation = compilation it.description = "build webpack ${kind.name.toLowerCase()} bundle" - it._destinationDirectory = distribution.directory + it.destinationDirectory = distribution.directory!! when (kind) { BuildVariantKind.PRODUCTION -> { 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 eec304f161e..a5ea3689169 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 @@ -24,7 +24,6 @@ import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode import org.jetbrains.kotlin.gradle.testing.internal.reportsDir import org.jetbrains.kotlin.gradle.utils.injected import org.jetbrains.kotlin.gradle.utils.property -import org.jetbrains.kotlin.gradle.utils.provider import java.io.File import javax.inject.Inject @@ -53,11 +52,9 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { @Input var mode: Mode = Mode.DEVELOPMENT - private var _entry: File? = null - @get:PathSensitive(PathSensitivity.ABSOLUTE) @get:InputFile - var entry: File by property(::_entry) { + var entry: File by property { compilation.compileKotlinTask.outputFile } @@ -95,17 +92,13 @@ open class KotlinWebpack : DefaultTask(), RequiresNpmDependencies { get() = project.convention.plugins["base"] as BasePluginConvention? @get:Internal - internal var _destinationDirectory: File? = null - - @get:Internal - val destinationDirectory: File by provider(::_destinationDirectory) { + var destinationDirectory: File by property { project.buildDir.resolve(baseConventions!!.distsDirName) } - - private var _outputFileName: String? = null + internal set @get:Internal - var outputFileName: String by property(::_outputFileName) { + var outputFileName: String by property { baseConventions?.archivesBaseName + ".js" } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/PropertyDelegate.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt similarity index 59% rename from libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/PropertyDelegate.kt rename to libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt index f901b314c79..aa7b0df52eb 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/PropertyDelegate.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/Delegates.kt @@ -5,33 +5,32 @@ package org.jetbrains.kotlin.gradle.utils -import kotlin.reflect.KMutableProperty import kotlin.reflect.KProperty open class ProviderDelegate( - protected open val backing: KProperty, private val defaultValueProvider: () -> T ) { + protected open val backing: T? = null + operator fun getValue(thisRef: Any?, property: KProperty<*>): T { - return backing.getter.call() ?: defaultValueProvider() + return backing ?: defaultValueProvider() } } class PropertyDelegate( - override val backing: KMutableProperty, defaultValueProvider: () -> T -) : ProviderDelegate(backing, defaultValueProvider) { +) : ProviderDelegate(defaultValueProvider) { + override var backing: T? = null + operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) { - backing.setter.call(value) + backing = value } } fun provider( - backing: KProperty, defaultValueProvider: () -> T -): ProviderDelegate = ProviderDelegate(backing, defaultValueProvider) +): ProviderDelegate = ProviderDelegate(defaultValueProvider) fun property( - backing: KMutableProperty, defaultValueProvider: () -> T -): PropertyDelegate = PropertyDelegate(backing, defaultValueProvider) \ No newline at end of file +): PropertyDelegate = PropertyDelegate(defaultValueProvider) \ No newline at end of file