From e496c638ad5ae1407c03e49f3359e20dc7e1aec4 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 27 Oct 2021 13:45:45 +0300 Subject: [PATCH] [Gradle, JS] Ignore scripts by default ^KT-34014 fixed ^KT-49505 fixed --- .../org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt | 4 ++-- .../targets/js/npm/resolver/KotlinRootNpmResolver.kt | 3 +-- .../org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt | 6 ++---- .../kotlin/gradle/targets/js/yarn/YarnBasics.kt | 9 +++++---- .../jetbrains/kotlin/gradle/targets/js/yarn/YarnEnv.kt | 3 ++- .../kotlin/gradle/targets/js/yarn/YarnRootExtension.kt | 5 ++++- .../kotlin/gradle/targets/js/yarn/YarnWorkspaces.kt | 6 ++---- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt index 532616436cb..7aeaa00cb5a 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/NpmApi.kt @@ -10,6 +10,7 @@ import org.gradle.api.logging.Logger import org.gradle.internal.service.ServiceRegistry import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinCompilationNpmResolution +import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnEnv import java.io.File import java.io.Serializable @@ -36,8 +37,7 @@ interface NpmApi : Serializable { services: ServiceRegistry, logger: Logger, nodeJs: NpmEnvironment, - command: String, - isStandalone: Boolean, + yarn: YarnEnv, npmProjects: Collection, cliArgs: List ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt index 8b935201c11..5cf1c643ca0 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinRootNpmResolver.kt @@ -291,8 +291,7 @@ internal class KotlinRootNpmResolver internal constructor( services, logger, npmEnvironment, - yarnEnvironment.executable, - yarnEnvironment.standalone, + yarnEnvironment, allNpmPackages, args ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt index cd6cbe6031a..7bde6fa946d 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/Yarn.kt @@ -52,8 +52,7 @@ class Yarn : NpmApi { services: ServiceRegistry, logger: Logger, nodeJs: NpmEnvironment, - command: String, - isStandalone: Boolean, + yarn: YarnEnv, npmProjects: Collection, cliArgs: List ) { @@ -62,8 +61,7 @@ class Yarn : NpmApi { services, logger, nodeJs, - command, - isStandalone, + yarn, npmProjects, cliArgs ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt index c671ae1c0fc..fa3bdae0c0f 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnBasics.kt @@ -29,15 +29,15 @@ abstract class YarnBasics : NpmApi { services: ServiceRegistry, logger: Logger, nodeJs: NpmEnvironment, - command: String, - isStandalone: Boolean, + yarn: YarnEnv, dir: File, description: String, args: List ) { services.execWithProgress(description) { exec -> val arguments = args + - if (logger.isDebugEnabled) "--verbose" else "" + if (logger.isDebugEnabled) "--verbose" else "" + + if (yarn.ignoreScripts) "--ignore-scripts" else "" val nodeExecutable = nodeJs.nodeExecutable exec.environment( @@ -45,7 +45,8 @@ abstract class YarnBasics : NpmApi { "$nodeExecutable${File.pathSeparator}${System.getenv("PATH")}" ) - if (isStandalone) { + val command = yarn.executable + if (yarn.standalone) { exec.executable = command exec.args = arguments } else { diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEnv.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEnv.kt index 9713750965d..1b0daf5cfeb 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEnv.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnEnv.kt @@ -15,5 +15,6 @@ data class YarnEnv( val home: File, val executable: String, val ivyDependency: String, - val standalone: Boolean + val standalone: Boolean, + val ignoreScripts: Boolean, ) : Serializable 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 6fdf50caac4..89ebac89619 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 @@ -42,6 +42,8 @@ open class YarnRootExtension( var lockFileName by Property("kotlin-yarn.lock") var lockFileDirectory: File by Property(project.rootDir) + var ignoreScripts by Property(true) + val yarnSetupTaskProvider: TaskProvider get() = project.tasks .withType(YarnSetupTask::class.java) @@ -103,7 +105,8 @@ open class YarnRootExtension( home = home, executable = getExecutable("yarn", command, "cmd"), standalone = !download, - ivyDependency = "com.yarnpkg:yarn:$version@tar.gz" + ivyDependency = "com.yarnpkg:yarn:$version@tar.gz", + ignoreScripts = ignoreScripts, ) } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnWorkspaces.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnWorkspaces.kt index 9658e805ab3..588bf3bf524 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnWorkspaces.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/yarn/YarnWorkspaces.kt @@ -71,8 +71,7 @@ class YarnWorkspaces : YarnBasics() { services: ServiceRegistry, logger: Logger, nodeJs: NpmEnvironment, - command: String, - isStandalone: Boolean, + yarn: YarnEnv, npmProjects: Collection, cliArgs: List ) { @@ -82,8 +81,7 @@ class YarnWorkspaces : YarnBasics() { services, logger, nodeJs, - command, - isStandalone, + yarn, nodeJsWorldDir, NpmApi.resolveOperationDescription("yarn"), cliArgs