From 8a6ee66f81081739054405d61a357979e4bde0b8 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Fri, 6 Sep 2019 14:56:50 +0300 Subject: [PATCH] Yarn manipulation in build script - Remove yarn folder in task inside build script to not import GradleUserHomeLookup - Check yarn folder existence in task inside build script --- .../kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 15 ++++++--------- .../testProject/yarn-setup/build.gradle.kts | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index da441e9df45..59053c33b20 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -1,7 +1,6 @@ package org.jetbrains.kotlin.gradle import org.gradle.api.logging.LogLevel -import org.gradle.wrapper.GradleUserHomeLookup import org.jetbrains.kotlin.gradle.tasks.USING_JS_INCREMENTAL_COMPILATION_MESSAGE import org.jetbrains.kotlin.gradle.util.getFileByName import org.jetbrains.kotlin.gradle.util.getFilesByNames @@ -421,18 +420,16 @@ class Kotlin2JsGradlePluginIT : BaseGradleIT() { gradleBuildScript().modify(::transformBuildScriptWithPluginsDsl) gradleSettingsScript().modify(::transformBuildScriptWithPluginsDsl) - GradleUserHomeLookup.gradleUserHome().resolve("yarn").deleteRecursively() + build("yarnFolderRemove") { + assertSuccessful() + } - build("kotlinYarnSetup") { + build("kotlinYarnSetup", "yarnFolderCheck") { assertSuccessful() assertTasksExecuted( - ":kotlinYarnSetup" - ) - - assertFileExists( - path = GradleUserHomeLookup.gradleUserHome().resolve("yarn").canonicalPath, - inWorkingDir = false + ":kotlinYarnSetup", + ":yarnFolderCheck" ) } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/yarn-setup/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/yarn-setup/build.gradle.kts index c0fce418244..d32aabe4a90 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/yarn-setup/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/yarn-setup/build.gradle.kts @@ -14,6 +14,24 @@ repositories { yarn +tasks { + val yarnFolderRemove by registering { + doLast { + yarn.installationDir.deleteRecursively() + } + } + + val yarnFolderCheck by registering { + dependsOn(getByName("kotlinYarnSetup")) + + doLast { + if (!yarn.installationDir.exists()) { + throw GradleException() + } + } + } +} + kotlin.sourceSets { getByName("main") { dependencies {