Плагин Android Gradle Convention: конфигурации типа сборки, не созданные, когда типы сборки определены в Build.gradle.ktAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Плагин Android Gradle Convention: конфигурации типа сборки, не созданные, когда типы сборки определены в Build.gradle.kt

Сообщение Anonymous »

Проблема < /h2>
Я использую плагин Android Gradle Convention для стандартизации моей конфигурации сборки в модулях. Тем не менее, я сталкиваюсь с проблемой с конфигурациями типа сборки: < /p>
  • Когда я создаю типы сборки (например, постановка < /code>) в плагине соглашения, соответствующие конфигурации (

    Код: Выделить всё

    stagingImplementation
    , stagingapi и т. Д.) Создаются автоматически
  • Когда я создаю типы сборки в файле модуля. StagingImplementation (libs.pluto)
Создание типов сборки в плагине соглашения снижает его повторное использование, поскольку различным модулям могут нуждаться в разных типах сборки.

Код: Выделить всё

AndroidApplicationConventionPlugin.kt
):

Код: Выделить всё

class AndroidApplicationConventionPlugin : Plugin {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
apply("com.android.application")
apply("org.jetbrains.kotlin.android")
}

extensions.configure {
defaultConfig {
targetSdk = 36
}
buildFeatures {
buildConfig = true
}
configureKotlinAndroid(this)
}
}
}
}
< /code>
[b] модуль приложений (build.gradle.kts
): [/b]

Код: Выделить всё

plugins {
alias(libs.plugins.dogus.android.application) // My convention plugin
alias(libs.plugins.dogus.android.application.compose)
// ... other plugins
}

android {
buildTypes {
create("staging") {
initWith(getByName("debug"))
// staging configuration
}
}
}

dependencies {
// This works:
debugImplementation(libs.pluto)
releaseImplementation(libs.pluto.no.op)

// This doesn't work - stagingImplementation configuration doesn't exist:
// stagingImplementation(libs.pluto)

// Have to use this instead:
add("stagingImplementation", libs.pluto)
}
< /code>
 Вопрос < /h2>
Как я могу сделать свой плагин соглашения распознавать типы сборки, созданные в отдельных модулях, и автоматически создавать соответствующие конфигурации (stagingImplementation
, StagingApi и т. Д.) Без конкретных типов сборки в жестком кодировании в самом плагине конвенции? 8.x
[*] Gradle: 8.x
[*] Kotlin DSL


Подробнее здесь: https://stackoverflow.com/questions/797 ... d-when-bui
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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