gradle - 将嵌套的额外属性从.gradle迁移到.gradle.kts(DSL)

标签 gradle gradle-kotlin-dsl

创建示例:

ext {
    versions = [
            kotlin     : "1.3.72",

            application: [
                    versionName     : getVersionName(),
                    versionCode     : getVersionCode(),
                    imageVersionCode: getImageVersionCode(),
            ],
            android    : [
                    compileSdk: 29,
                    minSdk    : 21,
                    targetSdk : 29,
                    java      : JavaVersion.VERSION_1_8,
            ],
    ]
}
使用例子
android {
    compileSdkVersion versions.android.compileSdk
    defaultConfig {
        minSdkVersion versions.android.minSdk
        targetSdkVersion versions.android.targetSdk
        ...
    }
    ...
}
我没有嵌套.kts的found示例:
val springVersion by extra("3.1.0.RELEASE")
val emailNotification by extra { "build@master.org" }
但是我找不到任何文档可以在Kotlin DSL上编写此代码。

最佳答案

这里

val versions by extra( mapOf(
    "kotlin" to "1.3.72",
    "application" to mapOf(
        "versionName" to project.version,
        "versionCode" to project.version,
        "imageVersionCode" to project.version
    ),
    "android" to mapOf(
        "compileSdk" to 29,
        "minSdk" to 21,
        "targetSdk" to 29,
        "java" to JavaVersion.VERSION_1_8
    )
))

关于gradle - 将嵌套的额外属性从.gradle迁移到.gradle.kts(DSL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63256773/

相关文章:

scala - 执行 scala 的运行任务时 Gradle 失败

java - 如何开始在 gradle 项目中使用 tensorflow-lite?

spring-boot - 为Spring-boot应用程序获取whitelabel错误

java - Gradle Kotlin 应用程序的启动脚本找不到主类

android - 如何在 Kotlin Gradle DSL 中更新 applicationVariants 中的 manifestPlaceholders?

gradle - 如何解决:Android Gradle插件仅支持Kotlin Gradle插件1.3.10及更高版本。

gradle - Kotlin Gradle任务命令行无法按照PATH链接进行自制安装

java - Java-如何在不通过Gradle项目进行编译的情况下使用依赖项

Gradle - 属性可以放在 settings.gradle.kts 中吗

maven - Intellij : web app is fine at work but stops working at home (via VPN)