From 86c6ca7f5f692183feb6f524f37e8c756c642782 Mon Sep 17 00:00:00 2001 From: Viacheslav Kormushkin Date: Fri, 15 Oct 2021 06:36:22 +0000 Subject: [PATCH] [Gradle][Cocoapods] Private Pods with SSH Git Url not allowed in custom specRepos #KT-48887 Merge-request: KT-MR-4770 --- .../native/cocoapods/CocoapodsExtension.kt | 6 +++--- .../native/tasks/AdvancedCocoapodsTasks.kt | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/CocoapodsExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/CocoapodsExtension.kt index 282601c1348..056555d1235 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/CocoapodsExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/cocoapods/CocoapodsExtension.kt @@ -360,14 +360,14 @@ open class CocoapodsExtension(private val project: Project) { class SpecRepos { @get:Internal - internal val specRepos = mutableSetOf(URI("https://cdn.cocoapods.org")) + internal val specRepos = mutableSetOf("https://cdn.cocoapods.org") fun url(url: String) { - specRepos.add(URI(url)) + specRepos.add(url) } @Input - internal fun getAll(): Collection { + internal fun getAll(): Collection { return specRepos } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt index 9a515ed40db..b94fd8b36fd 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/AdvancedCocoapodsTasks.kt @@ -663,6 +663,23 @@ private object CocoapodsErrorHandlingUtil { | """.trimMargin() return message + } else if ( + error.contains("Unable to add a source with url") || + error.contains("Couldn't determine repo name for URL") || + error.contains("Unable to find a specification") + ) { + message += """ + | + | Possible reason: spec repos are not configured correctly. + | Ensure that spec repos are correctly configured for all private pod dependencies: + | cocoapods { + | specRepos { + | url("") + | } + | } + | + """.trimMargin() + return message } return null }