Gradle 屬性設置,環境變量說明

Gradle 屬性( Gradle build environment)

[詳細信息]("https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties")html

gradle 屬性能夠在以下幾個地方設置,按優先級

  1. 在build 時 使用 -Dxxx.xxx.xxx=valuejava

  2. GRADLE_USER_HOME 目錄下的 gradle.properties緩存

  3. project 根目錄下的 gradle.properties 文件中的屬性網絡

  4. gradle 安裝目錄下的 gradle.properties 文件中的屬性app

下面是可用的gradle 屬性jvm

  1. org.gradle.caching=(true,false)socket

    build的時是否使用緩存ide

  2. org.gradle.caching.debug=(true,false)gradle

    是否Log debug 信息ui

  3. org.gradle.configureondemand=(true,false)

    Enables incubating configuration on demand, where Gradle will attempt to configure only necessary projects.

  4. org.gradle.console=(auto,plain,rich,verbose)

    console 顏色

  5. org.gradle.daemon=(true,false)

    gradle build進程是否能夠利用,默認true ,能夠加速Build

  6. org.gradle.daemon.idletimeout=(# of idle millis)

    Gradle守護進程將在指定的空閒毫秒數後自行終止。默認值爲10800000(3小時)。

  7. org.gradle.debug=(true,false)

    是否debug gradle ,這個會給jvm 運行添加參數 -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

  8. org.gradle.java.home=(path to JDK home)

    指定jdk 路徑

  9. org.gradle.jvmargs

    須要添加的jvm 屬性

  10. org.gradle.logging.level=(quiet,warn,lifecycle,info,debug)

    gradle log 級別

系統環境變量

[詳細看這裏]('https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_environment_variables')

  1. JAVA_HOME

    gradle 須要使用的目錄,

  2. GRADLE_USER_HOME

Specifies the Gradle user home directory (which defaults to $USER_HOME/.gradle if not set).

指定一個gradle user home ,若是不指定的話會在 當前系統用戶目錄下的.gradle文件夾。這個目錄會存入不一樣版本的 gradle,還有gradle的庫文件
  1. GRADLE_OPTS

    指定運行gradle 時的 jvm 參數

系統變量

這時的系統變量指的是 java中的系統變量, 也包含 -Dxxx.xxx=value 這種變量,這種變量在java 中是能夠經過 System.getProperties得到的 [明細]("https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_system_properties")

這些系統變量最好放在project 的根目錄,不然可能會不起做用

  1. gradle.wrapperUser 下載時若是須要身份驗證,這個屬性設置用戶名

  2. gradle.wrapperPassword 下載時若是須要身份驗證,這個屬性設置用戶密碼

  3. gradle.user.home 做用 同 環境變量 GRALE_USER_HOME

這些變量還能夠寫成在 gradle.properties 文件中,但當多工程構建時,除了根目錄的 ,其餘子工程的都會被忽略,格式是這樣

systemProp.gradle.wrapperUser=myuser

systemProp.gradle.wrapperPassword=mypassword

工程屬性,只對這個工程起做用

用戶目錄下的 屬性會優先於工程屬性

在工程的 gradle.propertis 文件中

# 設置屬性 foo 的值爲 bar

org.gradle.project.foo=bar

也能夠經過環境變量還配置

ORG\_GRADLE\_PROJECT_foo=bar

意思是設置一個工程變量 ```foo```的值爲 ```bar```

設置gradle 使用的網絡代理

  1. http

    systemProp.http.proxyHost=www.somehost.org
    
    systemProp.http.proxyPort=8080
    
    systemProp.http.proxyUser=userid
    
    systemProp.http.proxyPassword=password
    
    systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
  2. https

    systemProp.https.proxyHost=www.somehost.org
    
    systemProp.https.proxyPort=8080
    
    systemProp.https.proxyUser=userid
    
    systemProp.https.proxyPassword=password
    
    systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
相關文章
相關標籤/搜索