到眼下为止,Gradle已经出到2.1版本号了,从1.12这个版本号開始看,主要是由于我使用Gradle是Android开发所须要。公司里面是採用Android Studio来进行Android项目的开发的,而公司里普遍用的还是Android Studio的0.8.4及其之前的版本号,临时还不能更新到2.0或更新的版本号。另外,Gradle1.12是Gradle 1.x的最后一个版本号。也是我用的时间最久的一个版本号。或许是这样的情结再加上前面的原因吧,让我认为有必要从Gradle 1.12開始吧。
这篇文章对Gradle 1.12的更新先做个简要的介绍,包括但不涵盖全部更新的内容。
兴许文章会具体介绍Gradle的具体功能使用。当然,用的是1.12的版本号。对于Gradle 2.0及之后的版本号增删的内容再在兴许补充。
Gradle 1.12的更新的内容
1.Gradle是通过Tooling API与IDE进行整合的。
在这一版本号其中,对Tooling API进行了一些优化,所以导入Gradle项目会变得更快。
2,对用它构建C项目的人来说,这是个好消息。
在1.12其中改进了Clang与Visual Studio的整合,而且通过CUnit提供了对此原生代码的支持。Clang的更新还有其它内容。因为我的重点是Android项目,对此不作其它描写叙述,假设有兴趣。能够去看用户手冊里Clang的章节。
3.在依赖管理方面也进行了改进,能够通过组合的元数据规则,定义某个版本号是否为像Maven的SNAPSHOT一样的版本号。比方下面代码:
dependencies { components { eachComponent { ComponentMetadataDetails details -> details.changing = details.id.group == "my.company" && details.id.version.endsWith("-dev") } } }
它就会觉得group为"my.company"而且版本以"-dev"结束的库都是在不断更新的。这样在进行构建的时候,就会再去更新这个库,而不是用着旧的缓存了。
4.对跳过的測试,在生成的測试报告中。有了特定的标签来标志。
5.支持构建超出zip标准格式的大zip文件。在曾经的版本号其中,会生成一个无效的zip文件。只是这个版本号開始,能够通过设置zip64属性为true来生成大的zip文件。假设没有设置。而zip的文件大小或文件数量超出限制。则会构建失败。
6.默认使用pom配置。这一版本号全然遵从POM文件定义的依赖管理等属性信息。
7.对JVM的Test和JavaExec进程,通过加上 --debug-jvm參数来进行调试。这个參数会使JVM以debug模式启动,以方便调试。
8.如今graddle-wrapper用HTTPS协议进行下载。
gradle wrapper能够看作是对gradle的封装,它能够使得在没有安装gradle的电脑上也能够使用Gradle进行构建。
能够看下你的项目中的gradlew.bat或gradlew.sh文件吧。
修复的问题
好多。一大堆 。这里略过不谈。
过时的内容
一些内容在1.12版本号变为过时的,而且会在2.0版本号后将它们移除。所以用Android Studio的朋友,注意你的gradle版本号和gradle android插件的版本号与你的IDE的版本号的相应吧。
另外关于Tooling API版本号兼容,这个是做IDE整合的人须要关注的,我们不是做IDE的开发的,这些就不说的。
可能是比較大的修改
1.对Scala添加了增量编译。Scala的编译器Zinc升级到0.3.0版本号,对于早期的用户来讲,可能会是一个比較大的改动。当然,这种用户可能并不多。
2.导入Ant builds时会又一次组织依赖顺序。所以从Ant builds导入的任务,从这一版本号開始可能运行顺序会和曾经的版本号不同。
3.对写Gradle插件的人来说,可能须要注意一下,Test.filter和IdeaModule.singleEntryLibraries这两个方法都有了改动。
还有其它修改,因为我对它们提不起多大兴趣,所以略过不谈。详细见:http://www.gradle.org/docs/1.12/release-notes.html。
以上是对这个版本号的简要介绍。因为眼下的文档大部分都是英文的,博主的英文水平也比較一般。假设有表述或理解得不正确的,欢迎在以下指出。
近期我也正在努力学习英语和学习翻译,想作出贡献又惟恐误导了别人,在学习和翻译的路人艰难前进。接受大家对于我传达有误的地方的全部批评和指正。
本文原创。转载请保留原文地址http://blog.csdn.net/maosidiaoxian/article/details/40040177。以免我万一误导了别人却没有改正的机会。