[Gradle, JS] make state in KotlinRootNpmResolverStateHolder public
This commit is contained in:
+12
-12
@@ -58,15 +58,9 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
rootProject_.version.toString()
|
||||
}
|
||||
|
||||
enum class State {
|
||||
CONFIGURING,
|
||||
PROJECTS_CLOSED,
|
||||
INSTALLED
|
||||
}
|
||||
|
||||
@Transient
|
||||
@Volatile
|
||||
private var state_: State? = State.CONFIGURING
|
||||
private var state_: RootResolverState? = RootResolverState.CONFIGURING
|
||||
|
||||
private var state
|
||||
get() = state_ ?: resolverStateHolder.get().state
|
||||
@@ -191,7 +185,7 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
|
||||
fun addProject(target: Project) {
|
||||
synchronized(projectResolvers) {
|
||||
check(state == State.CONFIGURING) { alreadyResolvedMessage("add new project: $target") }
|
||||
check(state == RootResolverState.CONFIGURING) { alreadyResolvedMessage("add new project: $target") }
|
||||
projectResolvers[target.path] = KotlinProjectNpmResolver(target, this)
|
||||
}
|
||||
}
|
||||
@@ -246,10 +240,10 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
*/
|
||||
internal fun prepareInstallation(logger: Logger): Installation {
|
||||
synchronized(projectResolvers) {
|
||||
check(state == State.CONFIGURING) {
|
||||
check(state == RootResolverState.CONFIGURING) {
|
||||
"Projects must be configuring"
|
||||
}
|
||||
state = State.PROJECTS_CLOSED
|
||||
state = RootResolverState.PROJECTS_CLOSED
|
||||
|
||||
val projectResolutions = projectResolvers.values
|
||||
.map { it.close() }
|
||||
@@ -288,10 +282,10 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
logger: Logger
|
||||
): KotlinRootNpmResolution {
|
||||
synchronized(projectResolvers) {
|
||||
check(state == State.PROJECTS_CLOSED) {
|
||||
check(state == RootResolverState.PROJECTS_CLOSED) {
|
||||
"Projects must be closed"
|
||||
}
|
||||
state = State.INSTALLED
|
||||
state = RootResolverState.INSTALLED
|
||||
|
||||
val allNpmPackages = projectResolutions
|
||||
.values
|
||||
@@ -327,4 +321,10 @@ internal class KotlinRootNpmResolver internal constructor(
|
||||
}
|
||||
}
|
||||
|
||||
enum class RootResolverState {
|
||||
CONFIGURING,
|
||||
PROJECTS_CLOSED,
|
||||
INSTALLED
|
||||
}
|
||||
|
||||
const val PACKAGE_JSON_UMBRELLA_TASK_NAME = "packageJsonUmbrella"
|
||||
+3
-3
@@ -19,8 +19,8 @@ import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnEnv
|
||||
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnResolution
|
||||
|
||||
// We use this service as a single storage for duplicated data in configuration cache
|
||||
internal abstract class KotlinRootNpmResolverStateHolder : BuildService<KotlinRootNpmResolverStateHolder.Parameters> {
|
||||
interface Parameters : BuildServiceParameters {
|
||||
abstract class KotlinRootNpmResolverStateHolder : BuildService<KotlinRootNpmResolverStateHolder.Parameters> {
|
||||
internal interface Parameters : BuildServiceParameters {
|
||||
val plugins: ListProperty<RootResolverPlugin>
|
||||
val projectResolvers: MapProperty<String, KotlinProjectNpmResolver>
|
||||
val packageManager: Property<NpmApi>
|
||||
@@ -36,5 +36,5 @@ internal abstract class KotlinRootNpmResolverStateHolder : BuildService<KotlinRo
|
||||
var initialized = false
|
||||
|
||||
@Volatile
|
||||
var state = KotlinRootNpmResolver.State.CONFIGURING
|
||||
var state = RootResolverState.CONFIGURING
|
||||
}
|
||||
Reference in New Issue
Block a user