Использование 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”