[Gradle] Use proper approach to local repository
^KT-65528 In Progress
This commit is contained in:
committed by
Space Team
parent
eac48d065b
commit
ad5ee28d58
+9
-2
@@ -9,9 +9,11 @@ import org.gradle.util.GradleVersion
|
|||||||
import org.jetbrains.kotlin.gradle.testbase.*
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
import org.junit.jupiter.api.DisplayName
|
import org.junit.jupiter.api.DisplayName
|
||||||
import org.junit.jupiter.api.extension.ExtensionContext
|
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.ParameterizedTest
|
||||||
import org.junit.jupiter.params.provider.Arguments
|
import org.junit.jupiter.params.provider.Arguments
|
||||||
import org.junit.jupiter.params.provider.ArgumentsSource
|
import org.junit.jupiter.params.provider.ArgumentsSource
|
||||||
|
import java.nio.file.Path
|
||||||
import java.util.stream.Stream
|
import java.util.stream.Stream
|
||||||
import java.util.zip.ZipFile
|
import java.util.zip.ZipFile
|
||||||
import kotlin.io.path.deleteIfExists
|
import kotlin.io.path.deleteIfExists
|
||||||
@@ -29,8 +31,13 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase
|
|||||||
fun testArtifactFormatAndContent(
|
fun testArtifactFormatAndContent(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
hmppMode: Mode,
|
hmppMode: Mode,
|
||||||
|
@TempDir localRepository: Path,
|
||||||
) {
|
) {
|
||||||
project("new-mpp-published", gradleVersion) {
|
project(
|
||||||
|
projectName = "new-mpp-published",
|
||||||
|
gradleVersion = gradleVersion,
|
||||||
|
localRepoDir = localRepository,
|
||||||
|
) {
|
||||||
gradleProperties.deleteIfExists()
|
gradleProperties.deleteIfExists()
|
||||||
|
|
||||||
val hierarchicalStructureFlag = when (hmppMode) {
|
val hierarchicalStructureFlag = when (hmppMode) {
|
||||||
@@ -52,7 +59,7 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase
|
|||||||
).toTypedArray()
|
).toTypedArray()
|
||||||
) {
|
) {
|
||||||
val metadataJarEntries = ZipFile(
|
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 ->
|
).use { zip ->
|
||||||
zip.entries().asSequence().toList().map { it.name }
|
zip.entries().asSequence().toList().map { it.name }
|
||||||
}
|
}
|
||||||
|
|||||||
+24
-7
@@ -14,6 +14,8 @@ import org.jetbrains.kotlin.konan.target.KonanTarget
|
|||||||
import org.jetbrains.kotlin.tooling.KotlinToolingMetadata
|
import org.jetbrains.kotlin.tooling.KotlinToolingMetadata
|
||||||
import org.jetbrains.kotlin.tooling.parseJsonOrThrow
|
import org.jetbrains.kotlin.tooling.parseJsonOrThrow
|
||||||
import org.junit.jupiter.api.DisplayName
|
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.appendText
|
||||||
import kotlin.io.path.readText
|
import kotlin.io.path.readText
|
||||||
import kotlin.test.assertEquals
|
import kotlin.test.assertEquals
|
||||||
@@ -31,9 +33,14 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() {
|
|||||||
@GradleTest
|
@GradleTest
|
||||||
@DisplayName("Check published metadata contains right data")
|
@DisplayName("Check published metadata contains right data")
|
||||||
fun checkPublishedMetadata(
|
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") {
|
build("publish") {
|
||||||
assertTasksExecuted(":$buildKotlinToolingMetadataTaskName")
|
assertTasksExecuted(":$buildKotlinToolingMetadataTaskName")
|
||||||
@@ -53,8 +60,8 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() {
|
|||||||
)
|
)
|
||||||
|
|
||||||
/* Check metadata file in published repository */
|
/* Check metadata file in published repository */
|
||||||
val publishedMetadataJson = projectPath.parent.resolve(
|
val publishedMetadataJson = localRepository.resolve(
|
||||||
"repo/com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0-kotlin-tooling-metadata.json"
|
"com/example/bar/my-lib-bar/1.0/my-lib-bar-1.0-kotlin-tooling-metadata.json"
|
||||||
).readText()
|
).readText()
|
||||||
|
|
||||||
assertEquals(
|
assertEquals(
|
||||||
@@ -88,8 +95,13 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() {
|
|||||||
@DisplayName("KotlinToolingMetadata should be not published when disabled")
|
@DisplayName("KotlinToolingMetadata should be not published when disabled")
|
||||||
fun checkPublishingWithKotlinToolingMetadataArtifactDisabled(
|
fun checkPublishingWithKotlinToolingMetadataArtifactDisabled(
|
||||||
gradleVersion: GradleVersion,
|
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")
|
gradleProperties.appendText("\nkotlin.mpp.enableKotlinToolingMetadataArtifact=false")
|
||||||
build("publish") {
|
build("publish") {
|
||||||
assertFileNotExists(defaultKotlinToolingMetadataJsonPath)
|
assertFileNotExists(defaultKotlinToolingMetadataJsonPath)
|
||||||
@@ -101,9 +113,14 @@ class KotlinToolingMetadataMppIT : KGPBaseTest() {
|
|||||||
@GradleTest
|
@GradleTest
|
||||||
@DisplayName("KotlinToolingMetadata tasks are avaialbe in Kotlin JS browser project")
|
@DisplayName("KotlinToolingMetadata tasks are avaialbe in Kotlin JS browser project")
|
||||||
fun tasksAreAvailableInKotlinJsBrowser(
|
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) {
|
build(buildKotlinToolingMetadataTaskName) {
|
||||||
assertTasksExecuted(":app:$buildKotlinToolingMetadataTaskName")
|
assertTasksExecuted(":app:$buildKotlinToolingMetadataTaskName")
|
||||||
assertTasksExecuted(":base:$buildKotlinToolingMetadataTaskName")
|
assertTasksExecuted(":base:$buildKotlinToolingMetadataTaskName")
|
||||||
|
|||||||
+8
-2
@@ -14,6 +14,8 @@ import org.jetbrains.kotlin.gradle.testbase.*
|
|||||||
import org.jetbrains.kotlin.gradle.util.parseCompilerArgumentsFromBuildOutput
|
import org.jetbrains.kotlin.gradle.util.parseCompilerArgumentsFromBuildOutput
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
import org.junit.jupiter.api.DisplayName
|
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.appendText
|
||||||
|
|
||||||
@DisplayName("'kotlin.experimental.tryNext' option")
|
@DisplayName("'kotlin.experimental.tryNext' option")
|
||||||
@@ -162,10 +164,14 @@ class TryNextIT : KGPBaseTest() {
|
|||||||
@DisplayName("MPP: language version default is changed to next")
|
@DisplayName("MPP: language version default is changed to next")
|
||||||
@MppGradlePluginTests
|
@MppGradlePluginTests
|
||||||
@GradleTest
|
@GradleTest
|
||||||
fun languageVersionChangedMpp(gradleVersion: GradleVersion) {
|
fun languageVersionChangedMpp(
|
||||||
|
gradleVersion: GradleVersion,
|
||||||
|
@TempDir localRepository: Path,
|
||||||
|
) {
|
||||||
project(
|
project(
|
||||||
"new-mpp-published",
|
"new-mpp-published",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
|
localRepoDir = localRepository,
|
||||||
buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)
|
buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG)
|
||||||
) {
|
) {
|
||||||
enableTryNext()
|
enableTryNext()
|
||||||
@@ -349,5 +355,5 @@ class TryNextIT : KGPBaseTest() {
|
|||||||
""".trimMargin()
|
""".trimMargin()
|
||||||
)
|
)
|
||||||
|
|
||||||
private val nextKotlinLanguageVersion = KotlinVersion.values().first { it > KotlinVersion.DEFAULT }.version
|
private val nextKotlinLanguageVersion = KotlinVersion.entries.first { it > KotlinVersion.DEFAULT }.version
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -5,7 +5,7 @@ plugins {
|
|||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenLocal()
|
mavenLocal()
|
||||||
maven("../repo")
|
maven("<localRepo>")
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,6 +90,6 @@ kotlin {
|
|||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
repositories {
|
repositories {
|
||||||
maven("../repo")
|
maven("<localRepo>")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user