Плагин «Показ всех сообщений» [id: «com.android.library»] не найден ни в одном из следующих источников: ошибка при устанIOS

Программируем под IOS
Ответить
Anonymous
 Плагин «Показ всех сообщений» [id: «com.android.library»] не найден ни в одном из следующих источников: ошибка при устан

Сообщение Anonymous »

Я обновляю наш многоплатформенный проект Kotlin до последней версии Kotlin, Gradle и различных плагинов, которые по сути представляют собой просто наш интерфейс API, который мы используем в наших собственных проектах мобильных приложений.
Что касается требований PlayStore, мы увеличили версию компиляции до 34, поэтому Android-разработчик обновил Kotlin до версии 1.9.10 плюс несколько изменений в коде
object Versions {
const val iosTestTask = false
const val foo = "8.8.8"
const val kotlin = "1.9.10"

// Gradle
const val androidGradlePlugin = "7.2.2"
const val gradle = "gradle-7.4.1-bin"

// Android
const val compileSdk = 34
const val minSdk = 23
const val targetSdk = compileSdk

// You can also use this to specify versions for dependencies. Having consistent
// versions between modules can avoid behavior conflicts.
const val sqldelight = "1.5.2" // https://github.com/cashapp/sqldelight/issues/2790
const val settings = "0.9"
// https://kotlinlang.org/docs/mobile/conc ... coroutines
const val coroutines = "1.6.1-native-mt"
const val ktor = "1.6.8" // openapi-gen is still not compliant with ktor 2.0... :'(
const val openapigen = "5.3.0"
//
const val crashkios = "0.6.0"
}

Проблема в том, что, несмотря на успешную сборку многоплатформенного проекта, после запуска pod install сборка проекта iOS завершается с ошибкой:

Showing All Messages
* What went wrong:

Plugin [id: 'com.android.library'] was not found in any of the following sources:

- Gradle Core Plugins (plugin is not in 'org.gradle' namespace)

- Included Builds (No included builds contain this plugin)

- Plugin Repositories (plugin dependency must include a version number for this source)


Я пошел еще дальше и обновил плагин до последней версии Kotlin, Gradle и gradle-plugin, а также обновил код для использования @OptIn(kotlin.experimental.ExperimentalNativeApi::class) куда указывал компилятор, поэтому он снова компилируется без ошибок, но сборка Xcode все равно завершается сбоем, показывая ту же ошибку в многоплатформенном модуле.
Фактические используемые версии:
object Versions {
const val iosTestTask = false
const val foo = "8.8.8"
const val kotlin = "1.9.20"

// Gradle
const val androidGradlePlugin = "8.5.1"
const val gradle = "gradle-8.9-bin"

// Android
const val compileSdk = 34
const val minSdk = 23
const val targetSdk = compileSdk

// You can also use this to specify versions for dependencies. Having consistent
// versions between modules can avoid behavior conflicts.
const val sqldelight = "1.5.2" // https://github.com/cashapp/sqldelight/issues/2790
const val settings = "0.9"
// https://kotlinlang.org/docs/mobile/conc ... coroutines
const val coroutines = "1.6.1-native-mt"
const val ktor = "2.0.0"
const val openapigen = "6.2.1"
const val crashkios = "0.6.0"
}

Последние рабочие настройки iOS относятся к следующим версиям:
object Versions {
const val iosTestTask = false
const val foo = "8.8.8"
const val kotlin = "1.7.10"

// Gradle
const val androidGradlePlugin = "7.2.2"
const val gradle = "gradle-7.4.1-bin"

// Android
const val compileSdk = 33
const val minSdk = 23
const val targetSdk = compileSdk

// You can also use this to specify versions for dependencies. Having consistent
// versions between modules can avoid behavior conflicts.
const val sqldelight = "1.5.2" // https://github.com/cashapp/sqldelight/issues/2790
const val settings = "0.9"
// https://kotlinlang.org/docs/mobile/conc ... coroutines
const val coroutines = "1.6.1-native-mt"
const val ktor = "1.6.8" // openapi-gen is still not compliant with ktor 2.0... :'(
const val openapigen = "5.3.0"
//
const val crashkios = "0.6.0"
}

Я также заметил поведение, которое не могу объяснить.
В модуле build.gradle.kts, если я ссылаюсь на версии плагина из объекта, как это было до обновлений ошибка в Xcode

Showing All Messages
Script compilation errors:

Line 26: id("com.squareup.sqldelight") version Versions.sqldelight

^ Unresolved reference: Versions

Line 27: kotlin("plugin.serialization") version Versions.kotlin apply true

^ Unresolved reference: Versions

Line 28: id("org.openapi.generator") version Versions.openapigen

^ Unresolved reference: Versions


но он не жалуется на идентификатор: 'com.android.library':
plugins {
// https://developer.android.com/studio/pr ... id-library
id("com.android.library")
// id("com.android.library") version "8.5.1" apply false
id("org.jetbrains.kotlin.multiplatform")
// https://github.com/JetBrains/kotlin-nat ... COAPODS.md
id("org.jetbrains.kotlin.native.cocoapods")

// referencing the Versions in Dependencies.kt results in
// Unresolved reference: Versions
// id("com.squareup.sqldelight") version Versions.sqldelight
// kotlin("plugin.serialization") version Versions.kotlin apply true
// id("org.openapi.generator") version Versions.openapigen

// specifying versions directly works, leaving only the
// id("com.android.library") not found error

id("com.squareup.sqldelight") version "1.5.2"
kotlin("plugin.serialization") version "1.9.10" apply true
id("org.openapi.generator") version "6.2.1"

}

Я не могу найти решение проблемы. Можете ли вы определить, что не так с настройкой?
Большое спасибо
Вот еще фрагменты настройки из проекта build.gradle.kts:
buildscript {
repositories {
mavenCentral()
google()
// maven ( url = "https://repo1.maven.org/maven2" )
// maven {
// url = uri("https://plugins.gradle.org/m2/")
// }
maven (url = "https://plugins.gradle.org/m2/")
}
dependencies {
classpath ("com.android.tools.build:gradle:${Versions.androidGradlePlugin}")
classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlin}")

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
// classpath ("com.squareup.sqldelight:gradle-plugin:${Versions.sqldelight}")
// classpath ("org.jetbrains.kotlin:kotlin-serialization:${Versions.kotlin}")
// classpath ("org.openapitools:openapi-generator-gradle-plugin:${Versions.openapigen}")
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-any-of
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»