[Gradle] Suppress warnings only for the Gradle versions that produce them
KT-55972 Related
This commit is contained in:
committed by
Space Team
parent
3373a1dd90
commit
9bb2a2468d
+18
-7
@@ -282,7 +282,10 @@ abstract class BaseGradleIT {
|
|||||||
val enableCompatibilityMetadataVariant: Boolean? = null,
|
val enableCompatibilityMetadataVariant: Boolean? = null,
|
||||||
val withReports: List<BuildReportType> = emptyList(),
|
val withReports: List<BuildReportType> = emptyList(),
|
||||||
val enableKpmModelMapping: Boolean? = null,
|
val enableKpmModelMapping: Boolean? = null,
|
||||||
)
|
) {
|
||||||
|
val safeAndroidGradlePluginVersion: AGPVersion
|
||||||
|
get() = androidGradlePluginVersion ?: error("AGP version is expected to be set")
|
||||||
|
}
|
||||||
|
|
||||||
enum class ConfigurationCacheProblems {
|
enum class ConfigurationCacheProblems {
|
||||||
FAIL, WARN
|
FAIL, WARN
|
||||||
@@ -1018,16 +1021,24 @@ fun BaseGradleIT.BuildOptions.withFreeCommandLineArgument(argument: String) = co
|
|||||||
freeCommandLineArgs = freeCommandLineArgs + argument
|
freeCommandLineArgs = freeCommandLineArgs + argument
|
||||||
)
|
)
|
||||||
|
|
||||||
fun BaseGradleIT.BuildOptions.suppressDeprecationWarningsOnAgpLessThan(
|
fun BaseGradleIT.BuildOptions.suppressDeprecationWarningsOn(
|
||||||
agpVersion: AGPVersion,
|
@Suppress("UNUSED_PARAMETER") reason: String, // just to require specifying a reason for suppressing
|
||||||
@Suppress("UNUSED_PARAMETER") reason: String // just to require specifying a reason for suppressing
|
predicate: (BaseGradleIT.BuildOptions) -> Boolean
|
||||||
) =
|
) =
|
||||||
if ((androidGradlePluginVersion ?: error("AGP version expected to be configured")) >= agpVersion) {
|
if (predicate(this)) {
|
||||||
this
|
copy(warningMode = WarningMode.Summary)
|
||||||
} else {
|
} else {
|
||||||
copy(warningMode = WarningMode.All)
|
this
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun BaseGradleIT.BuildOptions.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
|
gradleVersion: String,
|
||||||
|
currentGradleVersion: String,
|
||||||
|
reason: String
|
||||||
|
) = suppressDeprecationWarningsOn(reason) {
|
||||||
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(gradleVersion)
|
||||||
|
}
|
||||||
|
|
||||||
private const val MAVEN_LOCAL_URL_PLACEHOLDER = "<mavenLocalUrl>"
|
private const val MAVEN_LOCAL_URL_PLACEHOLDER = "<mavenLocalUrl>"
|
||||||
internal const val PLUGIN_MARKER_VERSION_PLACEHOLDER = "<pluginMarkerVersion>"
|
internal const val PLUGIN_MARKER_VERSION_PLACEHOLDER = "<pluginMarkerVersion>"
|
||||||
|
|
||||||
|
|||||||
+6
-4
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.testbase.*
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
import org.junit.jupiter.api.Disabled
|
import org.junit.jupiter.api.Disabled
|
||||||
@@ -20,9 +19,12 @@ class BuildIdeaKpmProjectModelIT : KGPBaseTest() {
|
|||||||
@DisplayName("Check 'buildIdeaKpmProjectModel' creates expected files")
|
@DisplayName("Check 'buildIdeaKpmProjectModel' creates expected files")
|
||||||
fun `test - simple kpm project`(gradleVersion: GradleVersion) {
|
fun `test - simple kpm project`(gradleVersion: GradleVersion) {
|
||||||
project(
|
project(
|
||||||
"kpm-simple", gradleVersion, buildOptions = defaultBuildOptions.copy(
|
"kpm-simple",
|
||||||
// Workaround for KT-55751
|
gradleVersion,
|
||||||
warningMode = WarningMode.None,
|
buildOptions = defaultBuildOptions.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
|
TestVersions.Gradle.G_7_4,
|
||||||
|
gradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
build("buildIdeaKpmProjectModel") {
|
build("buildIdeaKpmProjectModel") {
|
||||||
|
|||||||
+8
-5
@@ -7,9 +7,9 @@ package org.jetbrains.kotlin.gradle
|
|||||||
|
|
||||||
import groovy.json.StringEscapeUtils
|
import groovy.json.StringEscapeUtils
|
||||||
import org.gradle.api.logging.LogLevel.INFO
|
import org.gradle.api.logging.LogLevel.INFO
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.internal.os.OperatingSystem
|
import org.gradle.internal.os.OperatingSystem
|
||||||
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
import org.jetbrains.kotlin.commonizer.CommonizerTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.jetbrains.kotlin.gradle.util.reportSourceSetCommonizerDependencies
|
import org.jetbrains.kotlin.gradle.util.reportSourceSetCommonizerDependencies
|
||||||
import org.jetbrains.kotlin.incremental.testingUtils.assertEqualDirectories
|
import org.jetbrains.kotlin.incremental.testingUtils.assertEqualDirectories
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
@@ -415,12 +415,15 @@ class CommonizerIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `test KT-49735 two kotlin targets with same konanTarget`() {
|
fun `test KT-49735 two kotlin targets with same konanTarget`() {
|
||||||
with(Project("commonize-kt-49735-twoKotlinTargets-oneKonanTarget")) {
|
with(Project("commonize-kt-49735-twoKotlinTargets-oneKonanTarget")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
build(
|
build(
|
||||||
":assemble",
|
":assemble",
|
||||||
options = defaultBuildOptions().copy(
|
options = defaultBuildOptions()
|
||||||
// Workaround for KT-55751
|
.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
)
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
|
)
|
||||||
) {
|
) {
|
||||||
assertTasksExecuted(":compileCommonMainKotlinMetadata")
|
assertTasksExecuted(":compileCommonMainKotlinMetadata")
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
|||||||
+4
-3
@@ -157,9 +157,10 @@ class ConfigurationAvoidanceIT : KGPBaseTest() {
|
|||||||
"kotlin-js-browser-project",
|
"kotlin-js-browser-project",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
kts = true,
|
kts = true,
|
||||||
buildOptions = defaultBuildOptions.copy(
|
buildOptions = defaultBuildOptions.suppressDeprecationWarningsUntilGradleVersion(
|
||||||
// bug in Gradle: https://github.com/gradle/gradle/issues/15796
|
TestVersions.Gradle.G_7_0,
|
||||||
warningMode = if (gradleVersion < GradleVersion.version("7.0")) WarningMode.Summary else defaultBuildOptions.warningMode
|
gradleVersion,
|
||||||
|
"bug in Gradle: https://github.com/gradle/gradle/issues/15796"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-3
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import org.gradle.api.logging.LogLevel
|
import org.gradle.api.logging.LogLevel
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.testkit.runner.BuildResult
|
import org.gradle.testkit.runner.BuildResult
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.internals.MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME
|
import org.jetbrains.kotlin.gradle.internals.MULTIPLATFORM_PROJECT_METADATA_JSON_FILE_NAME
|
||||||
@@ -328,8 +327,12 @@ class HierarchicalMppIT : KGPBaseTest() {
|
|||||||
@DisplayName("KT-48370: Multiplatform Gradle build fails for Native targets with \"we cannot choose between the following variants of project\"")
|
@DisplayName("KT-48370: Multiplatform Gradle build fails for Native targets with \"we cannot choose between the following variants of project\"")
|
||||||
fun testMultiModulesHmppKt48370(gradleVersion: GradleVersion) {
|
fun testMultiModulesHmppKt48370(gradleVersion: GradleVersion) {
|
||||||
project(
|
project(
|
||||||
"hierarchical-mpp-multi-modules", gradleVersion, buildOptions = defaultBuildOptions.copy(
|
"hierarchical-mpp-multi-modules",
|
||||||
warningMode = WarningMode.All // Workaround for KT-55751
|
gradleVersion,
|
||||||
|
buildOptions = defaultBuildOptions.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
|
TestVersions.Gradle.G_7_4,
|
||||||
|
gradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
build("assemble")
|
build("assemble")
|
||||||
|
|||||||
+4
-3
@@ -1604,9 +1604,10 @@ class GeneralKotlin2JsGradlePluginIT : KGPBaseTest() {
|
|||||||
project(
|
project(
|
||||||
"cleanTask",
|
"cleanTask",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
buildOptions = defaultBuildOptions.copy(
|
buildOptions = defaultBuildOptions.suppressDeprecationWarningsUntilGradleVersion(
|
||||||
// bug in Gradle: https://github.com/gradle/gradle/issues/15796
|
TestVersions.Gradle.G_7_0,
|
||||||
warningMode = if (gradleVersion < GradleVersion.version("7.0")) WarningMode.None else defaultBuildOptions.warningMode
|
gradleVersion,
|
||||||
|
"bug in Gradle: https://github.com/gradle/gradle/issues/15796"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
build("checkDownloadedFolder")
|
build("checkDownloadedFolder")
|
||||||
|
|||||||
+13
-12
@@ -5,23 +5,24 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import kotlin.test.Ignore
|
import kotlin.test.Ignore
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class KpmCompilerPluginMppIT : BaseGradleIT() {
|
class KpmCompilerPluginMppIT : BaseGradleIT() {
|
||||||
override fun defaultBuildOptions() = super.defaultBuildOptions().copy(
|
|
||||||
// Workaround for KT-55751
|
|
||||||
warningMode = WarningMode.None,
|
|
||||||
)
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Ignore
|
@Ignore
|
||||||
fun testTransientPluginOptions() {
|
fun testTransientPluginOptions() = with(transformProjectWithPluginsDsl("kpmTransientPluginOptions")) {
|
||||||
val project = transformProjectWithPluginsDsl("kpmTransientPluginOptions")
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
|
val options = defaultBuildOptions().suppressDeprecationWarningsSinceGradleVersion(
|
||||||
|
TestVersions.Gradle.G_7_4,
|
||||||
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
|
)
|
||||||
|
|
||||||
fun updatePluginOptions(regularOptionValue: String, transientOptionValue: String) {
|
fun updatePluginOptions(regularOptionValue: String, transientOptionValue: String) {
|
||||||
project.gradleProperties().writeText(
|
gradleProperties().writeText(
|
||||||
"""
|
"""
|
||||||
test-plugin.regular=$regularOptionValue
|
test-plugin.regular=$regularOptionValue
|
||||||
test-plugin.transient=$transientOptionValue
|
test-plugin.transient=$transientOptionValue
|
||||||
@@ -30,7 +31,7 @@ class KpmCompilerPluginMppIT : BaseGradleIT() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
updatePluginOptions("XXX", "YYY")
|
updatePluginOptions("XXX", "YYY")
|
||||||
project.build("compileKotlin") {
|
build("compileKotlin", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksExecuted(":compileKotlinJvm")
|
assertTasksExecuted(":compileKotlinJvm")
|
||||||
compilerArgs(":compileKotlinJvm").also { args ->
|
compilerArgs(":compileKotlinJvm").also { args ->
|
||||||
@@ -47,14 +48,14 @@ class KpmCompilerPluginMppIT : BaseGradleIT() {
|
|||||||
|
|
||||||
// When transient plugin option change
|
// When transient plugin option change
|
||||||
updatePluginOptions("XXX", "ZZZ")
|
updatePluginOptions("XXX", "ZZZ")
|
||||||
project.build("compileKotlin") {
|
build("compileKotlin", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksUpToDate(":compileKotlinJvm")
|
assertTasksUpToDate(":compileKotlinJvm")
|
||||||
}
|
}
|
||||||
|
|
||||||
// When regular plugin option change
|
// When regular plugin option change
|
||||||
updatePluginOptions("ZZZ", "ZZZ")
|
updatePluginOptions("ZZZ", "ZZZ")
|
||||||
project.build("compileKotlin") {
|
build("compileKotlin", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksExecuted(":compileKotlinJvm")
|
assertTasksExecuted(":compileKotlinJvm")
|
||||||
compilerArgs(":compileKotlinJvm").also { args ->
|
compilerArgs(":compileKotlinJvm").also { args ->
|
||||||
|
|||||||
+7
-4
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.gradle
|
|||||||
|
|
||||||
import com.intellij.testFramework.TestDataPath
|
import com.intellij.testFramework.TestDataPath
|
||||||
import org.gradle.api.logging.LogLevel
|
import org.gradle.api.logging.LogLevel
|
||||||
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.internals.KOTLIN_12X_MPP_DEPRECATION_WARNING
|
import org.jetbrains.kotlin.gradle.internals.KOTLIN_12X_MPP_DEPRECATION_WARNING
|
||||||
import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME
|
import org.jetbrains.kotlin.gradle.plugin.EXPECTED_BY_CONFIG_NAME
|
||||||
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME
|
import org.jetbrains.kotlin.gradle.plugin.IMPLEMENT_CONFIG_NAME
|
||||||
@@ -350,15 +351,17 @@ class MultiplatformGradleIT : BaseGradleIT() {
|
|||||||
projectName = "kt-35942-android"
|
projectName = "kt-35942-android"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
build(
|
build(
|
||||||
":lib1:compileDebugUnitTestKotlin",
|
":lib1:compileDebugUnitTestKotlin",
|
||||||
options = defaultBuildOptions().copy(
|
options = defaultBuildOptions().copy(
|
||||||
androidGradlePluginVersion = AGPVersion.v4_2_0,
|
androidGradlePluginVersion = AGPVersion.v4_2_0,
|
||||||
androidHome = KtTestUtil.findAndroidSdk().also { acceptAndroidSdkLicenses(it) },
|
androidHome = KtTestUtil.findAndroidSdk().also { acceptAndroidSdkLicenses(it) },
|
||||||
).suppressDeprecationWarningsOnAgpLessThan(
|
).suppressDeprecationWarningsOn(
|
||||||
AGPVersion.v7_3_0,
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5); relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty (Gradle 7.4)"
|
||||||
"uses deprecated IncrementalTaskInputs; relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty"
|
) { options ->
|
||||||
)
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
) {
|
) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksExecuted(":lib1:compileDebugKotlin")
|
assertTasksExecuted(":lib1:compileDebugKotlin")
|
||||||
|
|||||||
+6
-6
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle
|
|||||||
import org.gradle.api.logging.LogLevel
|
import org.gradle.api.logging.LogLevel
|
||||||
import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.withNativeCommandLineArguments
|
import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.withNativeCommandLineArguments
|
||||||
import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.containsSequentially
|
import org.jetbrains.kotlin.gradle.native.GeneralNativeIT.Companion.containsSequentially
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.native.*
|
import org.jetbrains.kotlin.gradle.native.*
|
||||||
import org.jetbrains.kotlin.gradle.native.MPPNativeTargets
|
import org.jetbrains.kotlin.gradle.native.MPPNativeTargets
|
||||||
@@ -28,7 +27,6 @@ import org.jetbrains.kotlin.konan.target.HostManager
|
|||||||
import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
|
import org.jetbrains.kotlin.library.KLIB_PROPERTY_SHORT_NAME
|
||||||
import org.jetbrains.kotlin.library.KLIB_PROPERTY_UNIQUE_NAME
|
import org.jetbrains.kotlin.library.KLIB_PROPERTY_UNIQUE_NAME
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import org.junit.Ignore
|
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.jar.JarFile
|
import java.util.jar.JarFile
|
||||||
@@ -1572,15 +1570,17 @@ class NewMultiplatformIT : BaseGradleIT() {
|
|||||||
fun testUnusedSourceSetsReportAndroid() = with(Project("new-mpp-android", gradleVersion)) {
|
fun testUnusedSourceSetsReportAndroid() = with(Project("new-mpp-android", gradleVersion)) {
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
|
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
build(
|
build(
|
||||||
"assembleDebug",
|
"assembleDebug",
|
||||||
// https://issuetracker.google.com/issues/152187160
|
// https://issuetracker.google.com/issues/152187160
|
||||||
options = defaultBuildOptions().copy(
|
options = defaultBuildOptions().copy(
|
||||||
androidGradlePluginVersion = AGPVersion.v4_2_0,
|
androidGradlePluginVersion = AGPVersion.v4_2_0,
|
||||||
).suppressDeprecationWarningsOnAgpLessThan(
|
).suppressDeprecationWarningsOn(
|
||||||
AGPVersion.v7_3_0,
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5); relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty (Gradle 7.4)"
|
||||||
"uses deprecated IncrementalTaskInputs; relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty"
|
) { options ->
|
||||||
)
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
) {
|
) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertNotContains(
|
assertNotContains(
|
||||||
|
|||||||
+6
-4
@@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle
|
package org.jetbrains.kotlin.gradle
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
||||||
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.jetbrains.kotlin.gradle.util.*
|
import org.jetbrains.kotlin.gradle.util.*
|
||||||
import org.junit.Test
|
import org.junit.Test
|
||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
@@ -358,11 +358,13 @@ class VariantAwareDependenciesMppIT : BaseGradleIT() {
|
|||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
build(
|
build(
|
||||||
resolveConfigurationTaskName,
|
resolveConfigurationTaskName,
|
||||||
options = defaultBuildOptions().copy(
|
options = defaultBuildOptions().suppressDeprecationWarningsSinceGradleVersion(
|
||||||
// Workaround for KT-55751
|
TestVersions.Gradle.G_7_4,
|
||||||
warningMode = WarningMode.None,
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
|
|||||||
+6
-6
@@ -854,12 +854,12 @@ class KotlinAndroidMppIT : KGPBaseTest() {
|
|||||||
project(
|
project(
|
||||||
"new-mpp-android-agp-compatibility",
|
"new-mpp-android-agp-compatibility",
|
||||||
consumerGradleVersion,
|
consumerGradleVersion,
|
||||||
buildOptions = defaultBuildOptions.copy(
|
buildOptions = defaultBuildOptions.copy(androidVersion = consumerAgpVersion)
|
||||||
androidVersion = consumerAgpVersion,
|
.suppressDeprecationWarningsOn(
|
||||||
// Workaround for a deprecation warning from AGP
|
"AGP relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty which has been deprecated."
|
||||||
// Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated.
|
) { options ->
|
||||||
warningMode = if (AGPVersion.fromString(consumerAgpVersion) <= AGPVersion.v7_1_0) WarningMode.None else WarningMode.Fail,
|
consumerGradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_4) && AGPVersion.fromString(options.safeAndroidVersion) < AGPVersion.v7_1_0
|
||||||
),
|
},
|
||||||
buildJdk = jdkVersion.location,
|
buildJdk = jdkVersion.location,
|
||||||
localRepoDir = tempDir
|
localRepoDir = tempDir
|
||||||
) {
|
) {
|
||||||
|
|||||||
+6
-7
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.android
|
package org.jetbrains.kotlin.gradle.android
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.testbase.*
|
import org.jetbrains.kotlin.gradle.testbase.*
|
||||||
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
||||||
@@ -24,12 +23,12 @@ class MultiplatformAndroidSourceSetLayoutV2IT : KGPBaseTest() {
|
|||||||
project(
|
project(
|
||||||
"multiplatformAndroidSourceSetLayout2",
|
"multiplatformAndroidSourceSetLayout2",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
defaultBuildOptions.copy(
|
defaultBuildOptions.copy(androidVersion = agpVersion)
|
||||||
androidVersion = agpVersion,
|
.suppressDeprecationWarningsOn(
|
||||||
// Workaround for a deprecation warning from AGP
|
"AGP relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty which has been deprecated."
|
||||||
// Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated.
|
) { options ->
|
||||||
warningMode = if (AGPVersion.fromString(agpVersion) <= AGPVersion.v7_1_0) WarningMode.None else WarningMode.Fail,
|
gradleVersion >= GradleVersion.version(TestVersions.Gradle.G_7_4) && AGPVersion.fromString(options.safeAndroidVersion) < AGPVersion.v7_1_0
|
||||||
),
|
},
|
||||||
buildJdk = jdkVersion.location
|
buildJdk = jdkVersion.location
|
||||||
) {
|
) {
|
||||||
build("test") {
|
build("test") {
|
||||||
|
|||||||
+19
-17
@@ -8,9 +8,7 @@ package org.jetbrains.kotlin.gradle.mpp
|
|||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
import org.gradle.api.logging.configuration.WarningMode
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.*
|
||||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
|
||||||
import org.jetbrains.kotlin.gradle.chooseWrapperVersionOrFinishTest
|
|
||||||
import org.jetbrains.kotlin.gradle.embedProject
|
import org.jetbrains.kotlin.gradle.embedProject
|
||||||
import org.jetbrains.kotlin.gradle.mpp.ResolvedVariantChecker.ResolvedVariantRequest
|
import org.jetbrains.kotlin.gradle.mpp.ResolvedVariantChecker.ResolvedVariantRequest
|
||||||
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
@@ -122,17 +120,20 @@ abstract class AndroidAndJavaConsumeMppLibIT : BaseGradleIT() {
|
|||||||
val jdk11Home = File(System.getProperty("jdk11Home"))
|
val jdk11Home = File(System.getProperty("jdk11Home"))
|
||||||
Assume.assumeTrue("This test requires JDK11 for AGP7", jdk11Home.isDirectory)
|
Assume.assumeTrue("This test requires JDK11 for AGP7", jdk11Home.isDirectory)
|
||||||
|
|
||||||
val producerBuildOptions = defaultBuildOptions().copy(
|
val producerBuildOptions: BuildOptions
|
||||||
javaHome = jdk11Home,
|
|
||||||
androidHome = KtTestUtil.findAndroidSdk(),
|
|
||||||
androidGradlePluginVersion = producerAgpVersion,
|
|
||||||
// Workaround for a deprecation warning from AGP
|
|
||||||
// Relying on FileTrees for ignoring empty directories when using @SkipWhenEmpty has been deprecated.
|
|
||||||
warningMode = if (producerAgpVersion <= AGPVersion.v7_1_0) WarningMode.None else WarningMode.Fail,
|
|
||||||
)
|
|
||||||
producerBuildOptions.androidHome?.let { acceptAndroidSdkLicenses(it) }
|
|
||||||
|
|
||||||
dependencyProject = Project("new-mpp-android", producerGradleVersion).apply {
|
dependencyProject = Project("new-mpp-android", producerGradleVersion).apply {
|
||||||
|
val usedProducerGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
|
producerBuildOptions = defaultBuildOptions().copy(
|
||||||
|
javaHome = jdk11Home,
|
||||||
|
androidHome = KtTestUtil.findAndroidSdk(),
|
||||||
|
androidGradlePluginVersion = producerAgpVersion,
|
||||||
|
).suppressDeprecationWarningsOn(
|
||||||
|
"AGP relies on FileTrees for ignoring empty directories when using @SkipWhenEmpty which has been deprecated (Gradle 7.4)"
|
||||||
|
) {
|
||||||
|
GradleVersion.version(usedProducerGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_4) && producerAgpVersion < AGPVersion.v7_1_0
|
||||||
|
}
|
||||||
|
producerBuildOptions.androidHome?.let { acceptAndroidSdkLicenses(it) }
|
||||||
projectDir.deleteRecursively()
|
projectDir.deleteRecursively()
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
// Don't need custom attributes here
|
// Don't need custom attributes here
|
||||||
@@ -288,15 +289,16 @@ abstract class AndroidAndJavaConsumeMppLibIT : BaseGradleIT() {
|
|||||||
"com.example:lib:1.0"
|
"com.example:lib:1.0"
|
||||||
else ":${dependencyProject.projectName}:lib"
|
else ":${dependencyProject.projectName}:lib"
|
||||||
|
|
||||||
val consumerWarningMode =
|
|
||||||
if (consumerAgpVersion >= AGPVersion.v7_3_0 || GradleVersion.version(usedConsumerGradleVersion) < GradleVersion.version("7.5")) WarningMode.Fail else WarningMode.None
|
|
||||||
val consumerBuildOptions = defaultBuildOptions().copy(
|
val consumerBuildOptions = defaultBuildOptions().copy(
|
||||||
javaHome = File(System.getProperty("jdk11Home")),
|
javaHome = File(System.getProperty("jdk11Home")),
|
||||||
androidHome = KtTestUtil.findAndroidSdk(),
|
androidHome = KtTestUtil.findAndroidSdk(),
|
||||||
androidGradlePluginVersion = consumerAgpVersion,
|
androidGradlePluginVersion = consumerAgpVersion,
|
||||||
kotlinVersion = withKotlinVersion ?: defaultBuildOptions().kotlinVersion,
|
kotlinVersion = withKotlinVersion ?: defaultBuildOptions().kotlinVersion
|
||||||
warningMode = consumerWarningMode
|
).suppressDeprecationWarningsOn(
|
||||||
)
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)"
|
||||||
|
) {
|
||||||
|
GradleVersion.version(usedConsumerGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && consumerAgpVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
|
|
||||||
val variantCheckRequests = mutableMapOf<ResolvedVariantRequest, String>()
|
val variantCheckRequests = mutableMapOf<ResolvedVariantRequest, String>()
|
||||||
|
|
||||||
|
|||||||
+36
-21
@@ -5,10 +5,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.native
|
package org.jetbrains.kotlin.gradle.native
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.*
|
||||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.jetbrains.kotlin.gradle.suppressDeprecationWarningsOnAgpLessThan
|
|
||||||
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
||||||
import org.jetbrains.kotlin.gradle.util.modify
|
import org.jetbrains.kotlin.gradle.util.modify
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
@@ -35,6 +34,7 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `assemble AppleFrameworkForXcode tasks for IosArm64`() {
|
fun `assemble AppleFrameworkForXcode tasks for IosArm64`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "debug",
|
"CONFIGURATION" to "debug",
|
||||||
@@ -43,8 +43,10 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
"TARGET_BUILD_DIR" to "no use",
|
"TARGET_BUILD_DIR" to "no use",
|
||||||
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
||||||
),
|
),
|
||||||
// Workaround for KT-55751
|
).suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
build("assembleDebugAppleFrameworkForXcodeIosArm64", options = options) {
|
build("assembleDebugAppleFrameworkForXcodeIosArm64", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
@@ -65,6 +67,7 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `assemble fat AppleFrameworkForXcode tasks for Arm64 and X64 simulators`() {
|
fun `assemble fat AppleFrameworkForXcode tasks for Arm64 and X64 simulators`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "Release",
|
"CONFIGURATION" to "Release",
|
||||||
@@ -73,8 +76,10 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
"TARGET_BUILD_DIR" to "no use",
|
"TARGET_BUILD_DIR" to "no use",
|
||||||
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
||||||
),
|
),
|
||||||
// Workaround for KT-55751
|
).suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
build("assembleReleaseAppleFrameworkForXcode", options = options) {
|
build("assembleReleaseAppleFrameworkForXcode", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
@@ -90,6 +95,7 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `check that macOS framework has symlinks`() {
|
fun `check that macOS framework has symlinks`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "debug",
|
"CONFIGURATION" to "debug",
|
||||||
@@ -98,9 +104,11 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
"EXPANDED_CODE_SIGN_IDENTITY" to "-",
|
"EXPANDED_CODE_SIGN_IDENTITY" to "-",
|
||||||
"TARGET_BUILD_DIR" to workingDir.absolutePath,
|
"TARGET_BUILD_DIR" to workingDir.absolutePath,
|
||||||
"FRAMEWORKS_FOLDER_PATH" to "${projectName}/build/xcode-derived"
|
"FRAMEWORKS_FOLDER_PATH" to "${projectName}/build/xcode-derived"
|
||||||
),
|
)
|
||||||
// Workaround for KT-55751
|
).suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
build(":shared:embedAndSignAppleFrameworkForXcode", options = options) {
|
build(":shared:embedAndSignAppleFrameworkForXcode", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
@@ -128,6 +136,7 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `check all registered tasks with Xcode environment for Debug IosArm64 configuration`() {
|
fun `check all registered tasks with Xcode environment for Debug IosArm64 configuration`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "Debug",
|
"CONFIGURATION" to "Debug",
|
||||||
@@ -137,10 +146,11 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
"TARGET_BUILD_DIR" to "testBuildDir",
|
"TARGET_BUILD_DIR" to "testBuildDir",
|
||||||
"FRAMEWORKS_FOLDER_PATH" to "testFrameworksDir"
|
"FRAMEWORKS_FOLDER_PATH" to "testFrameworksDir"
|
||||||
)
|
)
|
||||||
).suppressDeprecationWarningsOnAgpLessThan(
|
).suppressDeprecationWarningsOn(
|
||||||
AGPVersion.v7_3_0,
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)"
|
||||||
"uses deprecated IncrementalTaskInputs"
|
) { options ->
|
||||||
)
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
build("tasks", options = options) {
|
build("tasks", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksRegistered(
|
assertTasksRegistered(
|
||||||
@@ -162,16 +172,18 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `check embedAndSignAppleFrameworkForXcode was registered without required Xcode environments`() {
|
fun `check embedAndSignAppleFrameworkForXcode was registered without required Xcode environments`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "Debug",
|
"CONFIGURATION" to "Debug",
|
||||||
"SDK_NAME" to "iphoneos",
|
"SDK_NAME" to "iphoneos",
|
||||||
"ARCHS" to "arm64"
|
"ARCHS" to "arm64"
|
||||||
)
|
)
|
||||||
).suppressDeprecationWarningsOnAgpLessThan(
|
).suppressDeprecationWarningsOn(
|
||||||
AGPVersion.v7_3_0,
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)"
|
||||||
"uses deprecated IncrementalTaskInputs"
|
) { options ->
|
||||||
)
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
build("tasks", options = options) {
|
build("tasks", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksRegistered(
|
assertTasksRegistered(
|
||||||
@@ -199,6 +211,7 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `check that static framework for Arm64 is built but is not embedded`() {
|
fun `check that static framework for Arm64 is built but is not embedded`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
val options: BuildOptions = defaultBuildOptions().copy(
|
val options: BuildOptions = defaultBuildOptions().copy(
|
||||||
customEnvironmentVariables = mapOf(
|
customEnvironmentVariables = mapOf(
|
||||||
"CONFIGURATION" to "debug",
|
"CONFIGURATION" to "debug",
|
||||||
@@ -207,8 +220,10 @@ class AppleFrameworkIT : BaseGradleIT() {
|
|||||||
"TARGET_BUILD_DIR" to "no use",
|
"TARGET_BUILD_DIR" to "no use",
|
||||||
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
"FRAMEWORKS_FOLDER_PATH" to "no use"
|
||||||
),
|
),
|
||||||
// Workaround for KT-55751
|
).suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
)
|
)
|
||||||
setupWorkingDir()
|
setupWorkingDir()
|
||||||
projectDir.resolve("shared/build.gradle.kts").modify {
|
projectDir.resolve("shared/build.gradle.kts").modify {
|
||||||
|
|||||||
+9
-7
@@ -5,9 +5,7 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.native
|
package org.jetbrains.kotlin.gradle.native
|
||||||
|
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
import org.jetbrains.kotlin.gradle.*
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
|
||||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.DUMMY_FRAMEWORK_TASK_NAME
|
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.DUMMY_FRAMEWORK_TASK_NAME
|
||||||
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.POD_BUILD_TASK_NAME
|
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.POD_BUILD_TASK_NAME
|
||||||
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.POD_GEN_TASK_NAME
|
import org.jetbrains.kotlin.gradle.plugin.cocoapods.KotlinCocoapodsPlugin.Companion.POD_GEN_TASK_NAME
|
||||||
@@ -1249,11 +1247,15 @@ class CocoaPodsIT : BaseGradleIT() {
|
|||||||
taskName: String,
|
taskName: String,
|
||||||
vararg args: String
|
vararg args: String
|
||||||
) {
|
) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
// check that test executable
|
// check that test executable
|
||||||
build(taskName, *args, options = defaultBuildOptions().copy(
|
build(
|
||||||
// Workaround for KT-55751
|
taskName, *args, options = defaultBuildOptions().suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
)) {
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
|
)
|
||||||
|
) {
|
||||||
//base checks
|
//base checks
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
hooks.trigger(this)
|
hooks.trigger(this)
|
||||||
|
|||||||
+8
-5
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle.native
|
package org.jetbrains.kotlin.gradle.native
|
||||||
|
|
||||||
import com.intellij.testFramework.TestDataFile
|
import com.intellij.testFramework.TestDataFile
|
||||||
import org.gradle.api.logging.configuration.WarningMode
|
|
||||||
import org.gradle.util.GradleVersion
|
import org.gradle.util.GradleVersion
|
||||||
import org.jdom.input.SAXBuilder
|
import org.jdom.input.SAXBuilder
|
||||||
import org.jetbrains.kotlin.gradle.*
|
import org.jetbrains.kotlin.gradle.*
|
||||||
@@ -15,6 +14,7 @@ import org.jetbrains.kotlin.gradle.internals.DISABLED_NATIVE_TARGETS_REPORTER_WA
|
|||||||
import org.jetbrains.kotlin.gradle.internals.NO_NATIVE_STDLIB_PROPERTY_WARNING
|
import org.jetbrains.kotlin.gradle.internals.NO_NATIVE_STDLIB_PROPERTY_WARNING
|
||||||
import org.jetbrains.kotlin.gradle.internals.NO_NATIVE_STDLIB_WARNING
|
import org.jetbrains.kotlin.gradle.internals.NO_NATIVE_STDLIB_WARNING
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
|
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeOutputKind
|
||||||
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
|
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
|
||||||
import org.jetbrains.kotlin.gradle.util.modify
|
import org.jetbrains.kotlin.gradle.util.modify
|
||||||
import org.jetbrains.kotlin.gradle.util.runProcess
|
import org.jetbrains.kotlin.gradle.util.runProcess
|
||||||
@@ -312,12 +312,15 @@ class GeneralNativeIT : BaseGradleIT() {
|
|||||||
transformNativeTestProjectWithPluginDsl("frameworks", directoryPrefix = "native-binaries")
|
transformNativeTestProjectWithPluginDsl("frameworks", directoryPrefix = "native-binaries")
|
||||||
) {
|
) {
|
||||||
fun assemble(check: CompiledProject.() -> Unit) {
|
fun assemble(check: CompiledProject.() -> Unit) {
|
||||||
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
build(
|
build(
|
||||||
"assemble",
|
"assemble",
|
||||||
options = defaultBuildOptions().copy(
|
options = defaultBuildOptions()
|
||||||
// Workaround for KT-55751
|
.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
warningMode = WarningMode.None,
|
TestVersions.Gradle.G_7_4,
|
||||||
),
|
currentGradleVersion,
|
||||||
|
"Workaround for KT-55751"
|
||||||
|
),
|
||||||
check = check
|
check = check
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-7
@@ -5,9 +5,9 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.gradle.native
|
package org.jetbrains.kotlin.gradle.native
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.gradle.util.GradleVersion
|
||||||
import org.jetbrains.kotlin.gradle.GradleVersionRequired
|
import org.jetbrains.kotlin.gradle.*
|
||||||
import org.jetbrains.kotlin.gradle.suppressDeprecationWarningsOnAgpLessThan
|
import org.jetbrains.kotlin.gradle.testbase.TestVersions
|
||||||
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
|
import org.jetbrains.kotlin.gradle.transformProjectWithPluginsDsl
|
||||||
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
@@ -94,10 +94,12 @@ class XCFrameworkIT : BaseGradleIT() {
|
|||||||
@Test
|
@Test
|
||||||
fun `check there aren't XCFramework tasks without declaration in build script`() {
|
fun `check there aren't XCFramework tasks without declaration in build script`() {
|
||||||
with(Project("sharedAppleFramework")) {
|
with(Project("sharedAppleFramework")) {
|
||||||
val options = defaultBuildOptions().suppressDeprecationWarningsOnAgpLessThan(
|
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||||
AGPVersion.v7_3_0,
|
val options = defaultBuildOptions().suppressDeprecationWarningsOn(
|
||||||
"uses deprecated IncrementalTaskInputs"
|
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)"
|
||||||
)
|
) { options ->
|
||||||
|
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||||
|
}
|
||||||
build("tasks", options = options) {
|
build("tasks", options = options) {
|
||||||
assertSuccessful()
|
assertSuccessful()
|
||||||
assertTasksNotRegistered(
|
assertTasksNotRegistered(
|
||||||
|
|||||||
+4
-3
@@ -20,9 +20,10 @@ class CleanDataTaskIT : KGPBaseTest() {
|
|||||||
project(
|
project(
|
||||||
"cleanTask",
|
"cleanTask",
|
||||||
gradleVersion,
|
gradleVersion,
|
||||||
buildOptions = defaultBuildOptions.copy(
|
buildOptions = defaultBuildOptions.suppressDeprecationWarningsUntilGradleVersion(
|
||||||
// bug in Gradle: https://github.com/gradle/gradle/issues/15796
|
TestVersions.Gradle.G_7_0,
|
||||||
warningMode = if (gradleVersion < GradleVersion.version("7.0")) WarningMode.Summary else defaultBuildOptions.warningMode
|
gradleVersion,
|
||||||
|
"bug in Gradle: https://github.com/gradle/gradle/issues/15796"
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
build("testCleanTask")
|
build("testCleanTask")
|
||||||
|
|||||||
+24
-1
@@ -12,6 +12,8 @@ import org.jetbrains.kotlin.cli.common.CompilerSystemProperties.COMPILE_INCREMEN
|
|||||||
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
import org.jetbrains.kotlin.gradle.BaseGradleIT
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinJsCompilerType
|
||||||
import org.jetbrains.kotlin.gradle.report.BuildReportType
|
import org.jetbrains.kotlin.gradle.report.BuildReportType
|
||||||
|
import org.jetbrains.kotlin.gradle.suppressDeprecationWarningsOn
|
||||||
|
import org.jetbrains.kotlin.gradle.util.AGPVersion
|
||||||
import org.junit.jupiter.api.condition.OS
|
import org.junit.jupiter.api.condition.OS
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
@@ -40,6 +42,9 @@ data class BuildOptions(
|
|||||||
val statisticsForceValidation: Boolean = true,
|
val statisticsForceValidation: Boolean = true,
|
||||||
val usePreciseOutputsBackup: Boolean? = null,
|
val usePreciseOutputsBackup: Boolean? = null,
|
||||||
) {
|
) {
|
||||||
|
val safeAndroidVersion: String
|
||||||
|
get() = androidVersion ?: error("AGP version is expected to be set")
|
||||||
|
|
||||||
data class KaptOptions(
|
data class KaptOptions(
|
||||||
val verbose: Boolean = false,
|
val verbose: Boolean = false,
|
||||||
val incrementalKapt: Boolean = false,
|
val incrementalKapt: Boolean = false,
|
||||||
@@ -153,4 +158,22 @@ data class BuildOptions(
|
|||||||
|
|
||||||
return arguments.toList()
|
return arguments.toList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun BuildOptions.suppressDeprecationWarningsOn(
|
||||||
|
@Suppress("UNUSED_PARAMETER") reason: String, // just to require specifying a reason for suppressing
|
||||||
|
predicate: (BuildOptions) -> Boolean
|
||||||
|
) = if (predicate(this)) {
|
||||||
|
copy(warningMode = WarningMode.Summary)
|
||||||
|
} else {
|
||||||
|
this
|
||||||
|
}
|
||||||
|
|
||||||
|
fun BuildOptions.suppressDeprecationWarningsSinceGradleVersion(
|
||||||
|
gradleVersion: String,
|
||||||
|
currentGradleVersion: GradleVersion,
|
||||||
|
reason: String
|
||||||
|
) = suppressDeprecationWarningsOn(reason) {
|
||||||
|
currentGradleVersion >= GradleVersion.version(gradleVersion)
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user