Я обновляю наш многоплатформенный проект 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
Плагин «Показ всех сообщений» [id: «com.android.library»] не найден ни в одном из следующих источников: ошибка при устан ⇐ IOS
Программируем под IOS
1721144734
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/concurrency-and-coroutines.html#multithreaded-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/concurrency-and-coroutines.html#multithreaded-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/concurrency-and-coroutines.html#multithreaded-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/projects/android-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-native/blob/master/COCOAPODS.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}")
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78755540/showing-all-messages-plugin-id-com-android-library-was-not-found-in-any-of[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия