【Gradle笔记】配置Gradle

2,064 阅读2分钟

概述

配置Gradle及其行为可以通过以下四种方式,这四种方式排名有先后,靠前的作用优先于靠后的

配置命令行参数

通过命令行追加参数的方式,实现改变控制Gradle (--build-cache)

配置系统属性

在gradle.properties里配置system开头的属性( systemProp.http.proxyHost=somehost.org)

配置Gradle属性

在gradle.properties里配置属性(org.gradle.caching=true)

配置环境变量

设置环境变量( GRADLE_OPTS)

配置Gradle属性

gradle.properties查找优先级

Gradle的属性配置,是通过在gradle.properties文件里配置来实现的。一个项目里可能会有多个 gradle.properties,但是以构建时找到的第一个为准?

  1. 命令行参数指定的gradle.properties
  2. GRADLE_USER_HOME里的 gradle.properties
  3. 在项目根目录里的gradle.properties
  4. 在Gradle安装根目录里的gradle.properties

Gradle可配置属性

  • org.gradle.caching=(true,false) 是否启用Task的输出缓存,启用后将使用Task之前生成的结果,加快构建速度
  • org.gradle.caching.debug=(true,false) 启用后,缓存相关的信息将打印到控制台
  • org.gradle.configureondemand=(true,false) 启用后,Gradle将为有需要的项目,实现按需配置
  • org.gradle.console=(auto,plain,rich,verbose) 配置控制台输出的级别和颜色等
  • org.gradle.daemon=(true,false) 是否开启Gradle Daemon 默认开启,后台始终存在的守护进程
  • org.gradle.daemon.idletimeout=(# of idle millis) 给Gradle Daemon设置一个超时时间,默认10800000毫秒(3小时)
  • org.gradle.debug=(true,false) 是否允许远程调试,当开启时监听5005端口
  • org.gradle.java.home=(path to JDK home) 给Gradle指定JavaHome
  • org.gradle.jvmargs=(JVM arguments) 给Gradle Daemon设置Jvm内存参数
  • org.gradle.logging.level=(quiet,warn,lifecycle,info,debug) 配置Gradle Log的显示级别,默认的是lifecycle
  • org.gradle.parallel=(true,false) 是否允许多线程并发执行Task
  • org.gradle.priority=(low,normal). 给Gradle Daemon设置调度优先级,默认normal
  • org.gradle.vfs.verbose=(true,false) 给监视的文件系统配置Log显示级别
  • org.gradle.vfs.watch=(true,false) 是否监视文件系统在构建前后的变化
  • org.gradle.warning.mode=(all,fail,summary,none) 设置警告显示的模式,警告的显示级别
  • org.gradle.workers.max=(max # of worker processes) Gradle构建时最大并发线程数量,默认是当前设别CPU的核心进程数

系统可配置属性

  • gradle.wrapperUser=(myuser) 下载Gradle时需要设置一个用户名
  • gradle.wrapperPassword=(mypassword) 下载Gradle时需要设置一个密码
  • gradle.user.home=(path to directory) Gradle 用户文件夹地址
  • https.protocols 设置TLS的版本 TLSv1.2,TLSv1.3

环境变量

  • GRADLE_OPTS 用于配置一些参数给JVM用
  • GRADLE_USER_HOME 用于指定Gradle的用户文件夹,默认 $USER_HOME/.gradle
  • JAVA_HOME 指定JDK所在

JVM参数

  • org.gradle.jvmargs 配置一些JVM相关的参数,例如:
org.gradle.jvmargs=-Xmx2g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=UTF-8