commit | b38175207422d93a54cd4b25f973c9226428fb3b | [log] [tgz] |
---|---|---|
author | Artem Daugel-Dauge <artem.daugel-dauge@jetbrains.com> | Tue Jul 04 18:43:48 2023 +0200 |
committer | Space Team <noreply@jetbrains.team> | Thu Jul 06 13:53:52 2023 +0000 |
tree | 8890cc75eee267e6fb842fad418afa730a82c29d | |
parent | 344dbcbd23586a1940904b705e334f6a8f3d48ca [diff] |
[Gradle] Fix cocoapods' cinterops UTD ^KT-60112 Verification Pending
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/CocoaPodsIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/CocoaPodsIT.kt index 8dc7feb..e6eb74c 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/CocoaPodsIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/native/CocoaPodsIT.kt
@@ -250,6 +250,30 @@ } } + @DisplayName("cinterops UTD after pod change") + @GradleTest + fun testCinteropsUTDAfterPodChange(gradleVersion: GradleVersion) { + nativeProjectWithCocoapodsAndIosAppPodFile(gradleVersion = gradleVersion) { + + val podDeclaration = """pod("Base64", version = "1.0.1")""" + buildGradleKts.addCocoapodsBlock(podDeclaration) + + buildWithCocoapodsWrapper(podImportTaskName) { + assertTasksExecuted(":cinteropBase64IOS") + } + + buildWithCocoapodsWrapper(podImportTaskName) { + assertTasksUpToDate(":cinteropBase64IOS") + } + + buildGradleKts.replaceText(podDeclaration, """pod("Base64", version = "1.1.2")""") + + buildWithCocoapodsWrapper(podImportTaskName) { + assertTasksExecuted(":cinteropBase64IOS") + } + } + } + @DisplayName("Installing pod without pod file") @GradleTest fun testPodInstallWithoutPodFile(gradleVersion: GradleVersion) {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt index 6341b8ca..9348159 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/KotlinCocoapodsPlugin.kt
@@ -338,6 +338,10 @@ val podBuildTaskProvider = project.getPodBuildTaskProvider(target, pod) val buildSettingsFileProvider = project.buildSettingsFileProvider(pod, target) interopTask.inputs.file(buildSettingsFileProvider) + + // Since we can't properly declare frameworks as inputs (see below) it's the best approximation + interopTask.inputs.files(podBuildTaskProvider.flatMap { it.srcDir }) + interopTask.dependsOn(podBuildTaskProvider) interopTask.doFirst { _ ->