Gradle 支持很多中仓库,如maven、ivy,通过文件访问或者通过HTTP 访问。下面举例说明:
1、使用本地maven 仓库:
repositories { mavenLocal() }2、使用远程maven仓库:
repositories { maven { url "http://repo.mycompany.com/maven2" } }3、使用本地的ivy仓库:
repositories { ivy { url "../local-repo" } }4、使用远程的ivy仓库:
repositories { ivy { url "http://repo.mycompany.com/repo" } }5、gradle 项目更换阿里云镜像仓库
修改buildscript标签和repositories标签下的代码:
repositories { maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } }6、Gradle依赖搜索顺序
按照你在文件中(build.gradle)仓库的顺序寻找所需依赖(如jar文件),如果在某个仓库中找到了,那么将不再其它仓库中寻找。
Gradle 的生命周期分三个阶段:初始化阶段、配置阶段、执行阶段。
1、初始化阶段:
通过settings.gradle判断有哪些项目需要初始化,加载所有需要初始化的项目的build.gradle文件并为每个项目创建project对象。
2、配置阶段:
执行各项目下的build.gradle脚本,完成project的配置,并且构造Task任务依赖关系图以便在执行阶段按照依赖关系执行Task。
执行task中的配置代码:
task configCode{ println 'config Code' }3、执行阶段
通过配置阶段的Task图,按顺序执行需要执行的任务中的动作代码,就是执行任务中写在doFirst或doLast中的代码。
动作代码:任务调用才会执行的代码
task executeCode << { println 'execute Code' }Gradle内置了很多核心语言插件,基本上能满足大部分的构建工作,但有些插件没有内置或者有些功能没有提供,我们也可以自定义插件来使用。
1、插件的作用
插件可以封装一系列任务,例如编译、测试、打包等。 插进可以定义约定,例如应用Java插件后,约定的源代码位置就在src/main/java目录下。 插件可以封装配置,当项目应用插件时自动应用插进的配置。
使用插件可以将相似的代码进行封装以提高重用性,使构建脚本高度模块化,增强组织性和可读性。
2、插件类型
Gradle 有两种插件:脚本插件、二进制插件
脚本插件
脚本插件通常是一个脚本。 它并不能算是一个真正的插件,但我们不能忽视它的作用,它是脚本模块化的基础。 我们可以把复杂的脚本文件进行分块、分段整理,拆分成一个个职责分明的脚本插件。
二进制插件
二进制插件是实现了Plugin接口的插件,以编程的方式操纵构建。 二进制插件一般是打包在一个 jar 里独立发布的。
3、发现插件
Gradle专门有一个网站可以发布和寻找插件:https://plugins.gradle.org
帮助命令
gradle --help查看版本
gradle -v执行特定的任务
gradle [taskName]编译
gradle build跳过测试编译
gradle build -x test继续执行任务而忽略前面失败的任务
gradle build --continue产生build运行时间的报告
gradle build --profile // 结果存储在build/report/profile目录,名称为build运行的时间。显示任务间的依赖关系
gradlle tasks --all清空所有编译、打包生成的文件(即清空build目录)
gradle clean使用指定的Gradle文件调用任务
gradle -b [file_path] [task]Gradle的图形界面
gradle --gui 随 亦 认证博客专家 安全博客专家 甲方安全部负责人,坐标杭州,欢迎猎挖。擅长安全架构、web渗透、移动安全、代码审计、隐私合规、安全开发、安全运营