Перенести вложенные дополнительные свойства из .gradle в .gradle.kts (DSL) - PullRequest
0 голосов
/ 05 августа 2020

Пример создания:

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
        ...
    }
    ...
}

I найдено примеры без вложенности для .kts:

val springVersion by extra("3.1.0.RELEASE")
val emailNotification by extra { "build@master.org" }

Но я не могу найти никакой документации для написания этого кода на Kotlin DSL.

1 Ответ

0 голосов
/ 05 августа 2020

здесь

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
    )
))
...