diff --git a/buildSrc/src/main/kotlin/YarnAndNpmSupressor.kt b/buildSrc/src/main/kotlin/YarnAndNpmSupressor.kt index 292368ac3b9..7dcf822d77b 100644 --- a/buildSrc/src/main/kotlin/YarnAndNpmSupressor.kt +++ b/buildSrc/src/main/kotlin/YarnAndNpmSupressor.kt @@ -11,7 +11,6 @@ import org.gradle.api.tasks.TaskProvider /* This file is solely needed to suppress implicit dependencies on npm and yarn tasks registered by Kotlin Gradle Plugin */ private val rootNpmRelatedTasks = setOf("kotlinNpmInstall", "kotlinStoreYarnLock") -private val ownNpmRelatedTasks = setOf("jsGenerateExternalsIntegrated", "irGenerateExternalsIntegrated", "wasmGenerateExternalsIntegrated") private val forbidImplicitDependOnNpmRelatedTasks = setOf( "jsPackageJson", @@ -27,40 +26,6 @@ private val forbidImplicitDependOnNpmRelatedTasks = setOf( ) private val allowImplicitDependOnNpmForTasks = setOf("compileTestKotlinJs", "compileTestKotlinWasm") -/** - * Kotlin JS gradle plugin implicitly define dependency to installing NPM and Yarn - * https://youtrack.jetbrains.com/issue/KT-53687/Dont-trigger-npm-and-yarn-related-tasks-if-it-not-relevant-for-assemble - * We would like to explicitly disable this behaviour for kotlin standard library publication as it's shouldn't be needed but make the - * build slower, make it less stable, generated additional traffic, make the build less secure and so on. - * - * Implemented by manually removing dependencies set by Kotlin Gradle Plugin. - */ -fun Project.suppressYarnAndNpmForAssemble() { - afterEvaluate { - for (npmYarnTaskName in rootNpmRelatedTasks) { - tasks.findByPath(":$npmYarnTaskName") ?: error("Can't find root task $npmYarnTaskName") - } - - val npmRelatedTasksNames = rootNpmRelatedTasks + ownNpmRelatedTasks - - for (taskName in forbidImplicitDependOnNpmRelatedTasks) { - val task = project.tasks.findByName(taskName) ?: continue - if (!task.enabled) continue - - val removeDependencies = task.dependsOn - .filterIsInstance(TaskProvider::class.java) - .filter { it.name in npmRelatedTasksNames } - .toSet() - - if (removeDependencies.isNotEmpty()) { - task.setDependsOn(task.dependsOn - removeDependencies) - logger.info("Disable NPM/Yarn dependency tasks in $project - " + - "remove ${removeDependencies.joinToString(", ") { "'${it.name}'" }} dependencies from $task") - } - } - } -} - private fun findRootTasks(taskGraph: TaskExecutionGraph): List { val allDependentTasksPaths = mutableSetOf() val allTasksPaths = mutableSetOf() diff --git a/libraries/kotlin.test/js-ir/build.gradle.kts b/libraries/kotlin.test/js-ir/build.gradle.kts index 60fcb0c73d9..f583b1baa92 100644 --- a/libraries/kotlin.test/js-ir/build.gradle.kts +++ b/libraries/kotlin.test/js-ir/build.gradle.kts @@ -4,8 +4,6 @@ plugins { kotlin("multiplatform") } -suppressYarnAndNpmForAssemble() - val commonMainSources by task { from( "$rootDir/libraries/kotlin.test/common/src/main", diff --git a/libraries/kotlin.test/wasm/build.gradle.kts b/libraries/kotlin.test/wasm/build.gradle.kts index 623218bba3a..fa42886cd12 100644 --- a/libraries/kotlin.test/wasm/build.gradle.kts +++ b/libraries/kotlin.test/wasm/build.gradle.kts @@ -35,8 +35,6 @@ kotlin { } } -suppressYarnAndNpmForAssemble() - tasks.withType>().configureEach { kotlinOptions.freeCompilerArgs += listOf( "-Xallow-kotlin-package", diff --git a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts index e673452a031..80de132e49b 100644 --- a/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts +++ b/libraries/stdlib/js-ir-minimal-for-test/build.gradle.kts @@ -10,8 +10,6 @@ kotlin { } } -suppressYarnAndNpmForAssemble() - val commonMainSources by task { dependsOn(":kotlin-stdlib-js-ir:commonMainSources") from { diff --git a/libraries/stdlib/js-ir/build.gradle.kts b/libraries/stdlib/js-ir/build.gradle.kts index 73633ca4a7e..aa8fd522003 100644 --- a/libraries/stdlib/js-ir/build.gradle.kts +++ b/libraries/stdlib/js-ir/build.gradle.kts @@ -16,8 +16,6 @@ kotlin { } } -suppressYarnAndNpmForAssemble() - val unimplementedNativeBuiltIns = (file("$rootDir/core/builtins/native/kotlin/").list().toSortedSet() - file("$rootDir/libraries/stdlib/js-ir/builtins/").list()) .map { "core/builtins/native/kotlin/$it" } diff --git a/libraries/stdlib/wasm/build.gradle.kts b/libraries/stdlib/wasm/build.gradle.kts index 7c4c307d1ce..fae36c413e6 100644 --- a/libraries/stdlib/wasm/build.gradle.kts +++ b/libraries/stdlib/wasm/build.gradle.kts @@ -7,8 +7,6 @@ plugins { kotlin("multiplatform") } -suppressYarnAndNpmForAssemble() - description = "Kotlin Standard Library for experimental WebAssembly platform" val unimplementedNativeBuiltIns = diff --git a/plugins/atomicfu/atomicfu-runtime/build.gradle.kts b/plugins/atomicfu/atomicfu-runtime/build.gradle.kts index 8f2f00f6576..58c6cf4185b 100644 --- a/plugins/atomicfu/atomicfu-runtime/build.gradle.kts +++ b/plugins/atomicfu/atomicfu-runtime/build.gradle.kts @@ -28,8 +28,6 @@ kotlin { } } -suppressYarnAndNpmForAssemble() - configureCommonPublicationSettingsForGradle(signLibraryPublication) publishing {