[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
}
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { nodeJs.npmResolutionManager.toString() }
}
@get:Internal
override val nodeModulesRequired: Boolean
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.targets.js.ir.KotlinJsIrCompilation
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 java.io.File
import javax.inject.Inject
@@ -38,11 +36,6 @@ constructor(
)[projectPath][compilationName]
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { nodeJs.npmResolutionManager.toString() }
}
// TODO: is map contains only serializable values?
@get:Input
val packageJsonCustomFields: Map<String, Any?> by lazy {
@@ -27,11 +27,6 @@ open class KotlinNpmInstallTask : DefaultTask() {
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
private val resolutionManager get() = nodeJs.npmResolutionManager
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { resolutionManager.toString() }
}
@Input
val args: MutableList<String> = mutableListOf()
@@ -10,7 +10,6 @@ import org.gradle.api.tasks.OutputFile
import org.gradle.api.tasks.TaskAction
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.utils.disableTaskOnConfigurationCacheBuild
import java.io.File
open class RootPackageJsonTask : DefaultTask() {
@@ -29,11 +28,6 @@ open class RootPackageJsonTask : DefaultTask() {
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
private val resolutionManager get() = nodeJs.npmResolutionManager
init {
// TODO: temporary workaround for configuration cache enabled builds
// disableTaskOnConfigurationCacheBuild { resolutionManager.toString() }
}
@get:OutputFile
val rootPackageJson: File
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.webpack.KotlinWebpackConfig.Mode
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.newFileProperty
import org.jetbrains.kotlin.gradle.utils.property
@@ -42,11 +41,6 @@ constructor(
private val nodeJs = NodeJsRootPlugin.apply(project.rootProject)
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 projectPath = project.path
@@ -5,7 +5,6 @@
package org.jetbrains.kotlin.gradle.utils
import org.gradle.api.Task
import org.gradle.api.invocation.Gradle
internal fun isConfigurationCacheAvailable(gradle: Gradle) =
@@ -14,20 +13,4 @@ internal fun isConfigurationCacheAvailable(gradle: Gradle) =
startParameters.javaClass.getMethod("isConfigurationCache").invoke(startParameters) as? Boolean
} catch (_: Exception) {
null
} ?: 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
}
}
}
}
} ?: false