From fb14128cbd4c196484a677cb40a15b07e55d2940 Mon Sep 17 00:00:00 2001 From: Kirill Shmakov Date: Mon, 25 Feb 2019 13:46:34 +0300 Subject: [PATCH] All but one --- .../stdlib/src/kotlin/util/KotlinVersion.kt | 2 +- .../kotlin/gradle/NewMultiplatformIT.kt | 48 +++++++++++-------- .../kotlin/gradle/tasks/KotlinNativeTasks.kt | 2 +- .../gradle/utils/NativeCompilerDownloader.kt | 2 +- 4 files changed, 31 insertions(+), 23 deletions(-) diff --git a/libraries/stdlib/src/kotlin/util/KotlinVersion.kt b/libraries/stdlib/src/kotlin/util/KotlinVersion.kt index 20b1b1c3764..5cbe3f70807 100644 --- a/libraries/stdlib/src/kotlin/util/KotlinVersion.kt +++ b/libraries/stdlib/src/kotlin/util/KotlinVersion.kt @@ -72,6 +72,6 @@ public class KotlinVersion(val major: Int, val minor: Int, val patch: Int) : Com * Returns the current version of the Kotlin standard library. */ @kotlin.jvm.JvmField - public val CURRENT: KotlinVersion = KotlinVersion(1, 3, 0) // value is written here automatically during build + public val CURRENT: KotlinVersion = KotlinVersion(1, 3, 30) // value is written here automatically during build } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt index 767b043fde0..96ff5b09918 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/NewMultiplatformIT.kt @@ -18,6 +18,7 @@ import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.HostManager import org.junit.Assert import org.junit.Test +import java.lang.StringBuilder import java.util.jar.JarFile import java.util.zip.ZipFile import kotlin.test.assertEquals @@ -34,6 +35,13 @@ class NewMultiplatformIT : BaseGradleIT() { else -> error("Unknown host") } + val supportedNativeTargets = when { + HostManager.hostIsMingw -> listOf("linux64", "mingw64", "wasm32") + HostManager.hostIsLinux -> listOf("linux64", "mingw64", "wasm32") + HostManager.hostIsMac -> listOf("linux64", "macos64", "wasm32") + else -> error("Unknown host") + } + private fun Project.targetClassesDir(targetName: String, sourceSetName: String = "main") = classesDir(sourceSet = "$targetName/$sourceSetName") @@ -615,19 +623,21 @@ class NewMultiplatformIT : BaseGradleIT() { projectDir.resolve("repo") } + val dependencyBuilder = StringBuilder() + dependencyBuilder.append("dependencies {\n") + dependencyBuilder.append(" allJvmImplementation 'com.example:sample-lib-jvm6:1.0'\n") + dependencyBuilder.append(" nodeJsMainImplementation 'com.example:sample-lib-nodejs:1.0'\n") + + for (target in supportedNativeTargets) { + dependencyBuilder.append(" ${target}MainImplementation 'com.example:sample-lib-$target:1.0'\n") + } + dependencyBuilder.append("}") + with(Project("sample-app", gradleVersion, "new-mpp-lib-and-app")) { setupWorkingDir() gradleBuildScript().modify { - it.replace("implementation 'com.example:sample-lib:1.0'", "implementation 'com.example:sample-lib-metadata:1.0'") + "\n" + """ - repositories { maven { url '${repoDir.toURI()}' } } - - dependencies { - allJvmImplementation 'com.example:sample-lib-jvm6:1.0' - nodeJsMainImplementation 'com.example:sample-lib-nodejs:1.0' - wasm32MainImplementation 'com.example:sample-lib-wasm32:1.0' - ${nativeHostTargetName}MainImplementation 'com.example:sample-lib-${nativeHostTargetName.toLowerCase()}:1.0' - } - """.trimIndent() + it.replace("implementation 'com.example:sample-lib:1.0'", "implementation 'com.example:sample-lib-metadata:1.0'") + + "\nrepositories { maven { url '${repoDir.toURI()}' } }\n\n" + dependencyBuilder.toString() } build("assemble") { @@ -1092,9 +1102,13 @@ class NewMultiplatformIT : BaseGradleIT() { } val host = nativeHostTargetName + + val libraryCinteropTask = ":projectLibrary:cinteropStdio${host.capitalize()}" + val libraryCompileTask = ":projectLibrary:compileKotlin${host.capitalize()}" + build(":projectLibrary:build") { assertSuccessful() - assertTasksExecuted(":projectLibrary:cinteropStdio${host.capitalize()}") + assertTasksExecuted(libraryCinteropTask) assertTrue(output.contains("Project test"), "No test output found") assertFileExists("projectLibrary/build/classes/kotlin/$host/main/projectLibrary-cinterop-stdio.klib") } @@ -1116,18 +1130,12 @@ class NewMultiplatformIT : BaseGradleIT() { // Check that changing the compiler version in properties causes interop reprocessing and source recompilation. build(":projectLibrary:build") { assertSuccessful() - assertTasksUpToDate( - ":projectLibrary:cinteropStdio${host.capitalize()}", - ":projectLibrary:compileKotlin${host.capitalize()}" - ) + assertTasksUpToDate(libraryCinteropTask, libraryCompileTask) } - build(":projectLibrary:build", "-Porg.jetbrains.kotlin.native.version=0.9.2") { + build(libraryCinteropTask, libraryCompileTask, "-Porg.jetbrains.kotlin.native.version=1.1.0") { assertSuccessful() - assertTasksExecuted( - ":projectLibrary:cinteropStdio${host.capitalize()}", - ":projectLibrary:compileKotlin${host.capitalize()}" - ) + assertTasksExecuted(libraryCinteropTask, libraryCompileTask) } } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinNativeTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinNativeTasks.kt index 2af217a4f4d..a0c4b794a0b 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinNativeTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/tasks/KotlinNativeTasks.kt @@ -518,7 +518,7 @@ open class CInteropProcess : DefaultTask() { } libraries.files.filterExternalKlibs(project).forEach { library -> - addArg("-l", library.absolutePath) + addArg("-library", library.absolutePath) } addArgs("-copt", allHeadersDirs.map { "-I${it.absolutePath}" }) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/NativeCompilerDownloader.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/NativeCompilerDownloader.kt index 3738fca6f73..aff749fa1ed 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/NativeCompilerDownloader.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/utils/NativeCompilerDownloader.kt @@ -25,7 +25,7 @@ class NativeCompilerDownloader( ) { internal companion object { - val DEFAULT_KONAN_VERSION = KonanVersionImpl(MetaVersion.RC1, 1, 1, 0, 5227) + val DEFAULT_KONAN_VERSION = KonanVersionImpl(MetaVersion.RC1, 1, 2, 0, 7773) const val BASE_DOWNLOAD_URL = "https://download.jetbrains.com/kotlin/native/builds" }