[Gradle, JS] Migrate from singletons to classes

This commit is contained in:
Ilya Goncharov
2020-03-06 13:04:40 +03:00
parent 82de930574
commit 8fbfa8b819
4 changed files with 12 additions and 7 deletions
@@ -30,7 +30,7 @@ open class NodeJsRootExtension(val rootProject: Project) : ConfigurationPhaseAwa
var nodeCommand by Property("node")
var packageManager: NpmApi by Property(Yarn)
var packageManager: NpmApi by Property(Yarn())
private val projectProperties = PropertiesProvider(rootProject)
@@ -10,10 +10,13 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.NpmApi
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinCompilationNpmResolution
object Yarn : NpmApi {
class Yarn : NpmApi {
private val yarnWorkspaces = YarnWorkspaces()
private val yarnSimple = YarnSimple()
private fun getDelegate(project: Project): NpmApi =
if (project.yarn.useWorkspaces) YarnWorkspaces
else YarnSimple
if (project.yarn.useWorkspaces) yarnWorkspaces
else yarnSimple
override fun setup(project: Project) =
getDelegate(project.rootProject).setup(project)
@@ -10,7 +10,7 @@ import org.jetbrains.kotlin.gradle.targets.js.npm.NpmApi
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJsonUpToDateCheck
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinCompilationNpmResolution
object YarnSimple : YarnBasics() {
class YarnSimple : YarnBasics() {
override fun resolveProject(resolvedNpmProject: KotlinCompilationNpmResolution) {
setup(resolvedNpmProject.project.rootProject)
@@ -7,11 +7,13 @@ package org.jetbrains.kotlin.gradle.targets.js.yarn
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
import org.jetbrains.kotlin.gradle.targets.js.npm.*
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmApi
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinCompilationNpmResolution
import java.io.File
object YarnWorkspaces : YarnBasics() {
class YarnWorkspaces : YarnBasics() {
override fun resolveProject(resolvedNpmProject: KotlinCompilationNpmResolution) = Unit
override fun resolveRootProject(