gradle入门教程
来源:互联网 发布:python 在线教程 编辑:程序博客网 时间:2024/06/06 06:44
1 gradle简介
通俗地讲,gradle是管理项目的自动化框架,类比于Ant和Maven,易于上手且功能强大。
正式地讲,根据gradle官网的介绍,gradle首先是一个构建自动化框架,并且是已有框架的升级版。gradle能够自动构建、测试、发布和部署多种软件包和各种工程,包括着常见的静态网站,常见文档甚至是任何东西。
gradle最为强大的地方在于,它有着Ant的强大和灵活,同时又有着Maven的独立性和便利性。gradle是基于Groovy DSL(一种领域专用语言)的,并且包含了很多创新元素。其中一点是,gradle提供了一种显示声明的管理各种工程的方法。也正是由于其功能强大又具有创新性,很多开源项目已经用gradle作为架构基础。
2 gradle特性
2.1 gradle的创新之处
作为一个企业级构建框架,目前gradle 2.0版本已经包括了如下创新点:
1)配置多任务
2)具有连续性的构建配置
3)变量自动化感知及独立化管理
4)任务的并行处理
5)针对守护进程的监控模式
6)全局缓存
2.2 基于Groovy的原因
如果利用一个基于XML的动态DSL语言,那么工作将有一打益处可列,同时已经有一些动态语言可以备选。那么为什么是Groovy?仔细考虑一下Gradle的应用场景,Gradle是为了解决所有通用的构建问题而出现的,并且主要基于Java。这里一个显然的前提是开发团队是懂Java的,所以Gradle希望是针对开发者透明的框架。
或许用Java是另外一种方式,并且这种方法的学习曲线将非常贴近x轴。但是Java比不上Python、Groovy和Ruby,实现不了强大的功能。
3 安装Gradle
3.1 准备安装
Gradle需要有JDK或者JRE,Java版本需要6以上,Gradle项目内包含了Groovy库,本地已经安装的Groovy库会被Gradle忽略。
Gradle会直接使用PATH环境变量定义的JDK,如有需要请自行改变JAVA_HOME。
3.2 下载
http://www.gradle.org/downloads
3.3 解压
下载的Gradle压缩包包括以下内容:
1)Gradle二进制文件
2)用户手册,包括HTML和PDF版本
3)DSL参考指南
4)API文档,包括Javadoc和Groovydoc
5)实例,包括2)中用户手册介绍到的实例,也包括较复杂工程
6)二进制源文件,仅供参考
3.4 环境变量
Gradle的环境变量加入PATH环境变量之后,可以直接命令行运行Gradle,方法:将GRADLE_HOME/bin加入PATH。
3.5 JVM选项
设置GRADLE-OPTS可以改变JVM选项。也可以在Gradle和Gradlew脚本中修改该变量。
4 基础入门
4.1 工程和任务
工程和任务是Gradle管理的基础组成。通常情况下,可以利用Gradle进行构建项目结构,设置可以构建多个项目,但是很多时候逻辑是相反的,实际项目的结构很可能是基于某个开源框架,在此之上引入Gradle就好。 默认的,Project的名字是当前build.gradle所在目录的名字。
Gradle的核心是build.gradle,gradle框架会根据这个脚本做出不同的行为。最基本的,通过在Gradle目录搜索jar包的名字,并在build文件加入:'*.jar',Gradle的刷新功能就能在本地缺少jar时自动下载并引入。
另外一个常见的使用就是利用'plugin:war' 类似命令,run as gradle之后就能够在工程的lib文件下找到打包好的war文件,并直接发布。
任务则指的是在build文件里可以设置task,例如 task a<<{print $name},其中name会显示成为a。
以上就是gradle的两个核心:工程和任务。
4.2 管理多项目
多项目构建本身是利用task实现的,由于task是局部的,可以实现与多项目全局变量的隔离,因而实现了不同项目的不同设置。
一直在思考的一点就是:Gradle最大的亮点就在于用DSL,一种非常简单直观的语言,实现了曾经XML文件实现的功能。
暂时写出简单版本,后续遇到再来填充内容。
- gradle入门教程
- Gradle入门教程
- Gradle入门教程
- Gradle 15分钟入门教程
- Gradle 15分钟入门教程
- Gradle
- gradle
- gradle
- gradle
- gradle
- Gradle
- gradle
- gradle
- gradle
- Gradle
- Gradle
- gradle
- Gradle
- 039:hibernate:联合主键
- ZPL 打印条码、二维码及小票(中文/汉字),生成条码、二维码图片【Asp.Net】-含示例代码
- NOIP 竞赛注意事项
- 高性能HTTP加速器Varnish安装与配置(包括常见错误)
- Bridging: Linux Implementation
- gradle入门教程
- transform 动态旋转 需要js控制
- ym——Android从零开始(33)(国际化、样式和主题、屏幕适配)(新)
- Java泛型编程最全总结
- SVN简介
- strstr函数重新写,不使用已有的库函数
- PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]
- Hadoop中Namenode单点故障的解决方案及详细介绍
- HDoj 2031