[Gradle, JS] RootPackageJson task with up-to-date status
This commit is contained in:
committed by
TeamCityServer
parent
f182a1c750
commit
1cc5a9493c
+3
-1
@@ -26,6 +26,8 @@ internal abstract class AbstractNodeModulesCache : AutoCloseable, BuildService<A
|
||||
const val STATE_FILE_NAME = ".visited"
|
||||
}
|
||||
|
||||
abstract val type: String
|
||||
|
||||
lateinit var fileHasher: FileHasher
|
||||
|
||||
private val cache by lazy {
|
||||
@@ -33,7 +35,7 @@ internal abstract class AbstractNodeModulesCache : AutoCloseable, BuildService<A
|
||||
fileHasher,
|
||||
parameters.rootProjectDir.get().asFile,
|
||||
parameters.cacheDir.get().asFile,
|
||||
STATE_FILE_NAME,
|
||||
"$STATE_FILE_NAME-$type",
|
||||
"9"
|
||||
)
|
||||
}
|
||||
|
||||
+3
@@ -13,6 +13,9 @@ import java.io.File
|
||||
* Cache for storing already created [GradleNodeModule]s
|
||||
*/
|
||||
internal abstract class CompositeNodeModulesCache : AbstractNodeModulesCache() {
|
||||
override val type: String
|
||||
get() = "composite"
|
||||
|
||||
override fun buildImportedPackage(
|
||||
name: String,
|
||||
version: String,
|
||||
|
||||
+3
@@ -21,6 +21,9 @@ internal abstract class GradleNodeModulesCache : AbstractNodeModulesCache() {
|
||||
@Transient
|
||||
lateinit var fs: FileSystemOperationsCompat
|
||||
|
||||
override val type: String
|
||||
get() = "gradle"
|
||||
|
||||
// TODO: replace by injected service org.gradle.api.file.ArchiveOperations once min supported Gradle is 6.6
|
||||
@Transient
|
||||
lateinit var archiveOperations: ArchiveOperationsCompat
|
||||
|
||||
+1
-1
@@ -126,7 +126,7 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
val plugins
|
||||
get() = plugins_ ?: resolverStateHolder.get().parameters.plugins.get()
|
||||
|
||||
val projectResolvers
|
||||
private val projectResolvers
|
||||
get() = projectResolvers_ ?: configurationCacheProjectResolvers
|
||||
|
||||
val yarn by lazy {
|
||||
|
||||
+7
-6
@@ -6,8 +6,7 @@
|
||||
package org.jetbrains.kotlin.gradle.targets.js.npm.tasks
|
||||
|
||||
import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.tasks.OutputFile
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import org.gradle.api.tasks.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
|
||||
import java.io.File
|
||||
@@ -16,10 +15,6 @@ open class RootPackageJsonTask : DefaultTask() {
|
||||
init {
|
||||
check(project == project.rootProject)
|
||||
|
||||
outputs.upToDateWhen {
|
||||
false
|
||||
}
|
||||
|
||||
onlyIf {
|
||||
resolutionManager.isConfiguringState()
|
||||
}
|
||||
@@ -34,6 +29,12 @@ open class RootPackageJsonTask : DefaultTask() {
|
||||
nodeJs.rootPackageDir.resolve(NpmProject.PACKAGE_JSON)
|
||||
}
|
||||
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
@get:InputFiles
|
||||
val packageJsonFiles: Collection<File> by lazy {
|
||||
resolutionManager.packageJsonFiles
|
||||
}
|
||||
|
||||
@TaskAction
|
||||
fun resolve() {
|
||||
resolutionManager.prepare(logger)
|
||||
|
||||
+4
@@ -7,7 +7,11 @@ package org.jetbrains.kotlin.gradle.targets.js.yarn
|
||||
|
||||
import org.gradle.api.Plugin
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.attributes.Usage
|
||||
import org.gradle.api.plugins.BasePlugin
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName
|
||||
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
||||
import org.jetbrains.kotlin.gradle.targets.js.MultiplePluginDeclarationDetector
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
|
||||
|
||||
Reference in New Issue
Block a user