内容简介:初探Gradle
多人合作时,代码需要按照规范统一管理,但是早期一个项目很难做到一处编写到处运行。一方面,开发者自己的编写环境不能绝对统一,另一方面,没有一个方案去解决自动构建项目的问题,而手动机械重复构建往往出现各种问题。
后来,Java构建项目 工具 诞生了Ant,第一代自动化构建工具。通过XML,约束构建流程,达到自动构建的目的。
Ant构建脚本由 一个project ,多个target,以及可用的task构成。
有兴趣的童鞋可用查一下,Ant构建的XML文件的大致写法,这里不作详解。只介绍缺点
ㄟ( ▔, ▔ )ㄏ
Ant虽然实现了自动构建,但是在大型项目中,XML构建脚本异常臃肿庞大;构建脚本逻辑也会越来越复杂,最后难以维护。
而且Ant没有规范项目结构,可能导致每次编译出来的东西都不太一样,特别当依赖被改来改去,易出现重复拷贝。因为Ant自身本来就没有提供依赖管理工具,只能借助Ivy。
构建时也无法监控内存变化,task执行。
然后又出现了Maven,现在Maven依然被广泛利用。
Maven本身规范了项目结构,并提供了依赖管理。主要功能如下:
- 代码编译
- 测试(单元,集成)
- 装配(如,jar文件依赖)
- 部署(将项目部署到本地仓库)
- 发布(将项目发布到远程仓库)
上面都是看来的,因为Maven解决了Ant的痛点,很快流行起来,其中仓库的概念,更是好用,解决了依赖问题。而且Maven可以添加各种插件,相对来说,比Ant更易用,更稳定。
但是:Maven规范很严格,可能导致你搬运来的非Maven项目,需要大改才能运行。扩展也非常难搞,需要了解Major,早期版本还会自己更新,这对有墙的我们来说很痛苦。
所以今天我要介绍Gradle,一个灵活的构建工具。
0x01 Gradle,一个更好的构建工具!
一开始接触gradle会觉得,这玩意儿写的东西很简洁,logo也比Maven好看。
但是估计也不知道这东西咋玩。所以这个东西究竟好在哪里?
- 基于JVM,Gradle是基于JVM的构建工具(Java跨平台,你值得拥有:grin:)。
- 由Groovy的领域语言DSL来表达构建脚本(所以简洁,强大)。
- 项目迁移到gradle不需要特大改动,而且极易扩展
- 用的人越来越多了
- 大型项目持续交付,
唉,看的书作者懒得翻译,我给你们看 wikipedia的解释 )
鲁棒 : 健壮性 (英语: Robustness )是指一个计算机系统在执行过程中处理错误,以及算法在遭遇输入、运算等异常时继续正常运行的能力。 诸如 模糊测试 之类的 形式化方法 中,必须通过制造错误的或不可预期的输入来验证程序的健壮性。很多商业产品都可用来测试软件系统的健壮性。健壮性也是 失效评定 分析中的一个方面。
0x02 Gradle之世界你好
废话一大堆,现在写一个Gradle版的Hello World
- 准备
- 安装JDK,配置JAVA_HOME
Windows: http://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
Lunix: http://jingyan.baidu.com/article/ab0b56308966acc15afa7d18.html
Mac:自行搜索吧 - 安装Gradle,配置GRADLE_HOME
官方安装文档: https://gradle.org/install
如果你英文烂,请使用百度,我只说一下Lunix
https://gradle.org/releases 找一个最新的稳定版本,不看源码你只需要binary-only 版本的,我以3.5 为例子。
cd /usr/local sudo mkdir gradle cd gradle sudo wget https://services.gradle.org/distributions/gradle-3.5-bin.zip sudo unzip gradle-3.5-bin.zip
配置环境变量
vim ~/.profile
在最后添加下面
export GRADLE_HOME=/usr/local/gradle/gradle-3.5 export PATH=$GRADLE_HOME/bin:$PATH
按下 esc
然后 :wq!
保存
然后使环境变量生效
source ~/.profile
好了,安装完成。
请务必自己处理好路径
测试,打开命令行。
接下来创造爱因斯坦小板凳
随便找一个文件夹,创建一个build.gradle文件,里面写如下代码
task helloworld{ doLast{ println 'Hello World!' } }
然后,在这个文件夹下运行命令行
输入
gradle -q helloworld
看效果
这里只是运行了一个task,task和action是gradle重要的概念,当然我也是开始学习。后面会把这些概念挨个介绍给各位老爷。
这里介绍一下 gralde -q这个命令
-q, --quiet Log errors only.
安静模式运行,只打印错误日志。
当然
还有其他的命令,我找几个常用的介绍一下。
-b xxx.gradle #运行一个叫xxx的构建脚本 --offline #离线运行(保证本地有离线仓库) -P --project-prop #向构建脚本中传参 -i --info #设置编译日志输出级别 -s --stacktrace #构建出错输出跟踪栈信息 tasks #显示所有可运行的task properties #显示项目中可用的属性
0x03 小结
废话了一大堆,后面写了个helloWorld,想必目前各位看官老爷还是不太明白gradle究竟如何使用。不急,后面我会一一把坑填好的:我会介绍创建Gradle项目,构建脚本,依赖管理等,不过写的会稍微慢一点。
ps:因为脑残升级了node,导致Hexo博客炸了,昨天抢救了一整天。发了一篇小白文。
因为要熟悉项目,还有那个FS计划依然在进行,不过会慢一些了,过些日子还有一堆其他事情要处理,希望我能够保持学习的节奏吧。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Trading and Exchanges
Larry Harris / Oxford University Press, USA / 2002-10-24 / USD 95.00
This book is about trading, the people who trade securities and contracts, the marketplaces where they trade, and the rules that govern it. Readers will learn about investors, brokers, dealers, arbit......一起来看看 《Trading and Exchanges》 这本书的介绍吧!