|
5 | 5 |
|
6 | 6 | package org.jetbrains.kotlin.gradle.native |
7 | 7 |
|
| 8 | +import org.gradle.kotlin.dsl.kotlin |
| 9 | +import org.gradle.kotlin.dsl.withType |
8 | 10 | import org.gradle.util.GradleVersion |
9 | | -import org.jetbrains.kotlin.gradle.dsl.NativeCacheKind |
| 11 | +import org.jetbrains.kotlin.gradle.plugin.diagnostics.KotlinToolingDiagnostics |
| 12 | +import org.jetbrains.kotlin.gradle.tasks.KotlinNativeLink |
10 | 13 | import org.jetbrains.kotlin.gradle.testbase.* |
| 14 | +import org.jetbrains.kotlin.gradle.uklibs.applyMultiplatform |
11 | 15 | import org.junit.jupiter.api.DisplayName |
12 | 16 | import org.junit.jupiter.api.condition.OS |
13 | 17 | import kotlin.io.path.appendText |
@@ -88,4 +92,34 @@ internal class KotlinNativeLinkIT : KGPBaseTest() { |
88 | 92 | } |
89 | 93 | } |
90 | 94 | } |
| 95 | + |
| 96 | + @DisplayName("KT-81359 IncompatibleBinaryConfiguration diagnostic is not triggered for tasks configuration") |
| 97 | + @GradleTest |
| 98 | + fun testIncompatibleBinaryConfigurationDiagnostic(gradleVersion: GradleVersion) { |
| 99 | + project("empty", gradleVersion) { |
| 100 | + plugins { |
| 101 | + kotlin("multiplatform") |
| 102 | + } |
| 103 | + buildScriptInjection { |
| 104 | + project.applyMultiplatform { |
| 105 | + linuxX64 { |
| 106 | + binaries.staticLib() |
| 107 | + } |
| 108 | + |
| 109 | + sourceSets.commonMain.get().compileStubSourceWithSourceSetName() |
| 110 | + } |
| 111 | + |
| 112 | + project.tasks.withType<KotlinNativeLink>().configureEach { link -> |
| 113 | + link.binary.debuggable = true |
| 114 | + link.binary.optimized = true |
| 115 | + } |
| 116 | + } |
| 117 | + |
| 118 | + build(":linkDebugStaticLinuxX64") { |
| 119 | + assertHasDiagnostic(KotlinToolingDiagnostics.IncompatibleBinaryTaskConfiguration) |
| 120 | + assertNoDiagnostic(KotlinToolingDiagnostics.IncompatibleBinaryConfiguration) |
| 121 | + assertOutputContains("w: Unsupported combination of flags: -opt and -g. Please pick one.") |
| 122 | + } |
| 123 | + } |
| 124 | + } |
91 | 125 | } |
0 commit comments