gradle本地远程仓库配置--转

Posted davidwang456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gradle本地远程仓库配置--转相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/x_iya/article/details/75040806

本地仓库配置
配置环境变量GRADLE_USER_HOME,并指向你的一个本地目录,用来保存Gradle下载的依赖包。


远程仓库配置
一般Gradle、maven从中央仓库mavenCentral() http://repo1.maven.org/maven2/下载依赖包,但是在国内下载速度巨慢,我们只能使用国内的镜像。
所以每个Gradle构建的项目中,我们可以在build.gradle做如下配置

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

每个项目都如此配置难免麻烦些,我们可以配置一个全局配置文件。

.gradleinit.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
}
}
}


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]

以上是关于gradle本地远程仓库配置--转的主要内容,如果未能解决你的问题,请参考以下文章

[转]GIT实践:合并本地仓库与远程仓库

Maven配置 settings.xml 转

Git更新远程仓库代码到本地(转)

(转) git--Remote远程仓库的使用

maven是怎么判断包在本地仓库和远程仓库哪个是新的

Android Gradle 插件工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )