Рубрики
Без рубрики

Настройка Gradle с помощью “gradle.properties”

Использование https://gradle.org как ваш инструмент для сборки? Читайте дальше. Я нашел файл gradle.properties с хорошим рейтингом… С тегами java, котлин, android, хактоберфест.

Использование https://gradle.org как ваш инструмент сборки? Читайте дальше.

Я нашел файл gradle.properties приятной частью Gradle.

Что трудно, так это найти обзор этой информации: вы можете создавать свои собственные настройки, у Gradle свои собственные, у Kotlin свои собственные, у Android свои собственные,…

Поэтому я подумал, что мог бы дать обзор всего этого.

Вам не следует добавлять параметр до того, как вы прочтете документы, чтобы понять, что он делает. Именно поэтому я каждый раз добавлял ссылку на документацию.

Дружественные документы Gradle сообщают вам, что

В Gradle свойства могут быть определены в сценарии сборки, в файле gradle.properties или в качестве параметров в командной строке. Обычно свойства объявляются в командной строке для специальных сценариев. Например, вы можете передать определенное значение свойства для управления поведением во время выполнения только для этого одного вызова сборки. Свойства в сценарии сборки могут легко стать головной болью для обслуживания и усложнить логику сценария сборки. Gradle.properties помогает отделять свойства от сценария сборки и должен быть рассмотрен как жизнеспособный вариант. Это хорошее место для размещения свойств, которые управляют средой сборки. Это хорошее место для размещения свойств, которые управляют средой сборки.

Сначала вы можете использовать его для установки собственных настроек. Например, если у вас есть проект для Android, вы можете поместить туда

## gradle.properties

# Common Android settings
android.compileSdkVersion=28
android.applicationId=com.example
android.targetSdkVersion=28
android.minSdkVersion=21
android.versionCode=2
android.versionName=1.2

затем вы можете постоянно использовать один и тот же приложение/build.gradle фрагмент кода

android {
    compileSdkVersion rootProject.findProperty("android.compileSdkVersion") as Integer

    defaultConfig {
        targetSdkVersion findProperty("android.targetSdkVersion") as Integer
        minSdkVersion findProperty("android.minSdkVersion") as Integer
        applicationId findProperty("android.applicationId")
        versionCode findProperty("android.minSdkVersion") as Integer
        versionName findProperty("android.versionName")
    }
}

Это то, что мой плагин Gradle автоматически делает для вас:

## gradle.properties

# Dependencies and Plugin versions with their available updates
# Generated by $ ./gradlew refreshVersions
# You can edit the rest of the file, it will be kept intact
# See https://github.com/jmfayard/buildSrcVersions/issues/77
plugin.com.github.ben-manes.versions=0.25.0
plugin.de.fayard.buildSrcVersions=0.6.1
version.com.android.tools.build..gradle=3.5.0
version.play-services-location=17.0.0
version.bottom-navigation-bar=2.1.0
version.lifecycle-extensions=2.0.0
#                # available=2.1.0
version.org.jetbrains.kotlin=1.3.31
#                # available=1.3.50
version.appcompat=1.1.0-rc01
#     # available=1.1.0
version.cardview=1.0.0
version.core-ktx=1.0.2
#    # available=1.1.0
# ....

Прочитайте документы по адресу gradle: обновить версии” создает файл gradle.properties с версиями и доступными обновлениями

Два первых особенно хороши для повышения производительности сборки.

org.gradle.caching=true
org.gradle.parallel=true
org.gradle.caching.debug=false
org.gradle.configureondemand=false
org.gradle.daemon.idletimeout= 10800000
org.gradle.console=auto
#org.gradle.java.home=(path to JDK home)
#org.gradle.warning.mode=(all,none,summary)
#org.gradle.workers.max=(max # of worker processes)
# org.gradle.priority=(low,normal)
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
// https://docs.gradle.org/current/userguide/build_environment.html#sec:configuring_jvm_memory

Ознакомьтесь с документами по адресу https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties

kotlin.code.style=official
kotlin.caching.enabled=true
kotlin.incremental=true
kotlin.incremental.js=true

Ознакомьтесь с документами по адресу https://kotlinlang.org/docs/reference/using-gradle.html

kapt.use.worker.api=true
kapt.incremental.apt=true

Ознакомьтесь с документами по адресу https://kotlinlang.org/docs/reference/kapt.html

studio.projectview=true

Если вы думаете, как и я, что Android представление хуже во всех отношениях, чем Проект представление и потребности идти

android.enableJetifier=true
android.useAndroidX=true

Ознакомьтесь с документами по адресу https://developer.android.com/jetpack/androidx

android.databinding.incremental=true

Ознакомьтесь с документами по адресу https://developer.android.com/topic/libraries/data-binding/start

android.enableSeparateAnnotationProcessing=true

Ознакомьтесь с документами по адресу https://developer.android.com/studio/build/optimize-your-build

android.enableR8.fullMode=true
android.enableR8.libraries = true
android.enableR8 = true
android.debug.obsoleteApi=true
android.enableBuildCache=true
android.enableGradleWorkers=true
android.useMinimalKeepRules=true

Проверьте исходный код по адресу https://android.googlesource.com/platform/tools/base/+/mirror-goog-studio-master-dev/build-system/gradle-core/src/main/java/com/android/build/gradle/options/BooleanOption.kt

Оригинал: “https://dev.to/jmfayard/configuring-gradle-with-gradle-properties-211k”