Gradle:Gradle入门
一、安装Gradle
1.首先确保你安装的JDK1.5或以上版本号。
- C:\Users\chengxiang.peng.QUNARSERVERS>java -version
- java version "1.8.0_65"
- Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
- Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
2.从官方站点下载对应的版本号,将下载文件解压到某个文件夹;
- C:\Users\chengxiang.peng.QUNARSERVERS>gradle -v
- ------------------------------------------------------------
- Gradle 2.2.1
- ------------------------------------------------------------
- Build time: 2014-11-24 09:45:35 UTC
- Build number: none
- Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a
- Groovy: 2.3.6
- Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013
- JVM: 1.8.0_45 (Oracle Corporation 25.45-b02)
- OS: Windows 7 6.1 amd64
二、開始使用Gradle
1.每一个Gradle构建都是一个脚本開始的,构建默认的脚本名称是build.gradle。
当运行gradle命令的时候。Gradle会去寻找名字为build.gradle的文件。
假设找不到,就会显示一个帮助信息。
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle
- :help
- Welcome to Gradle 2.2.1.
- To run a build, run gradle <task> ...
- To see a list of available tasks, run gradle tasks
- To see a list of command-line options, run gradle --help
- BUILD SUCCESSFUL
- Total time: 3.132 secs
2.创建build.gradle文件,创建task叫做helloWorld,文件例如以下。并运行该任务:gradle -q helloWord;
build.gradle文件
- task helloWorld{
- //task运行的最后一个目标
- doLast {
- println 'Hello world!'
- }
- }
运行task任务helloWord,通过-q定义可选命令行选项quiet。
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q helloWorld
- Hello world!
3.创建新的build.gradle文件,演示gradle的task依赖dependsOn来说明task之间的依赖,Gradle和Ant非常好的集成,定义动态task,运行时指定它们的名字;
build.gradle文件
- task startSession << {
- chant()
- }
- def chant() {
- //隐含对Ant任务的使用
- ant.echo(message: 'Repeat after me ...')
- }
- //动态任务的定义
- 3.times {
- task "yayGradle$it" << {
- println 'gradle tocks'
- }
- }
- //依赖任务
- yayGradle0.dependsOn startSession
- yayGradle2.dependsOn yayGradle1, yayGradle0
- task groupTherapy (dependsOn: yayGradle2)
运行gradle构建,运行命令gralde groupTherapy。gradle task运行顺序:startSession->yayGradle0->yayGradle1->yayGradle2->groupTherapy;
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy
- :startSession
- [ant:echo] Repeat after me ...
- :yayGradle0
- gradle tocks
- :yayGradle1
- gradle tocks
- :yayGradle2
- gradle tocks
- :groupTherapy
- BUILD SUCCESSFUL
- Total time: 3.83 secs
三、使用Gradle的命令行
1.gradle提供了一个叫做tasks的帮助任务来帮助你查看构建脚本和显示每一个能够使用的task。包括描写叙述该task作用的信息;
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q tasks
- ------------------------------------------------------------
- All tasks runnable from root project
- ------------------------------------------------------------
- //任务组Build Setup,看做是多个task的集群
- Build Setup tasks
- -----------------
- init - Initializes a new Gradle build. [incubating]
- wrapper - Generates Gradle wrapper files. [incubating]
- //Help任务组。列出了任务名字和它们的描写叙述
- Help tasks
- ----------
- components - Displays the components produced by root project 'HelloWorld'. [incubating]
- dependencies - Displays all dependencies declared in root project 'HelloWorld'.
- dependencyInsight - Displays the insight into a specific dependency in root project 'HelloWorld'.
- help - Displays a help message.
- projects - Displays the sub-projects of root project 'HelloWorld'.
- properties - Displays the properties of root project 'HelloWorld'.
- tasks - Displays the tasks runnable from root project 'HelloWorld'.
- //假设某个task不属于不论什么一个任务组。那么它就会显示在Other tasks中
- Other tasks
- -----------
- groupTherapy
- To see all tasks and more detail, run with --all.
2.查看构建脚本中定义的其它的task;
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle -q tasks - -all
- … …
- Other tasks
- -----------
- //依赖关系图的根task,以运行顺序用缩进的方式列出依赖任务的名字
- groupTherapy
- startSession
- yayGradle0
- yayGradle1
- yayGradle2
四、任务运行
1.通过在命令行中通过多个參数,一次运行多个任务。
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yayGradle0 groupTherapy
- :startSession
- [ant:echo] Repeat after me ...
- :yayGradle0
- gradle tocks
- :yayGradle1
- gradle tocks
- :yayGradle2
- gradle tocks
- :groupTherapy
- BUILD SUCCESSFUL
- Total time: 3.826 secs
2.能够使用驼峰式的缩写在命令行上运行任务,任务名字的缩写必须是唯一的,Gradle才干找到对应的任务;
正确运行
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
- :startSession
- [ant:echo] Repeat after me ...
- :yayGradle0
- gradle tocks
- :yayGradle1
- gradle tocks
- :yayGradle2
- gradle tocks
- :groupTherapy
- BUILD SUCCESSFUL
- Total time: 3.8 secs
错误运行
build.gradle文件
- task groupTherapy << {
- }
- task generateTests << {
- }
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle yG0 gT
- FAILURE: Build failed with an exception.
- * What went wrong:
- Task 'yG0' not found in root project 'HelloWorld'.
- * Try:
- Run gradle tasks to get a list of available tasks. Run with --stacktrace option
- to get the stack trace. Run with --info
- or --debug
- option to get more log output.
- BUILD FAILED
- Total time: 4.423 secs
3.在运行任务时排除一个任务,-x參数来实现;
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy -x
- //gradle排除了和它依赖的任务yayGradle0和startSession
- yayGradle0
- :yayGradle1
- gradle tocks
- :yayGradle2
- gradle tocks
- :groupTherapy
- BUILD SUCCESSFUL
- Total time: 3.511 secs
五、命令行选项
1.-?,h,- -help:打印全部可用的命令行选项。包括描写叙述信息。
2.-b,--build-file:运行一个特定名字的构建脚本。
3.-i,--info:将Gradle的日志级别的改变到INFO以获得很多其它信息。
4.-s,--stacktrace:构建在运行出现错误,有异常抛出时会打印出简短的堆栈跟踪信息。
5.-q,--quiet:降低构建出错时打印出来的错误日志信息。
六、Gradle守护进程
1.守护进程以后台进程方式运行Gradle。一旦启动。gradle命令就会在兴许的构建中重用之前创建的守护进行,以避免启动时造成的开销;
2.--daemon选项,守护进行仅仅会被创建一次。即时你在命令加了--daemon选项。
3.守护进行会在3个小时空暇时之后自己主动活期。
4.--no-daemon,手动停止守护进程;
- C:\Users\chengxiang.peng.QUNARSERVERS\GradleSources\HelloWorld>gradle groupTherapy --daemon
- :startSession
- [ant:echo] Repeat after me ...
- :yayGradle0
- gradle tocks
- :yayGradle1
- gradle tocks
- :yayGradle2
- gradle tocks
- :groupTherapy
- BUILD SUCCESSFUL
- Total time: 2.171 secs
Gradle:Gradle入门的更多相关文章
- Gradle学习系列之一——Gradle快速入门
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...
- Gradle学习系列之一——Gradle快速入门(转)
这是一个关于Gradle的学习系列,其中包含以下文章: Gradle快速入门 创建Task的多种方法 读懂Gradle语法 增量式构建 自定义Property 使用java Plugin 依赖管理 构 ...
- AndroidStudio下gradle的入门介绍与使用
參考: 网易云加密:http://apk.aq.163.com 网易云捕:http://crash.163.com 1 Groovy Groovy 是没有类型的 Java 代码 ,语法更简洁.形式有点 ...
- Gradle | Gradle项目无法导入依赖包
Gradle | Gradle项目无法导入依赖包 背景 今天使用idea导入一个Gradle项目,使用 gradle build构建成功,但是项目还是无法正常导入依赖包,显示错误如下: 解决方案 后来 ...
- 【gradle】 入门
robin@robin-PC2 /D/JavaWorkSpace/payment/alipay-wap (master)$ ./gradlew idea
- Gradle学习系列之一——Gradle快速入门(转)
参考:https://www.cnblogs.com/davenkin/p/gradle-learning-1.html 记录,不做具体转载
- [Gradle] Gradle 构建工具的未来
转载地址:http://www.infoq.com/cn/news/2011/04/xxb-maven-6-gradle Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你 ...
- build.gradle & gradle.properties
一.build.gradle buildscript { ext { springBootVersion = '1.5.9.RELEASE' } repositories { maven { cred ...
- Gradle: Gradle Wrapper
[Gradle 安装] 安装完毕后,记得设置一下环境变量.Environment Variables:GRADLE_HOME=D:\Program Files\Gadle\gradle-4.7Path ...
- [Gradle] Gradle 构建 android 应用常见问题解决指南
转载地址:http://www.cnblogs.com/youxilua/p/3348162.html 1: 使用最新的gradle android插件 以前我们写的时候会这么写 dependenci ...
随机推荐
- linux 在线实验
https://www.shiyanlou.com/courses/running/2
- 【转】In ASP.NET using jQuery Uploadify upload attachment
Upload Uploadify is a JQuery plug-in, achieve the effect is very good, with progress display. Upload ...
- HTML不熟悉方法总结
1. onblur 属性在元素失去焦点时触发. 2. onfocus 属性在元素获得焦点时触发. 3.addEventlistener 事件监听 4.focus() 方法用于给予该元素焦点.这样用 ...
- AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)
我是不会说这个题很坑的.. 改了一晚上... // by SiriusRen #include <cstdio> #define N 150000 #define LSON l,mid,l ...
- 移动web开发常见的问题
1.屏幕旋转的事件和样式 事件 window.orientation,取值:正负90表示横屏模式.0和180表现为竖屏模式: window.onorientationchange = function ...
- 统计之都 http://cos.name/
http://cos.name/ IMS:一个洲际人际交流网络(为学生免费提供会员资格) 原文链接:http://cos.name/2014/07/ims-a-cross-continent-huma ...
- 三维重建:Kinect几何映射-SDK景深数据处理
此文大量使用XML,非C类的代码,看看图即可. 原文链接:Kinect for Windows SDK开发入门(五):景深数据处理 3. 对物体进行测量 像上篇文章中对深度值测量原理进行讨论的那样,像 ...
- max 宏定义取消:error C2589: error C2059: 语法错误 : “::”
原文链接:http://blog.csdn.net/danelumax2/article/details/9172465有修改! 一:关于Pcl和WIndef的冲突: 1. 错误输出 ./zlibra ...
- vsftp进阶-锁定目录
把用户锁定到特定的目录下面: 一.配置文件: #grep -Ev "^#|^$" /etc/vsftpd/vsftpd.conf anonymous_enable=NOlocal_ ...
- ZBrush中如何将一个模型应用在不同的图层
我们经常会使用ZBrush®中的插入笔刷来实现快速建模,或者使用Insert笔刷创建人物四肢,那么在使用这些笔刷时,它默认是和所接触模型同在一个Subtool,如果您需要不同的材质或者雕刻手法,那么就 ...