BUILD SUCCESSFUL
Total time: 1.397 secs
【工匠若水 http://blog.csdn.net/yanbober 转载请注明出处。点我开始Android技术交流】
4 Gradle依赖管理基础
==================
大多数项目都不是完全独立的,它们需要依赖其他项目进行编译等,Gradle允许你告诉它你项目的依赖关系,以便找到这些依赖关系,并在你的构建中维护这些依赖关系,依赖关系可能需要从远程的Maven等仓库中下载,也可能是在本地文件系统中,或者是通过多项目构建另一个构建,我们称这个过程为依赖解析。
Gradle依赖声明:
关于依赖声明不解释,直接给个例子,如下:
apply plugin: ‘java’
repositories {
mavenCentral()
}
dependencies {
compile group: ‘org.hibernate’, name: ‘hibernate-core’, version: ‘3.6.7.Final’
testCompile group: ‘junit’, name: ‘junit’, version: ‘4.+’
}
Gradle依赖配置:
在Gradle中依赖可以组合成configurations(配置),一个配置简单地说就是一系列的依赖,通俗说也就是依赖配置;我们可以使用它们声明项目的外部依赖,也可以被用来声明项目的发布。下面我们给出几种Java插件中常见的配置,如下:
- compile
用来编译项目源代码的依赖;
- runtime
在运行时被生成的类需要的依赖,默认项,包含编译时的依赖;
- testCompile
编译测试代码依赖,默认项,包含生成的类运行所需的依赖和编译源代码的依赖;
- testRuntime
运行测试所需要的依赖,默认项,包含上面三个依赖;
各种各样的插件支持许多标准的配置,我们还可以定义自己的配置。
Gradle外部依赖:
我们可以用Gradle声明许多种依赖,其中有一种是外部依赖(external dependency),它是在当前构建之外的一种依赖,一般存放在远程(譬如Maven)或本地的仓库里。如下是一个外部依赖的例子:
dependencies {
compile group: ‘org.hibernate’, name: ‘hibernate-core’, version: ‘3.6.7.Final’
}
可以看见,引用一个外部依赖需要用到group、name、version属性。上面的写法还有一种简写,如下规则:
group:name:version
这是一个简写的例子:
dependencies {
compile ‘org.hibernate:hibernate-core:3.6.7.Final’
}
Gradle仓库:
有了上面的外部依赖,你指定会想Gradle是咋找到那些外部依赖文件的。其实Gradle会在一个仓库(repository)里找这些依赖文件,仓库其实就是很多依赖文件的集合服务器, 他们通过group、name、version进行归类存储,好在Gradle可以解析好几种不同的仓库形式(譬如Maven等),但是Gradle默认不提前定义任何仓库,我们必须手动在使用外部依赖之前定义自己的仓库。
下面是一个使用MavenCentral仓库的例子:
repositories {
mavenCentral()
}
这是一个使用远程Maven仓库的例子:
repositories {
maven {
url “http://repo.mycompany.com/maven2”
}
}
这是一个使用本地文件系统里库的例子:
repositories {
ivy {
// URL can refer to a local directory
url “…/local-repo”
}
}
当然了,一个项目可以有好几个库,Gradle会根据依赖定义的顺序在各个库里寻找它们,在第一个库里找到了就不会再在第二个库里找它了,否则在第二个库找。
Gradle发布artifacts:
依赖配置也可以用来发布文件,我们可以通过在uploadArchives任务里加入仓库来完成。下面是一个发布到Maven 库的例子,Gradle将生成和上传pom.xml,如下:
apply plugin: ‘maven’
uploadArchives {
repositories {
mavenDeployer {
repository(url: “file://localhost/tmp/myRepo/”)
}
}
}
【工匠若水 http://blog.csdn.net/yanbober 转载请注明出处。点我开始Android技术交流】
5 Gradle命令
==============
多任务调用命令:
gradle task1 task2 […]
排除任务命令:
gradle -x task1 task2 […]
失败后继续执行构建命令:
只要有任务调用失败Gradle默认就会中断执行,我们可以使用–continue选项在一次调用中不中断执行,然后发现所有失败原因。
简化任务名命令:
当我们调用某个任务时如果名字太长我们可以采用简化操作,但是必须保证可以唯一区分出该任务的字符,譬如:
//简写
gradle -x t1
//替换
gradle -x task1
选择执行构建命令:
调用gradle命令默认会构建当前目录下的build.gradle文件,我们可以使用-b参数选择其他目录的构建文件且当使用此参数时settings.gradle将不会生效。如下:
//选择文件构建subdir/myproject.gradle
task hello << {
println “using build file ‘ b u i l d F i l e . n a m e ′ i n ′ buildFile.name' in ' buildFile.nam

本文详细介绍了Gradle的依赖管理基础,包括如何声明和配置依赖,以及如何处理外部依赖。此外,还讨论了Gradle的仓库管理,展示了如何定义和使用Maven中央仓库和其他远程或本地仓库。文章还涵盖了Gradle的命令行用法,任务调用,以及项目和脚本API。最后,探讨了Gradle的文件操作,如复制、同步和归档任务,以及插件的使用,特别是Java插件在构建Java项目中的作用和配置。
最低0.47元/天 解锁文章

835

被折叠的 条评论
为什么被折叠?



