在gradle中使用TOML版本文件

M.D*_*van 2 android gradle toml kotlin-multiplatform

我尝试使用 libs.versions.toml 中的版本来设置 composeOptions,如下所示:

android {
 ...
    composeOptions {
        kotlinCompilerExtensionVersion = libs.versions.kotlinCompilerExtensionVersion.get()
    }
}
Run Code Online (Sandbox Code Playgroud)

但我遇到函数错误.get()

未解决的参考。由于接收器类型不匹配,以下候选者均不适用: public inline operator fun <K, V> Map<out TypeVariable(K), TypeVariable(V)>.get(key: TypeVariable(K)): TypeVariable(V) ?在 kotlin.collections 中定义 public operator fun MatchGroupCollection.get(name: String): MatchGroup? 在 kotlin.text 中定义

当使用它来应用插件和实现库时,TOML 版本控制工作得很好,但当我想获取带有以下版本的版本时,TOML 版本控制工作得很好.get()

摇篮版本 7.5.1

Nic*_*hek 5

.toml 文件MyProject/gradle/libs.versions.toml

[versions]
minSdk = "24"
kotlinVersion = "1.8.21"#https://mvnrepository.com/artifact/org.jetbrains.kotlin/kotlin-gradle-plugin
[libraries]
kotlinStdlibJdk8 = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlinVersion" }
Run Code Online (Sandbox Code Playgroud)

在gradle中使用:libs.versions.kotlinVersion.get(),例如:

minSdk libs.versions.minSdk.get().toInteger()
...
dependencies {
    
    implementation "org.jetbrains.kotlin:kotlin-reflect:${libs.versions.kotlinVersion.get()}"
    implementation libs.kotlinStdlibJdk8

}
Run Code Online (Sandbox Code Playgroud)

查看文档