diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 403bf7cd817..2aed87f3833 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -65,6 +65,7 @@ + diff --git a/prepare/compiler/build.gradle.kts b/prepare/compiler/build.gradle.kts index 656a7e6e970..9a8da36da27 100644 --- a/prepare/compiler/build.gradle.kts +++ b/prepare/compiler/build.gradle.kts @@ -9,6 +9,8 @@ plugins { // HACK: java plugin makes idea import dependencies on this project as source (with empty sources however), // this prevents reindexing of kotlin-compiler.jar after build on every change in compiler modules `java-library` + // required to disambiguate attributes of non-jvm Kotlin libraries + kotlin("jvm") } @@ -50,6 +52,9 @@ val libraries by configurations.creating { val librariesStripVersion by configurations.creating +// for sbom only +val librariesKotlinTest by configurations.creating + // Compiler plugins should be copied without `kotlin-` prefix val compilerPlugins by configurations.creating { exclude("org.jetbrains.kotlin", "kotlin-stdlib-common") @@ -105,10 +110,6 @@ val distLibraryProjects = listOfNotNull( ":kotlin-scripting-compiler-impl", ":kotlin-scripting-jvm", ":js:js.engines", - ":kotlin-test:kotlin-test-junit", - ":kotlin-test:kotlin-test-junit5", - ":kotlin-test:kotlin-test-jvm", - ":kotlin-test:kotlin-test-testng", ":libraries:tools:mutability-annotations-compat", ":plugins:android-extensions-compiler", ":plugins:jvm-abi-gen" @@ -133,9 +134,6 @@ val distCompilerPluginProjectsCompat = listOf( val distSourcesProjects = listOfNotNull( ":kotlin-annotations-jvm", ":kotlin-script-runtime", - ":kotlin-test:kotlin-test-junit", - ":kotlin-test:kotlin-test-junit5", - ":kotlin-test:kotlin-test-testng" ) configurations.all { @@ -162,10 +160,10 @@ dependencies { } libraries(kotlinStdlib("jdk8")) + librariesKotlinTest(kotlinTest("junit")) if (!kotlinBuildProperties.isInJpsBuildIdeaSync) { libraries(kotlinStdlib(classifier = "distJsJar")) libraries(kotlinStdlib(classifier = "distJsKlib")) - libraries(project(":kotlin-test:kotlin-test-js-ir", configuration = "jsRuntimeElements")) } librariesStripVersion(commonDependency("org.jetbrains.kotlinx", "kotlinx-coroutines-core")) { isTransitive = false } @@ -205,8 +203,6 @@ dependencies { sources(project(":kotlin-stdlib", configuration = "distSources")) sources(project(":kotlin-stdlib", configuration = "distJsSourcesJar")) sources(project(":kotlin-reflect", configuration = "sources")) - sources(project(":kotlin-test", "combinedJvmSourcesJar")) - sources(project(":kotlin-test:kotlin-test-js-ir", configuration = "jsSourcesElements")) distStdlibMinimalForTests(project(":kotlin-stdlib-jvm-minimal-for-test")) @@ -248,13 +244,21 @@ dependencies { fatJarContentsStripVersions(commonDependency("one.util:streamex")) { isTransitive = false } } +val librariesKotlinTestFiles = files( + listOf(null, "junit", "junit5", "testng", "js").map { suffix -> + listOf(null, "sources").map { classifier -> + configurations.detachedConfiguration(dependencies.create(kotlinTest(suffix, classifier))).apply { isTransitive = false } + } + } +) + publish() // sbom for dist val distSbomTask = configureSbom( target = "Dist", documentName = "Kotlin Compiler Distribution", - setOf(configurations.runtimeClasspath.name, libraries.name, librariesStripVersion.name, compilerPlugins.name) + setOf(configurations.runtimeClasspath.name, libraries.name, librariesKotlinTest.name, librariesStripVersion.name, compilerPlugins.name) ) val packCompiler by task { @@ -397,6 +401,7 @@ val distKotlinc = distTask("distKotlinc") { into("lib") { from(jarFiles) { rename { "$compilerBaseName.jar" } } from(librariesFiles) + from(librariesKotlinTestFiles) from(librariesStripVersionFiles) { rename { it.replace(Regex("-\\d.*\\.jar\$"), ".jar") diff --git a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-compiler/kotlin-compiler.pom b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-compiler/kotlin-compiler.pom index c30184ec43d..7bcc8ce8637 100644 --- a/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-compiler/kotlin-compiler.pom +++ b/repo/artifacts-tests/src/test/resources/org/jetbrains/kotlin/kotlin-compiler/kotlin-compiler.pom @@ -1,6 +1,5 @@ - + 4.0.0 org.jetbrains.kotlin kotlin-compiler @@ -59,7 +58,7 @@ org.jetbrains.kotlinx - kotlinx-coroutines-core + kotlinx-coroutines-core-jvm 1.5.0 compile diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/repoDependencies.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/repoDependencies.kt index 1fff13bbd0c..317e2575eba 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/repoDependencies.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/repoDependencies.kt @@ -74,7 +74,7 @@ fun Project.kotlinStdlib(suffix: String? = null, classifier: String? = null): An */ @JvmOverloads fun Project.kotlinTest(suffix: String? = null, classifier: String? = null): Any { - return if (kotlinBuildProperties.isJpsBuildEnabled) { + return if (kotlinBuildProperties.isInJpsBuildIdeaSync) { kotlinDep(listOfNotNull("test", suffix?.lowercase()).joinToString("-"), bootstrapKotlinVersion, classifier) } else { val elementsType = when (classifier) {