1. 程式人生 > >gradle本地、遠端倉庫配置

gradle本地、遠端倉庫配置

本地倉庫配置

配置環境變數GRADLE_USER_HOME,並指向你的一個本地目錄,用來儲存Gradle下載的依賴包。
gradle

遠端倉庫配置

一般Gradle、maven從中央倉庫mavenCentral() http://repo1.maven.org/maven2/下載依賴包,但是在國內下載速度巨慢,我們只能使用國內的映象。
所以每個Gradle構建的專案中,我們可以在build.gradle做如下配置

repositories {
    maven {
        url 'http://maven.aliyun.com/nexus/content/groups/public/'
    }
mavenCentral() }

每個專案都如此配置難免麻煩些,我們可以配置一個全域性配置檔案。

.gradle\init.gradle

allprojects{
    repositories {
        def REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public/'
        all { ArtifactRepository repo ->
            if(repo instanceof MavenArtifactRepository){
                def url = repo.url.toString()
                if
(url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) { project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL." remove repo } } } maven { url REPOSITORY_URL } } }

aliyun

init.gradle簡介

init.gradle檔案在build開始之前執行,所以你可以在這個檔案配置一些你想預先載入的操作
例如配置build日誌輸出、配置你的機器資訊,比如jdk安裝目錄,配置在build時必須個人資訊,比如倉庫或者資料庫的認證資訊,and so on.

啟用init.gradle檔案的方法:
1、在命令列指定檔案,例如:gradle –init-script yourdir/init.gradle -q taskName.你可以多次輸入此命令來指定多個init檔案
2、把init.gradle檔案放到USER_HOME/.gradle/ 目錄下.
3、把以.gradle結尾的檔案放到USER_HOME/.gradle/init.d/ 目錄下.
4、把以.gradle結尾的檔案放到GRADLE_HOME/init.d/ 目錄下.

如果存在上面的4種方式的2種以上,gradle會按上面的1-4序號依次執行這些檔案,如果給定目錄下存在多個init指令碼,會按拼音a-z順序執行這些指令碼
類似於build.gradle指令碼,init指令碼有時groovy語言指令碼。每個init指令碼都存在一個對應的gradle例項,你在這個檔案中呼叫的所有方法和屬性,都會
委託給這個gradle例項,每個init指令碼都實現了Script介面

下面的例子是在build執行之前給所有的專案制定maven本地庫,這個例子同時在 build.gradle檔案指定了maven的倉庫中心,注意它們之間異同

build.gradle

repositories {
    mavenCentral()
}

task showRepos << {
    println "All repos:"
    println repositories.collect { it.name }
}

init.gradle

allprojects {
    repositories {
        mavenLocal()
    }
}

在命令列輸入命令:gradle –init-script init.gradle -q showRepos

> gradle --init-script init.gradle -q showRepos
All repos:
[MavenLocal, MavenRepo]