Как объявить версию расширения компилятора Kotlin, используя файл каталога версий

Я перенес свой Gradle в каталог версий и хочу также переместить компилятор Kotlin Compose в libs.versions.toml.

Это мое текущее объявление в приложении Gradle:

composeOptions {
    kotlinCompilerExtensionVersion = "1.5.11"
}

Я пытался сделать это вот так

libs.versions.toml

[versions]
kotlinComposeCompiler = "1.5.11"

build.gradle.kts (:приложение)

composeOptions {
    kotlinCompilerExtensionVersion = "${libs.versions.kotlinComposeCompiler}"
}

Но мой проект иногда не синхронизируется с этой ошибкой:

Не удалось найти androidx.compose.compiler:compiler:provider(?).

Как правильно объявить версию расширения компилятора Kotlin с помощью каталога версий?

2
0
822
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, вы правильно настроили каталог версий. При этом генерируется некоторый код, включающий свойство libs.versions.kotlinComposeCompiler типа Provider<String> (нажмите на него в своей IDE, чтобы посмотреть).

Поставщик — это тип Gradle, который представляет собой оболочку версии, предназначенную для облегчения ленивой инициализации, хотя здесь это неприменимо.

Чтобы получить нужную вам версию String изнутри Provider, вы просто вызываете get(), и в итоге вы получаете:

composeOptions {
    kotlinCompilerExtensionVersion = libs.versions.kotlinComposeCompiler.get()
}

Другие вопросы по теме