[Gradle, JS] Remove workaround for configuration cache enabled builds

It's removed as those tasks now support Gradle configuration cache
This commit is contained in:
Alexander Likhachev
2021-02-09 13:57:35 +03:00
parent 432c6486d5
commit a6bf9bf51b
6 changed files with 1 additions and 47 deletions
@@ -26,11 +26,6 @@ abstract class DukatTask(
compilation.disambiguatedName compilation.disambiguatedName
} }
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { nodeJs.npmResolutionManager.toString() }
}
@get:Internal @get:Internal
override val nodeModulesRequired: Boolean override val nodeModulesRequired: Boolean
get() = true get() = true
@@ -13,8 +13,6 @@ import org.gradle.api.tasks.TaskAction
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON
import org.jetbrains.kotlin.gradle.utils.disableTaskOnConfigurationCacheBuild
import org.jetbrains.kotlin.gradle.utils.getValue
import org.jetbrains.kotlin.gradle.utils.property import org.jetbrains.kotlin.gradle.utils.property
import java.io.File import java.io.File
import javax.inject.Inject import javax.inject.Inject
@@ -38,11 +36,6 @@ constructor(
)[projectPath][compilationName] )[projectPath][compilationName]
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { nodeJs.npmResolutionManager.toString() }
}
// TODO: is map contains only serializable values? // TODO: is map contains only serializable values?
@get:Input @get:Input
val packageJsonCustomFields: Map<String, Any?> by lazy { val packageJsonCustomFields: Map<String, Any?> by lazy {
@@ -27,11 +27,6 @@ open class KotlinNpmInstallTask : DefaultTask() {
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
private val resolutionManager get() = nodeJs.npmResolutionManager private val resolutionManager get() = nodeJs.npmResolutionManager
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { resolutionManager.toString() }
}
@Input @Input
val args: MutableList<String> = mutableListOf() val args: MutableList<String> = mutableListOf()
@@ -10,7 +10,6 @@ import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction import org.gradle.api.tasks.TaskAction
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.utils.disableTaskOnConfigurationCacheBuild
import java.io.File import java.io.File
open class RootPackageJsonTask : DefaultTask() { open class RootPackageJsonTask : DefaultTask() {
@@ -29,11 +28,6 @@ open class RootPackageJsonTask : DefaultTask() {
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
private val resolutionManager get() = nodeJs.npmResolutionManager private val resolutionManager get() = nodeJs.npmResolutionManager
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { resolutionManager.toString() }
}
@get:OutputFile @get:OutputFile
val rootPackageJson: File val rootPackageJson: File
get() = nodeJs.rootPackageDir.resolve(NpmProject.PACKAGE_JSON) get() = nodeJs.rootPackageDir.resolve(NpmProject.PACKAGE_JSON)
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.RequiresNpmDependencies
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Mode
import org.jetbrains.kotlin.gradle.testing.internal.reportsDir import org.jetbrains.kotlin.gradle.testing.internal.reportsDir
import org.jetbrains.kotlin.gradle.utils.disableTaskOnConfigurationCacheBuild
import org.jetbrains.kotlin.gradle.utils.injected import org.jetbrains.kotlin.gradle.utils.injected
import org.jetbrains.kotlin.gradle.utils.newFileProperty import org.jetbrains.kotlin.gradle.utils.newFileProperty
import org.jetbrains.kotlin.gradle.utils.property import org.jetbrains.kotlin.gradle.utils.property
@@ -42,11 +41,6 @@ constructor(
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject) private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
private val versions = nodeJs.versions private val versions = nodeJs.versions
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { nodeJs.npmResolutionManager.toString() }
}
private val npmProject = compilation.npmProject private val npmProject = compilation.npmProject
private val projectPath = project.path private val projectPath = project.path
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.utils package org.jetbrains.kotlin.gradle.utils
import org.gradle.api.Task
import org.gradle.api.invocation.Gradle import org.gradle.api.invocation.Gradle
internal fun isConfigurationCacheAvailable(gradle: Gradle) = internal fun isConfigurationCacheAvailable(gradle: Gradle) =
@@ -15,19 +14,3 @@ internal fun isConfigurationCacheAvailable(gradle: Gradle) =
} catch (_: Exception) { } catch (_: Exception) {
null null
} ?: false } ?: false
internal fun Task.disableTaskOnConfigurationCacheBuild(transientFieldAccessor: () -> Unit) {
if (isConfigurationCacheAvailable(project.gradle)) {
onlyIf {
logger.warn("Configuration cache is not yet fully supported: use it at your own risk.")
try {
// transientFieldAccessor() will throw an exception after loading task from configuration cache
transientFieldAccessor()
true
} catch (e: Exception) {
logger.warn("Task cannot be executed because of corrupted state after loading from configuration cache.")
false
}
}
}
}