From babdeacdaf541ea412dc14897354051a39428c8d Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 12 Aug 2020 13:43:58 +0300 Subject: [PATCH] [Gradle, JS] Add resolution configuration method ^KT-41054 fixed --- .../kotlin-js-yarn-resolutions/build.gradle.kts | 12 ++++-------- .../gradle/targets/js/yarn/YarnRootExtension.kt | 8 ++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-yarn-resolutions/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-yarn-resolutions/build.gradle.kts index 5b1bc207c46..521cc9cb343 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-yarn-resolutions/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kotlin-js-yarn-resolutions/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnResolution - plugins { kotlin("js").version("") } @@ -14,12 +12,10 @@ repositories { rootProject.plugins.withType(org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin::class.java) { rootProject.the().apply { - resolutions.add( - YarnResolution("lodash").apply { - include("^1.0.0") - exclude("~1.2.1", "1.3.0 - 1.4.0") - } - ) + resolution("lodash") { + include("^1.0.0") + exclude("~1.2.1", "1.3.0 - 1.4.0") + } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnRootExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnRootExtension.kt index 772a2a3601f..a5c8914f976 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnRootExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnRootExtension.kt @@ -5,6 +5,7 @@ package org.jetbrains.kotlin.gradle.targets.js.yarn +import org.gradle.api.Action import org.gradle.api.Incubating import org.gradle.api.Project import org.gradle.api.tasks.TaskProvider @@ -45,6 +46,13 @@ open class YarnRootExtension(val project: Project) : ConfigurationPhaseAware = mutableListOf() + fun resolution(path: String, configure: Action) { + resolutions.add( + YarnResolution(path) + .apply { configure.execute(this) } + ) + } + @Incubating fun disableGranularWorkspaces() { val packageJsonUmbrella = NodeJsRootPlugin.apply(project)