diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatTask.kt index 21b6444feb3..f0002ce7a03 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/dukat/DukatTask.kt @@ -19,7 +19,6 @@ abstract class DukatTask( override val compilation: KotlinJsCompilation ) : DefaultTask(), RequiresNpmDependencies { @get:Internal - @Transient protected val nodeJs = NodeJsRootPlugin.apply(project.rootProject) @get:Internal diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt index d77ad4e0916..8d33340e280 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/nodejs/NodeJsRootExtension.kt @@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.targets.js.yarn.Yarn import org.jetbrains.kotlin.gradle.tasks.internal.CleanableStore import java.io.File -open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAware() { +open class NodeJsRootExtension(@Transient val rootProject: Project) : ConfigurationPhaseAware() { init { check(rootProject.rootProject == rootProject) } @@ -41,6 +41,7 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa var packageManager: NpmApi by Property(Yarn()) + @Transient private val projectProperties = PropertiesProvider(rootProject) inner class Experimental { @@ -50,6 +51,7 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa val experimental = Experimental() + @Transient val taskRequirements = TasksRequirements() val nodeJsSetupTaskProvider: TaskProvider @@ -117,6 +119,8 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa } val versions = NpmVersions() + + @Transient internal val npmResolutionManager = KotlinNpmResolutionManager(this) companion object { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt index 5e2f9b256c4..52eebcf4119 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/PublicPackageJsonTask.kt @@ -23,9 +23,8 @@ constructor( @Transient private val compilation: KotlinJsCompilation ) : DefaultTask() { - + @Transient private val npmProject = compilation.npmProject - private val nodeJs = npmProject.nodeJs private val compilationResolution diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt index f2cdc4d7d68..78b99023fc1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinNpmInstallTask.kt @@ -24,7 +24,6 @@ open class KotlinNpmInstallTask : DefaultTask() { } } - @Transient private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val resolutionManager get() = nodeJs.npmResolutionManager diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt index a3b059b1511..51d7cb17000 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt @@ -21,7 +21,6 @@ import org.jetbrains.kotlin.gradle.tasks.registerTask import java.io.File open class KotlinPackageJsonTask : DefaultTask() { - @Transient private lateinit var nodeJs: NodeJsRootExtension @Transient diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/RootPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/RootPackageJsonTask.kt index 871d20a1b52..0e96c84e38d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/RootPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/RootPackageJsonTask.kt @@ -21,7 +21,6 @@ open class RootPackageJsonTask : DefaultTask() { } } - @Transient private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val resolutionManager get() = nodeJs.npmResolutionManager 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 16d28c6f5fc..ebe3cb0737a 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 @@ -38,7 +38,6 @@ constructor( @Transient override val compilation: KotlinJsCompilation ) : DefaultTask(), RequiresNpmDependencies { - @Transient private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val versions = nodeJs.versions @@ -215,6 +214,8 @@ constructor( override val requiredNpmDependencies: Set @Internal get() = createRunner().config.getRequiredDependencies(versions) + private val isContinuous = project.gradle.startParameter.isContinuous + @TaskAction fun doExecute() { nodeJs.npmResolutionManager.checkRequiredDependencies(this) @@ -226,13 +227,11 @@ constructor( return } - if (project.gradle.startParameter.isContinuous) { - val continuousRunner = runner - + if (isContinuous) { val deploymentRegistry = services.get(DeploymentRegistry::class.java) val deploymentHandle = deploymentRegistry.get("webpack", Handle::class.java) if (deploymentHandle == null) { - deploymentRegistry.start("webpack", DeploymentRegistry.ChangeBehavior.BLOCK, Handle::class.java, continuousRunner) + deploymentRegistry.start("webpack", DeploymentRegistry.ChangeBehavior.BLOCK, Handle::class.java, runner) } } else { runner.copy(