[Gradle] KT-65528 Convert KGP IT - JVM with Java
- refactor `getFilePathsSet()` util function
- replace `javaSourceRootForCompilation()` util with simpler if statements
- extract Dagger version to `TestVersions.ThirdPartyDependencies`
^KT-65528 In Progress
Merge-request: KT-MR-16065
Merged-by: Adam Semenenko <adam.semenenko@jetbrains.com>
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 702a621..ac5ebb9 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
@@ -4,12 +4,11 @@
*/
package org.jetbrains.kotlin.gradle
-import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.cli.common.arguments.K2NativeCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.parseCommandLineArguments
import org.jetbrains.kotlin.gradle.plugin.ProjectLocalConfigurations
import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics
-import org.jetbrains.kotlin.gradle.testbase.TestVersions
+import org.jetbrains.kotlin.gradle.testbase.MPPNativeTargets
import org.jetbrains.kotlin.gradle.testbase.assertHasDiagnostic
import org.jetbrains.kotlin.gradle.testbase.assertNoDiagnostic
import org.jetbrains.kotlin.gradle.util.isWindows
@@ -195,205 +194,12 @@
}
@Test
- @Ignore // KT-60745
- fun testJvmWithJavaEquivalence() = doTestJvmWithJava(testJavaSupportInJvmTargets = false)
+ fun testMavenPublishAppliedBeforeMultiplatformPlugin() =
+ with(transformNativeTestProject("sample-lib", directoryPrefix = "new-mpp-lib-and-app")) {
+ gradleBuildScript().modify { "apply plugin: 'maven-publish'\n$it" }
- @Test
- fun testJavaSupportInJvmTargets() = doTestJvmWithJava(testJavaSupportInJvmTargets = true)
-
- private fun doTestJvmWithJava(testJavaSupportInJvmTargets: Boolean) =
- with(Project("sample-lib", directoryPrefix = "new-mpp-lib-and-app")) {
- val embeddedProject = Project("sample-lib-gradle-kotlin-dsl", directoryPrefix = "new-mpp-lib-and-app")
- embedProject(embeddedProject)
- gradleProperties().apply {
- configureJvmMemory()
- }
-
- lateinit var classesWithoutJava: Set<String>
-
- fun getFilePathsSet(inDirectory: String): Set<String> {
- val dir = projectDir.resolve(inDirectory)
- return dir.walk().filter { it.isFile }.map { it.relativeTo(dir).invariantSeparatorsPath }.toSet()
- }
-
- gradleBuildScript(embeddedProject.projectName).modify {
- it.replace("val shouldBeJs = true", "val shouldBeJs = false")
- }
-
- gradleBuildScript().modify {
- it.replace("def shouldBeJs = true", "def shouldBeJs = false")
- }
-
- build("assemble") {
+ build {
assertSuccessful()
- classesWithoutJava = getFilePathsSet("build/classes")
- }
-
- gradleBuildScript().modify { script ->
- buildString {
- appendLine(
- """
- |apply plugin: 'com.github.johnrengelman.shadow'
- |apply plugin: 'application'
- |apply plugin: 'kotlin-kapt' // Check that Kapt works, generates and compiles sources
- """.trimMargin()
- )
-
- if (testJavaSupportInJvmTargets) {
- appendLine(script)
- appendLine(
- """
- |kotlin.jvm("jvm6") {
- | withJava()
- | withJava() // also check that the function is idempotent
- |}
- """.trimMargin()
- )
- } else {
- appendLine(
- script
- .replace("presets.jvm", "presets.jvmWithJava")
- .replace("jvm(", "targetFromPreset(presets.jvmWithJava, ")
- )
- }
-
- appendLine(
- """
- |buildscript {
- | repositories {
- | maven { url 'https://plugins.gradle.org/m2/' }
- | }
- | dependencies {
- | classpath 'com.github.johnrengelman:shadow:${TestVersions.ThirdPartyDependencies.SHADOW_PLUGIN_VERSION}'
- | }
- |}
- |
- |application {
- | mainClass = 'com.example.lib.CommonKt'
- |}
- |
- |dependencies {
- | jvm6MainImplementation("com.google.dagger:dagger:2.24")
- | kapt("com.google.dagger:dagger-compiler:2.24")
- | kapt(project(":sample-lib-gradle-kotlin-dsl"))
- |
- | // also check incremental Kapt class structure configurations, KT-33105
- | jvm6MainImplementation(project(":sample-lib-gradle-kotlin-dsl"))
- |}
- """.trimMargin()
- )
- }
- }
- // also check incremental Kapt class structure configurations, KT-33105
- projectDir.resolve("gradle.properties").appendText("\nkapt.incremental.apt=true")
-
- // Check Kapt:
- projectDir.resolve("src/jvm6Main/kotlin/Main.kt").appendText(
- "\n" + """
- interface Iface
-
- @dagger.Module
- object Module {
- @JvmStatic @dagger.Provides
- fun provideHeater(): Iface = object : Iface { }
- }
- """.trimIndent()
- )
-
- fun javaSourceRootForCompilation(compilationName: String) =
- if (testJavaSupportInJvmTargets) "src/jvm6${compilationName.replaceFirstChar { if (it.isLowerCase()) it.titlecase(Locale.getDefault()) else it.toString() }}/java" else "src/$compilationName/java"
-
- val javaMainSrcDir = javaSourceRootForCompilation("main")
- val javaTestSrcDir = javaSourceRootForCompilation("test")
-
- projectDir.resolve(javaMainSrcDir).apply {
- mkdirs()
- // Check that Java can access the dependencies (kotlin-stdlib):
- resolve("JavaClassInJava.java").writeText(
- """
- package com.example.lib;
- import kotlin.sequences.Sequence;
- class JavaClassInJava {
- Sequence<String> makeSequence() { throw new UnsupportedOperationException(); }
- }
- """.trimIndent()
- )
-
- // Add a Kotlin source file in the Java source root and check that it is compiled:
- resolve("KotlinClassInJava.kt").writeText(
- """
- package com.example.lib
- class KotlinClassInJava
- """.trimIndent()
- )
- }
-
- projectDir.resolve(javaTestSrcDir).apply {
- mkdirs()
- resolve("JavaTest.java").writeText(
- """
- package com.example.lib;
- import org.junit.*;
- public class JavaTest {
- @Test
- public void testAccessKotlin() {
- MainKt.expectedFun();
- MainKt.x();
- new KotlinClassInJava();
- new JavaClassInJava();
- }
- }
- """.trimIndent()
- )
- }
-
- build(
- "clean", "build", "run", "shadowJar",
- options = defaultBuildOptions().suppressDeprecationWarningsOn("KT-66542: withJava() produces deprecation warning") {
- GradleVersion.version(chooseWrapperVersionOrFinishTest()) >= GradleVersion.version(TestVersions.Gradle.G_8_7)
- }
- ) {
- assertSuccessful()
- val expectedMainClasses =
- classesWithoutJava + setOf(
- // classes for Kapt test:
- "java/main/com/example/lib/Module_ProvideHeaterFactory.class",
- "kotlin/jvm6/main/com/example/lib/Module\$provideHeater\$1.class",
- "kotlin/jvm6/main/com/example/lib/Iface.class",
- "kotlin/jvm6/main/com/example/lib/Module.class",
- // other added classes:
- "kotlin/jvm6/main/com/example/lib/KotlinClassInJava.class",
- "java/main/com/example/lib/JavaClassInJava.class",
- "java/test/com/example/lib/JavaTest.class"
- )
- val actualClasses = getFilePathsSet("build/classes")
- Assert.assertEquals(expectedMainClasses, actualClasses)
-
- val jvmTestTaskName = if (testJavaSupportInJvmTargets) "jvm6Test" else "test"
- assertTasksExecuted(":$jvmTestTaskName")
-
- if (testJavaSupportInJvmTargets) {
- assertFileExists("build/reports/tests/allTests/classes/com.example.lib.JavaTest.html")
- }
-
- if (testJavaSupportInJvmTargets) {
- assertNoDiagnostic(KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic)
- } else {
- assertHasDiagnostic(KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic)
- }
-
- assertTasksExecuted(":run")
- assertContains(">>> Common.kt >>> main()")
-
- assertTasksExecuted(":shadowJar")
- val entries = ZipFile(projectDir.resolve("build/libs/sample-lib-1.0-all.jar")).use { zip ->
- zip.entries().asSequence().map { it.name }.toSet()
- }
- assertTrue { "kotlin/Pair.class" in entries }
- assertTrue { "com/example/lib/CommonKt.class" in entries }
- assertTrue { "com/example/lib/MainKt.class" in entries }
- assertTrue { "com/example/lib/JavaClassInJava.class" in entries }
- assertTrue { "com/example/lib/KotlinClassInJava.class" in entries }
}
}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppJvmWithJavaIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppJvmWithJavaIT.kt
new file mode 100644
index 0000000..e3ed819
--- /dev/null
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/mpp/MppJvmWithJavaIT.kt
@@ -0,0 +1,248 @@
+/*
+ * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+package org.jetbrains.kotlin.gradle.mpp
+
+import org.gradle.util.GradleVersion
+import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics.DeprecatedJvmWithJavaPresetDiagnostic
+import org.jetbrains.kotlin.gradle.testbase.*
+import org.jetbrains.kotlin.test.TestMetadata
+import org.junit.jupiter.api.Assertions.assertEquals
+import org.junit.jupiter.api.Disabled
+import java.nio.file.Path
+import java.util.zip.ZipFile
+import kotlin.io.path.*
+import kotlin.test.assertContains
+
+@MppGradlePluginTests
+class MppJvmWithJavaIT : KGPBaseTest() {
+
+ @GradleTest
+ @TestMetadata(value = "new-mpp-lib-and-app")
+ @Disabled("KT-60745")
+ fun testJvmWithJavaEquivalence(
+ gradleVersion: GradleVersion,
+ ): Unit = doTestJvmWithJava(gradleVersion, testJavaSupportInJvmTargets = false)
+
+ @GradleTest
+ @GradleTestVersions(minVersion = "8.0") // Shadow requires Gradle 8.0+
+ @TestMetadata(value = "new-mpp-lib-and-app")
+ fun testJavaSupportInJvmTargets(
+ gradleVersion: GradleVersion,
+ ): Unit = doTestJvmWithJava(gradleVersion, testJavaSupportInJvmTargets = true)
+
+ private fun doTestJvmWithJava(
+ gradleVersion: GradleVersion,
+ testJavaSupportInJvmTargets: Boolean,
+ ) {
+ project(
+ projectName = "new-mpp-lib-and-app/sample-lib",
+ gradleVersion = gradleVersion,
+ ) {
+ includeOtherProjectAsSubmodule(
+ otherProjectName = "sample-lib-gradle-kotlin-dsl",
+ pathPrefix = "new-mpp-lib-and-app",
+ )
+ val subproject = subProject("sample-lib-gradle-kotlin-dsl")
+
+ buildGradle.modify {
+ it.replace("val shouldBeJs = true", "val shouldBeJs = false")
+ }
+
+ subproject.buildGradleKts.modify {
+ it
+ .replace("val shouldBeJs = true", "val shouldBeJs = false")
+ // TODO KT-65528 remove pluginMarkerVersion here and from the actual build.gradle
+ // when all KGP tests have been updated to use the new test DSL
+ .replace(".version(\"<pluginMarkerVersion>\")", "")
+ }
+
+ val classesWithoutJava: Set<String> = buildSet {
+ build("assemble") {
+ addAll(projectPath.resolve("build/classes").relativePathsOfDirectoryContents())
+ }
+ }
+
+ buildGradle.modify { script ->
+ buildString {
+ appendLine(
+ """
+ |apply plugin: 'com.github.johnrengelman.shadow'
+ |apply plugin: 'application'
+ |apply plugin: 'kotlin-kapt' // Check that Kapt works, generates and compiles sources
+ """.trimMargin()
+ )
+
+ if (testJavaSupportInJvmTargets) {
+ appendLine(script)
+ appendLine(
+ """
+ |kotlin.jvm("jvm6") {
+ | withJava()
+ | withJava() // also check that the function is idempotent
+ |}
+ """.trimMargin()
+ )
+ } else {
+ appendLine(
+ script
+ .replace("presets.jvm", "presets.jvmWithJava")
+ .replace("jvm(", "targetFromPreset(presets.jvmWithJava, ")
+ )
+ }
+
+ appendLine(
+ """
+ |buildscript {
+ | repositories {
+ | maven { url 'https://plugins.gradle.org/m2/' }
+ | }
+ | dependencies {
+ | classpath 'com.github.johnrengelman:shadow:${TestVersions.ThirdPartyDependencies.SHADOW_PLUGIN_VERSION}'
+ | }
+ |}
+ |
+ |application {
+ | mainClass = 'com.example.lib.CommonKt'
+ |}
+ |
+ |dependencies {
+ | jvm6MainImplementation("com.google.dagger:dagger:${TestVersions.ThirdPartyDependencies.GOOGLE_DAGGER}")
+ | kapt("com.google.dagger:dagger-compiler:2.24")
+ | kapt(project(":sample-lib-gradle-kotlin-dsl"))
+ |
+ | // also check incremental Kapt class structure configurations, KT-33105
+ | jvm6MainImplementation(project(":sample-lib-gradle-kotlin-dsl"))
+ |}
+ """.trimMargin()
+ )
+ }
+ }
+
+ // also check incremental Kapt class structure configurations, KT-33105
+ gradleProperties.append("kapt.incremental.apt=true")
+
+ // Check Kapt:
+ projectPath.resolve("src/jvm6Main/kotlin/Main.kt")
+ .append(
+ """
+ |interface Iface
+ |
+ |@dagger.Module
+ |object Module {
+ | @JvmStatic @dagger.Provides
+ | fun provideHeater(): Iface = object : Iface { }
+ |}
+ """.trimMargin()
+ )
+
+ val javaMainSrcDir = if (testJavaSupportInJvmTargets) "src/jvm6Main/java" else "src/main/java"
+ val javaTestSrcDir = if (testJavaSupportInJvmTargets) "src/jvm6Test/java" else "src/test/java"
+
+ projectPath.resolve(javaMainSrcDir).apply {
+ createDirectories()
+
+ // Check that Java can access the dependencies (kotlin-stdlib):
+ resolve("JavaClassInJava.java").writeText(
+ """
+ |package com.example.lib;
+ |import kotlin.sequences.Sequence;
+ |class JavaClassInJava {
+ | Sequence<String> makeSequence() { throw new UnsupportedOperationException(); }
+ |}
+ """.trimMargin()
+ )
+
+ // Add a Kotlin source file in the Java source root and check that it is compiled:
+ resolve("KotlinClassInJava.kt").writeText(
+ """
+ |package com.example.lib
+ |class KotlinClassInJava
+ """.trimMargin()
+ )
+ }
+
+ projectPath.resolve(javaTestSrcDir).apply {
+ createDirectories()
+
+ resolve("JavaTest.java").writeText(
+ """
+ |package com.example.lib;
+ |import org.junit.*;
+ |public class JavaTest {
+ | @Test
+ | public void testAccessKotlin() {
+ | MainKt.expectedFun();
+ | MainKt.x();
+ | new KotlinClassInJava();
+ | new JavaClassInJava();
+ | }
+ |}
+ """.trimMargin()
+ )
+ }
+
+ build(
+ "clean", "build", "run", "shadowJar",
+ buildOptions = defaultBuildOptions
+ .suppressDeprecationWarningsOn("KT-66542: withJava() produces deprecation warning") {
+ gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_8_7)
+ }
+ ) {
+ val expectedMainClasses =
+ classesWithoutJava + setOf(
+ // classes for Kapt test:
+ "java/main/com/example/lib/Module_ProvideHeaterFactory.class",
+ "kotlin/jvm6/main/com/example/lib/Module\$provideHeater\$1.class",
+ "kotlin/jvm6/main/com/example/lib/Iface.class",
+ "kotlin/jvm6/main/com/example/lib/Module.class",
+ // other added classes:
+ "kotlin/jvm6/main/com/example/lib/KotlinClassInJava.class",
+ "java/main/com/example/lib/JavaClassInJava.class",
+ "java/test/com/example/lib/JavaTest.class"
+ )
+
+ val actualClasses = projectPath.resolve("build/classes").relativePathsOfDirectoryContents()
+ assertEquals(expectedMainClasses.sorted().joinToString("\n"), actualClasses.sorted().joinToString("\n"))
+
+ val jvmTestTaskName = if (testJavaSupportInJvmTargets) "jvm6Test" else "test"
+ assertTasksExecuted(":$jvmTestTaskName")
+
+ if (testJavaSupportInJvmTargets) {
+ assertFileInProjectExists("build/reports/tests/allTests/classes/com.example.lib.JavaTest.html")
+ }
+
+ if (testJavaSupportInJvmTargets) {
+ assertNoDiagnostic(DeprecatedJvmWithJavaPresetDiagnostic)
+ } else {
+ assertHasDiagnostic(DeprecatedJvmWithJavaPresetDiagnostic)
+ }
+
+ assertTasksExecuted(":run")
+ assertOutputContains(">>> Common.kt >>> main()")
+
+ assertTasksExecuted(":shadowJar")
+
+ val entries = ZipFile(projectPath.resolve("build/libs/sample-lib-1.0-all.jar").toFile()).use { zip ->
+ zip.entries().asSequence().map { it.name }.toSet()
+ }
+ assertContains(entries, "kotlin/Pair.class")
+ assertContains(entries, "com/example/lib/CommonKt.class")
+ assertContains(entries, "com/example/lib/MainKt.class")
+ assertContains(entries, "com/example/lib/JavaClassInJava.class")
+ assertContains(entries, "com/example/lib/KotlinClassInJava.class")
+ }
+ }
+ }
+
+ companion object {
+ /** Get the relative paths of all files within this directory. */
+ private fun Path.relativePathsOfDirectoryContents(): Set<String> {
+ return walk()
+ .filter { it.isRegularFile() }
+ .map { it.relativeTo(this@relativePathsOfDirectoryContents).invariantSeparatorsPathString }
+ .toSet()
+ }
+ }
+}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/TestVersions.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/TestVersions.kt
index 8a37997..5be34aa 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/TestVersions.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/TestVersions.kt
@@ -92,6 +92,7 @@
object ThirdPartyDependencies {
const val SHADOW_PLUGIN_VERSION = "8.1.1"
+ const val GOOGLE_DAGGER = "2.24"
const val GRADLE_ENTERPRISE_PLUGIN_VERSION = "3.13.4"
const val KOTLINX_ATOMICFU = "0.23.2"
}
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt
index bc53f30..490570c 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/testbase/testDsl.kt
@@ -400,10 +400,14 @@
/**
* Includes another project as a submodule in the current project.
+ *
+ * - Copies the other project to a directory inside this project.
+ * - Updates this project's `settings.gradle(.kts)` with `include(":$newSubmoduleName")`
+ *
* @param otherProjectName The name of the other project to include as a submodule.
* @param pathPrefix An optional prefix to prepend to the submodule's path. Defaults to an empty string.
- * @param newSubmoduleName An optional new name for the submodule. Defaults to the otherProjectName.
- * @param isKts Whether to update a .kts settings file instead of a .gradle settings file. Defaults to false.
+ * @param newSubmoduleName An optional new name for the submodule. Defaults to [otherProjectName].
+ * @param isKts Whether to update a `settings.gradle.kts` instead of a `settings.gradle` file. Defaults to `false`.
*/
fun includeOtherProjectAsSubmodule(
otherProjectName: String,
@@ -985,4 +989,4 @@
/**
* Resolves the temporary local repository path for the test with specified Gradle version.
*/
-fun KGPBaseTest.defaultLocalRepo(gradleVersion: GradleVersion) = workingDir.resolve(gradleVersion.version).resolve("repo")
\ No newline at end of file
+fun KGPBaseTest.defaultLocalRepo(gradleVersion: GradleVersion) = workingDir.resolve(gradleVersion.version).resolve("repo")
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-gradle-kotlin-dsl/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-gradle-kotlin-dsl/build.gradle.kts
index e063aa8..f535e7b 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-gradle-kotlin-dsl/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/new-mpp-lib-and-app/sample-app-gradle-kotlin-dsl/build.gradle.kts
@@ -1,6 +1,6 @@
plugins {
- id("org.jetbrains.kotlin.multiplatform").version("<pluginMarkerVersion>")
- id("maven-publish")
+ id("org.jetbrains.kotlin.multiplatform").version("<pluginMarkerVersion>")
+ id("maven-publish")
}
group = "com.example"
@@ -12,17 +12,17 @@
}
kotlin {
- val jvm6 = jvm("jvm6") {
+ val jvm6 = jvm("jvm6") {
attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 6)
}
- val jvm8 = jvm("jvm8") {
+ val jvm8 = jvm("jvm8") {
attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 8)
- compilations["main"].kotlinOptions.jvmTarget = "1.8"
- }
- val nodeJs = js("nodeJs") {
+ compilations["main"].kotlinOptions.jvmTarget = "1.8"
+ }
+ val nodeJs = js("nodeJs") {
nodejs()
}
- val linux64 = linuxX64("linux64")
+ val linux64 = linuxX64("linux64")
wasmJs {
}
@@ -68,7 +68,7 @@
}
tasks.create("resolveRuntimeDependencies", DefaultTask::class.java) {
- doFirst {
+ doFirst {
// KT-26301
val configName = kotlin.jvm("jvm6").compilations["main"].runtimeDependencyConfigurationName
configurations[configName].resolve()