diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt index 42f5fa3e252..533b6a7718f 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/HierarchicalStructureOptOutIT.kt @@ -9,9 +9,11 @@ import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.testbase.* import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.extension.ExtensionContext +import org.junit.jupiter.api.io.TempDir import org.junit.jupiter.params.ParameterizedTest import org.junit.jupiter.params.provider.Arguments import org.junit.jupiter.params.provider.ArgumentsSource +import java.nio.file.Path import java.util.stream.Stream import java.util.zip.ZipFile import kotlin.io.path.deleteIfExists @@ -29,8 +31,13 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase fun testArtifactFormatAndContent( gradleVersion: GradleVersion, hmppMode: Mode, + @TempDir localRepository: Path, ) { - project("new-mpp-published", gradleVersion) { + project( + projectName = "new-mpp-published", + gradleVersion = gradleVersion, + localRepoDir = localRepository, + ) { gradleProperties.deleteIfExists() val hierarchicalStructureFlag = when (hmppMode) { @@ -52,7 +59,7 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase ).toTypedArray() ) { val metadataJarEntries = ZipFile( - projectPath.resolve("../repo/com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0.jar").toFile() + localRepository.resolve("com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0.jar").toFile() ).use { zip -> zip.entries().asSequence().toList().map { it.name } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinToolingMetadataIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinToolingMetadataIT.kt index 2e3543df839..1b1d1fefaed 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinToolingMetadataIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinToolingMetadataIT.kt @@ -14,6 +14,8 @@ import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.tooling.KotlinToolingMetadata import org.jetbrains.kotlin.tooling.parseJsonOrThrow import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.io.TempDir +import java.nio.file.Path import kotlin.io.path.appendText import kotlin.io.path.readText import kotlin.test.assertEquals @@ -31,9 +33,14 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() { @GradleTest @DisplayName("Check published metadata contains right data") fun checkPublishedMetadata( - gradleVersion: GradleVersion + gradleVersion: GradleVersion, + @TempDir localRepository: Path, ) { - project("new-mpp-published", gradleVersion) { + project( + projectName = "new-mpp-published", + gradleVersion = gradleVersion, + localRepoDir = localRepository + ) { build("publish") { assertTasksExecuted(":$buildKotlinToolingMetadataTaskName") @@ -53,8 +60,8 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() { ) /* Check metadata file in published repository */ - val publishedMetadataJson = projectPath.parent.resolve( - "repo/com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0-kotlin-tooling-metadata.json" + val publishedMetadataJson = localRepository.resolve( + "com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0-kotlin-tooling-metadata.json" ).readText() assertEquals( @@ -88,8 +95,13 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() { @DisplayName("KotlinToolingMetadata should be not published when disabled") fun checkPublishingWithKotlinToolingMetadataArtifactDisabled( gradleVersion: GradleVersion, + @TempDir localRepository: Path, ) { - project("new-mpp-published", gradleVersion) { + project( + projectName = "new-mpp-published", + gradleVersion = gradleVersion, + localRepoDir = localRepository + ) { gradleProperties.appendText("\nkotlin.mpp.enableKotlinToolingMetadataArtifact=false") build("publish") { assertFileNotExists(defaultKotlinToolingMetadataJsonPath) @@ -101,9 +113,14 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() { @GradleTest @DisplayName("KotlinToolingMetadata tasks are avaialbe in Kotlin JS browser project") fun tasksAreAvailableInKotlinJsBrowser( - gradleVersion: GradleVersion + gradleVersion: GradleVersion, + @TempDir localRepository: Path ) { - project("kotlin-js-browser-project", gradleVersion) { + project( + projectName = "kotlin-js-browser-project", + gradleVersion = gradleVersion, + localRepoDir = localRepository + ) { build(buildKotlinToolingMetadataTaskName) { assertTasksExecuted(":app:$buildKotlinToolingMetadataTaskName") assertTasksExecuted(":base:$buildKotlinToolingMetadataTaskName") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryNextIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryNextIT.kt index b39e769b222..feebf6e9980 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryNextIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/experimental/TryNextIT.kt @@ -14,6 +14,8 @@ import org.jetbrains.kotlin.gradle.testbase.* import org.jetbrains.kotlin.gradle.util.parseCompilerArgumentsFromBuildOutput import org.jetbrains.kotlin.konan.target.HostManager import org.junit.jupiter.api.DisplayName +import org.junit.jupiter.api.io.TempDir +import java.nio.file.Path import kotlin.io.path.appendText @DisplayName("'kotlin.experimental.tryNext' option") @@ -162,10 +164,14 @@ class TryNextIT : KGPBaseTest() { @DisplayName("MPP: language version default is changed to next") @MppGradlePluginTests @GradleTest - fun languageVersionChangedMpp(gradleVersion: GradleVersion) { + fun languageVersionChangedMpp( + gradleVersion: GradleVersion, + @TempDir localRepository: Path, + ) { project( "new-mpp-published", gradleVersion, + localRepoDir = localRepository, buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG) ) { enableTryNext() @@ -349,5 +355,5 @@ class TryNextIT : KGPBaseTest() { """.trimMargin() ) - private val nextKotlinLanguageVersion = KotlinVersion.values().first { it > KotlinVersion.DEFAULT }.version + private val nextKotlinLanguageVersion = KotlinVersion.entries.first { it > KotlinVersion.DEFAULT }.version } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-published/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-published/build.gradle.kts index a9160650b8a..9e61b84b24e 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-published/build.gradle.kts +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-published/build.gradle.kts @@ -5,7 +5,7 @@ plugins { repositories { mavenLocal() - maven("../repo") + maven("") mavenCentral() } @@ -90,6 +90,6 @@ kotlin { publishing { repositories { - maven("../repo") + maven("") } }