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