[Gradle] Provide granular Gradle warnings suppression for CocoaPodsIT
^KT-56162 Fixed
This commit is contained in:
committed by
Space Team
parent
2922f85a98
commit
b1b744b863
+3
-5
@@ -179,12 +179,10 @@ class AppleFrameworkIT : BaseGradleIT() {
|
||||
"SDK_NAME" to "iphoneos",
|
||||
"ARCHS" to "arm64"
|
||||
)
|
||||
).suppressDeprecationWarningsOn(
|
||||
"AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)"
|
||||
) { options ->
|
||||
)
|
||||
build("tasks", options = options.suppressDeprecationWarningsOn("AGP uses deprecated IncrementalTaskInputs (Gradle 7.5)") {
|
||||
GradleVersion.version(currentGradleVersion) >= GradleVersion.version(TestVersions.Gradle.G_7_5) && options.safeAndroidGradlePluginVersion < AGPVersion.v7_3_0
|
||||
}
|
||||
build("tasks", options = options) {
|
||||
}) {
|
||||
assertSuccessful()
|
||||
assertTasksRegistered(
|
||||
":shared:embedAndSignAppleFrameworkForXcode",
|
||||
|
||||
+116
-34
@@ -180,10 +180,41 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodImportSingle() = doTestImportSingle()
|
||||
fun testPodImportSingle() {
|
||||
val project = getProjectByName(cocoapodsSingleKtPod)
|
||||
|
||||
project.preparePodfile("ios-app", ImportMode.FRAMEWORKS)
|
||||
|
||||
project.testImportWithAsserts()
|
||||
|
||||
suppressGradleWarningsForKt55751()
|
||||
hooks.rewriteHooks {
|
||||
podImportAsserts("kotlin-library")
|
||||
}
|
||||
project.testSynthetic(":kotlin-library:podImport")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodImportMultiple() = doTestImportMultiple()
|
||||
fun testPodImportMultiple() {
|
||||
val project = getProjectByName(cocoapodsMultipleKtPods)
|
||||
|
||||
project.preparePodfile("ios-app", ImportMode.FRAMEWORKS)
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = false
|
||||
project.testImportWithAsserts()
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = true
|
||||
hooks.rewriteHooks {
|
||||
podImportAsserts("kotlin-library")
|
||||
}
|
||||
project.testSynthetic(":kotlin-library:podImport")
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = false
|
||||
hooks.rewriteHooks {
|
||||
podImportAsserts("second-library")
|
||||
}
|
||||
project.testSynthetic(":second-library:podImport")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodspecMultiple() = doTestPodspec(
|
||||
@@ -236,6 +267,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSpecReposImport() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val podName = "example"
|
||||
val podRepo = "https://github.com/alozhkin/spec_repo"
|
||||
with(project.gradleBuildScript()) {
|
||||
@@ -296,26 +329,36 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitNoTagNorCommit() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
doTestGit()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitTag() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
doTestGit(tag = "4.0.0")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitCommit() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
doTestGit(commit = "9c07ac0a5645abb58850253eeb109ed0dca515c1")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitBranch() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
doTestGit(branch = "2974")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitSubspec() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
doTestGit(
|
||||
repo = "https://github.com/SDWebImage/SDWebImage.git",
|
||||
pod = "SDWebImage/MapKit",
|
||||
@@ -325,6 +368,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testPodDownloadGitBranchAndCommit() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val branch = "2974"
|
||||
val commit = "21637dd6164c0641e414bdaf3885af6f1ef15aee"
|
||||
with(project.gradleBuildScript()) {
|
||||
@@ -336,6 +381,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
// tag priority is bigger than branch priority
|
||||
@Test
|
||||
fun testPodDownloadGitBranchAndTag() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val branch = "2974"
|
||||
val tag = "4.0.0"
|
||||
with(project.gradleBuildScript()) {
|
||||
@@ -346,6 +393,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testDownloadAndImport() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val tag = "4.0.0"
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod(defaultPodName, produceGitBlock(defaultPodRepo, tagName = tag))
|
||||
@@ -409,17 +458,20 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
""".trimIndent())
|
||||
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = false
|
||||
hooks.addHook {
|
||||
assertTasksExecuted(dummyTaskName)
|
||||
assertTasksExecuted(podInstallTaskName)
|
||||
}
|
||||
project.testImport()
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = true
|
||||
hooks.rewriteHooks {
|
||||
assertTasksExecuted(linkTaskName)
|
||||
}
|
||||
project.testWithWrapper(linkTaskName)
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = false
|
||||
hooks.rewriteHooks {
|
||||
assertTasksUpToDate(dummyTaskName)
|
||||
assertTasksUpToDate(podInstallTaskName)
|
||||
@@ -468,6 +520,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun basicUTDTest() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val tasks = listOf(
|
||||
podspecTaskName,
|
||||
defaultPodGenTaskName,
|
||||
@@ -529,6 +583,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUTDPodAdded() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod(defaultPodName, produceGitBlock(defaultPodRepo))
|
||||
}
|
||||
@@ -576,6 +632,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testImportSubspecs() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod("SDWebImage/Core")
|
||||
addPod("SDWebImage/MapKit")
|
||||
@@ -585,6 +643,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUTDTargetAdded() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod(defaultPodName, produceGitBlock(defaultPodRepo))
|
||||
appendToCocoapodsBlock("osx.deploymentTarget = \"10.15\"")
|
||||
@@ -706,6 +766,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUTDBuild() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod(defaultPodName, produceGitBlock())
|
||||
}
|
||||
@@ -738,14 +800,17 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod(defaultPodName, produceGitBlock())
|
||||
}
|
||||
hooks.suppressGradleWarningsForKt55751 = true
|
||||
hooks.addHook {
|
||||
assertTasksExecuted(defaultBuildTaskName)
|
||||
}
|
||||
project.testImport()
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = false
|
||||
hooks.rewriteHooks {}
|
||||
project.test(":clean")
|
||||
|
||||
hooks.suppressGradleWarningsForKt55751 = true
|
||||
hooks.addHook {
|
||||
assertTasksExecuted(defaultBuildTaskName)
|
||||
}
|
||||
@@ -762,6 +827,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testGroovyDownloadAndImport() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
val project = getProjectByName(groovyTemplateProjectName)
|
||||
val tag = "4.0.0"
|
||||
with(project.gradleBuildScript()) {
|
||||
@@ -775,6 +842,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun supportPodsWithDependencies() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod("AlamofireImage")
|
||||
}
|
||||
@@ -783,6 +852,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCustomPackageName() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
addPod("AFNetworking", "packageName = \"AFNetworking\"")
|
||||
}
|
||||
@@ -803,6 +874,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCinteropExtraOpts() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().addPod("AFNetworking", "extraOpts = listOf(\"-help\")")
|
||||
hooks.addHook {
|
||||
@@ -814,6 +887,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUseLibrariesMode() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().appendToCocoapodsBlock("useLibraries()")
|
||||
gradleBuildScript().addPod("AFNetworking", configuration = "headers = \"AFNetworking/AFNetworking.h\"")
|
||||
@@ -824,6 +899,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUseLibrariesModeWarnWhenPodIsAddedWithoutHeadersSpecified() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().appendToCocoapodsBlock("useLibraries()")
|
||||
gradleBuildScript().addPod("AFNetworking")
|
||||
@@ -838,6 +915,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUseDynamicFramework() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().addPod(defaultPodName, produceGitBlock(defaultPodRepo))
|
||||
gradleBuildScript().appendToFrameworkBlock("isStatic = false")
|
||||
@@ -859,6 +938,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testUseStaticFramework() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().addPod(defaultPodName, produceGitBlock(defaultPodRepo))
|
||||
gradleBuildScript().appendToFrameworkBlock("isStatic = true")
|
||||
@@ -888,6 +969,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSyncFramework() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
hooks.addHook {
|
||||
assertTasksExecuted(":linkPodDebugFrameworkIOS")
|
||||
@@ -904,6 +987,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testSyncFrameworkCustomXcodeConfiguration() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
with(project) {
|
||||
gradleBuildScript().appendToCocoapodsBlock("xcodeConfigurationToNativeBuildType[\"CUSTOM\"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.DEBUG\n")
|
||||
hooks.addHook {
|
||||
@@ -1060,11 +1145,16 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testPodDependencyInUnitTests() =
|
||||
fun testPodDependencyInUnitTests() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
getProjectByName(cocoapodsTestsProjectName).testWithWrapper(":iosX64Test")
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testCinteropUpToDate() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
project.gradleBuildScript().addPod(defaultPodName, produceGitBlock(defaultPodRepo))
|
||||
project.testImport()
|
||||
hooks.addHook {
|
||||
@@ -1108,6 +1198,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testPodPublishing() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
hooks.addHook {
|
||||
assertTasksExecuted(":podPublishReleaseXCFramework")
|
||||
assertTasksExecuted(":podPublishDebugXCFramework")
|
||||
@@ -1130,6 +1222,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testPodPublishingWithCustomProperties() {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
|
||||
with(project.gradleBuildScript()) {
|
||||
appendToCocoapodsBlock("name = \"CustomPod\"")
|
||||
@@ -1190,6 +1284,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
|
||||
@Test
|
||||
fun testCinteropKlibsProvideLinkerOptsToFramework() = with(project) {
|
||||
suppressGradleWarningsForKt55751()
|
||||
|
||||
gradleBuildScript().addPod("AFNetworking")
|
||||
testWithWrapper(":cinteropAFNetworkingIOS")
|
||||
|
||||
@@ -1276,6 +1372,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
private class CustomHooks {
|
||||
private val hooks = mutableSetOf<CompiledProject.() -> Unit>()
|
||||
|
||||
var suppressGradleWarningsForKt55751 = false
|
||||
|
||||
fun addHook(hook: CompiledProject.() -> Unit) {
|
||||
hooks.add(hook)
|
||||
}
|
||||
@@ -1292,29 +1390,8 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun doTestImportSingle() {
|
||||
val project = getProjectByName(cocoapodsSingleKtPod)
|
||||
val subprojects = listOf("kotlin-library")
|
||||
doTestPodImport(project, subprojects)
|
||||
}
|
||||
|
||||
private fun doTestImportMultiple() {
|
||||
val project = getProjectByName(cocoapodsMultipleKtPods)
|
||||
val subprojects = listOf("kotlin-library", "second-library")
|
||||
doTestPodImport(project, subprojects)
|
||||
}
|
||||
|
||||
private fun doTestPodImport(project: BaseGradleIT.Project, subprojects: List<String>) {
|
||||
with(project) {
|
||||
preparePodfile("ios-app", ImportMode.FRAMEWORKS)
|
||||
}
|
||||
project.testImportWithAsserts()
|
||||
subprojects.forEach {
|
||||
hooks.rewriteHooks {
|
||||
podImportAsserts(it)
|
||||
}
|
||||
project.testSynthetic(":$it:podImport")
|
||||
}
|
||||
private fun suppressGradleWarningsForKt55751() {
|
||||
hooks.suppressGradleWarningsForKt55751 = true
|
||||
}
|
||||
|
||||
private fun doTestGit(
|
||||
@@ -1368,15 +1445,20 @@ class CocoaPodsIT : BaseGradleIT() {
|
||||
taskName: String,
|
||||
vararg args: String
|
||||
) {
|
||||
val currentGradleVersion = chooseWrapperVersionOrFinishTest()
|
||||
val buildOptions = defaultBuildOptions().run {
|
||||
if (hooks.suppressGradleWarningsForKt55751) {
|
||||
suppressDeprecationWarningsSinceGradleVersion(
|
||||
TestVersions.Gradle.G_7_4,
|
||||
chooseWrapperVersionOrFinishTest(),
|
||||
"Workaround for KT-55751"
|
||||
)
|
||||
} else {
|
||||
this
|
||||
}
|
||||
}
|
||||
|
||||
// check that test executable
|
||||
build(
|
||||
taskName, *args, options = defaultBuildOptions().suppressDeprecationWarningsSinceGradleVersion(
|
||||
TestVersions.Gradle.G_7_4,
|
||||
currentGradleVersion,
|
||||
"Workaround for KT-55751"
|
||||
)
|
||||
) {
|
||||
build(taskName, *args, options = buildOptions) {
|
||||
//base checks
|
||||
assertSuccessful()
|
||||
hooks.trigger(this)
|
||||
|
||||
Reference in New Issue
Block a user