Что ext.kotlin_version = '+' означает в Build.gradle? - PullRequest
4 голосов
/ 10 июля 2019

Следующий код от https://github.com/android/camera/blob/master/CameraXBasic/build.gradle

Что означает ext.kotlin_version = '+' в Build.gradle?

build.gradle

buildscript {
    // Top-level variables used for versioning
    ext.kotlin_version = '+'
    ext.java_version = JavaVersion.VERSION_1_8

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.0.0"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

Нормальный код

buildscript {
    ext.kotlin_version = '1.3.41'
    ext.anko_version = '0.10.8'

    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

1 Ответ

3 голосов
/ 13 июля 2019

Часто мы видим «+» как таковой:

compile 'com.android.support:appcompat-v7:23.0.+'

Что означает версию 23.0.0 или выше, если она начинается с 23.0.

В вашем случае это означает, что последняя версия может быть 1.0.0, 2.1.0, 0.0.1, 25.10.100 или что-то самое последнее. Но я хотел бы отметить, что это плохая практика, поскольку это может привести к недетерминированным сборкам, что означает, что один раз исходный код может быть успешно собран, а в другой раз может произойти сбой без каких-либо изменений в нем. Для получения дополнительной информации проверьте эту ссылку: https://blog.danlew.net/2015/09/09/dont-use-dynamic-versions-for-your-dependencies/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...