[Gradle] Fix cocoapods' cinterops UTD
^KT-60112 Verification Pending
This commit is contained in:
committed by
Space Team
parent
344dbcbd23
commit
b381752074
+24
@@ -250,6 +250,30 @@ class CocoaPodsIT : KGPBaseTest() {
|
||||
}
|
||||
}
|
||||
|
||||
@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) {
|
||||
|
||||
+4
@@ -338,6 +338,10 @@ open class KotlinCocoapodsPlugin : Plugin<Project> {
|
||||
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 { _ ->
|
||||
|
||||
Reference in New Issue
Block a user