Gradle用户向导(1-2章)
来源:互联网 发布:老子 庄子 知乎 编辑:程序博客网 时间:2024/05/09 20:12
Gradle是以Groovy语言为基础,面向Java应用为主,而Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。Gradle对多工程的构建支持很出色,本博文翻译自Gradle官网上的用户向导,基本上是自己在在看原文过程中的理解,在此记录下来,一些不重要的部分我会跳过,由于本人接触Gradle时间不是很长,英语水平也确实有限,如果有翻译不当的地方,麻烦大家指出,后面会不断更改。官网上面的用户向导比较长,我会随着自己的学习进度,不断更新。原文链接地址为http://gradle.org/docs/current/userguide/userguide_single.html#dependency_management,
1. Gradle简介我们想向大家介绍一个构建系统Gradle,我们认为这对于java世界的编译技术来说是一个飞跃,Gradle提供了以下功能:
- 一个像Ant一样的非常灵活通用的构建工具
- 可切换的,像maven一样的基于约定的构建框架,却又从不锁住你(约定优于配置)
- 对多项目构建的强大支持
- 强大的依赖管理(基于 Apache Ivy)
- 对现有的Maven或者Ivy仓库全面支持
- 支持传递性依赖管理,而不需要远程仓库或pom.xml和ivy.xml文件
- Ant中的task和build在Gradle是一等公民(as first class citizens),所谓的一等公民是在程序设计语言中支持其他所有实体操作的实体,包括了传递参数,赋给变量,从一个方法中返回等。例如在很都传统语言中函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就比较麻烦。
- Groovy构建脚本
- 具有广泛的领域模型支持构建
本篇向导,就像Gradle一样,是在不断的进行改变的。Gradle的一些部分的文档是不全的,一些内容可能不是完全清晰或者它假设了读者已经了解了更多的Gradle知识。我们需要您的帮助来完善这个向导文档,您可以在Gradle的官网找到对这个文档做出完善的方法。
2.概览
下面是Gradle的特征列表
- 基于声明和基于约定的构建
- 依赖型的编程语言
- 结构化构建
Gradle的丰富性和灵活性允许应用通用设计原则到你的构建。举个例子,从可复用的构建逻辑来组合你的构 建是非常简单的。一些不必要的间接使用其他构建是不适合的,不要强制拆开你工程中本来属于一起的构建,从而避免把你的构建变的难于维护。最终你可以创建一个结构良好,易于维护和理解的构建。
- 深入的API
- Gradle的伸缩性
- 多工程构建
Gradle支持部分构建,如果您构建一个子工程,Gradle会同时构建这个子工程所依赖的其它工程,您也可以选择重新构建依赖了一个单独子工程的其他所有工程。和增量构建一起,它们为大项目的构建节省了很多时间
- 许多方式来管理您的依赖
- Gradle是第一个构建集成工具。
Gradle完全支持您现在使用Maven或者Ivy仓库的基础设施的发布和检索,Gradle也提供了一个转换器来将pom.xml转换为Gradle 脚本。马上就会推出运行时导入Mave项目。
- 易于迁移
- Groovy
- Gradle是一个开源项目,使用了ASL liscense。
- Gradle用户向导(1-2章)
- ZF2.0用户向导(1)
- Android_ViewPager_用户向导
- CodeIgniter PHP MVC用户向导
- Netty用户向导5.x
- Java 并发和多线程向导(2)
- Avi恢复向导--追注册码(1)
- Java 并发和多线程向导(1)
- Gradle用户使用指南
- Gradle用户使用指南
- ZF2.0用户向导 —— 1. 开始使用ZF 2
- VC9 VS2008 IDE 增加自定义Custom Wizard ——自行操作流程(定制用户向导)
- ZF2.0用户向导 —— 6. 数据库及模型(Models)
- Opentext Cordys REST Gateway用户向导
- Twitter Bootstrup风格jQuery用户向导插件
- gradle--第十一章 使用Gradle命令行2
- Gradle Gradle入门系列(1):简介
- gradle 知识(1) -- gradle构建工具
- linux-c0
- IE9和firefox兼容问题
- LeetCode[BFS]: Surrounded Regions
- Unity3D中的Prefab使用方法
- iOS工程如何支持64-bit
- Gradle用户向导(1-2章)
- py 使用threading模块实现多线程编程
- Linux crontab 如何使用
- Find Minimum in Rotated Sorted Array II
- 百度搜索引擎广告SEM调用架构示意图
- 需求分析挑战之旅(疯狂的订餐系统)
- Codeforces Round #295(div.2)赛后总结
- HTML+CSS+Javascript学习笔记(1)
- poj-3616 Milking Time 【DP】