Gradle笔记——关于Gradle 1.12

如果你能进来看这篇文章,相信你对Gradle也有一个简单了解。这里也不再叙述它相对于其他构建工具的优势,而是介绍一下Gradle 1.12这个版本。

到目前为止,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项目会变得更快。这也许就是Android Studio 0.6.0开始,导入和打开项目变得更快的原因之一吧,因为从这个版本开始,Android Studio使用了Gradle 1.12。

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,以免我万一误导了别人却没有改正的机会。

时间: 2024-10-26 09:57:54

Gradle笔记——关于Gradle 1.12的相关文章

Gradle笔记——构建基础

本篇文章主要介绍一下Gradle的构建基础. 它看起来似乎和android项目没多大关系.不能让人一下子理解android项目中的Gradle配置文件,可是这篇基础真的非常重要. 学习Gradle前,须要有一个Groovy语言的基础,以免被Groovy的语法困扰.反而忽略了Gradle的知识.这里有一个Groovy的简明中文教程文档,能够高速学习Groovy的一些语法:http://download.csdn.net/detail/maosidiaoxian/8049823 1 Projects

Android(java)学习笔记127:Android Studio新建工程中的build.gradle、settings.gradle

随着信息化的快速发展,IT项目变得越来越复杂,通常都是由多个子系统共同协作完成.对于这种多系统.多项目的情况,很多构建工具都已经提供了不错的支持,像maven.ant.Gradle除了借鉴了ant或者maven的继承的方式定义子项目,也提供了一种更为方便的集中配置的方式,大大减少了构建带来的复杂度.除此之外,Gradle还提供了清晰的Project树模型来映射多项目的组织结构.下面,让我们了解一下如何使用Gradle构建多项目. 1.多项目的定义和结构 Mulit project 设置是grad

Gradle笔记——依赖管理基础

1. 什么是依赖管理 依赖管理可以分为两部分:一是依赖,即项目构建或运行时所需要的一些文件:二是发布,即构建完成后上传到某个地方. 1.1 依赖 大部分的项目都需要第三方库类或项目文件,这些文件就是项目的依赖了.比如JDBC的jar包,junit的jar包等等.Gradle需要你告诉它工程的依赖是什么,在哪里可以找到,然后它帮你加入构建.在依赖中,可能需要去远程仓库下载文件,如maven或Ivy,本地仓库,甚至是另一个项目,这个过程我们称之为依赖解决. 另外,我们所依赖的文件自身可能也有依赖,当

【安卓笔记】gradle入门

随着Android Studio越来越完善,更多的开发者舍弃掉Eclipse.但是新的IDE与以往的Eclipse有很大区别,这导致部分开发者望而却步,其中一个大家觉得比较麻烦的是Android Studio采用的新的构建系统,gradle.那么这篇文章我将对gradle进行一个简单介绍(主要讲gradle配合Android Studio的使用),希望帮助大家熟悉gradle. 一. gradle是什么? gradle跟ant/maven一样,是一种依赖管理/自动化构建工具.但是跟ant/mav

gradle 笔记

1. 各种options [email protected] /f/AndroidstudioProjects/KeyguardTest (master) $ gradle --help USAGE: gradle [option...] [task...] -?, -h, --help Shows this help message. -a, --no-rebuild Do not rebuild project dependencies. -b, --build-file Specifies

多个 gradle 文件夹 \.gradle\wrapper\dists\ 设置gradle不是每次都下载

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 设置gradle不是每次都下载 \.gradle\wrapper\dists\ ======= 在你导入项目的时候,有个选项的: 你要是选了Use default gradle mapper就会下载一次,Use local gradle distribution就会用你制定的gradle了 ====== 设置gradle不是每次都下载 \.gradle\wrapper\dists\

eclipse gradle插件 org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-3.4-bin.zip'.

eclipse安装gradle后出现如下异常: org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-3.4-bin.zip'.    at org.gradle.tooling.internal.consumer.DistributionFactory$ZippedDist

Gradle 同步 已经开始 Gradle sync started

Gradle 同步 已经开始 Gradle sync started 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 安卓Gradle插件更新 介绍 介绍 recommended 为了利用所有最新的特性(例如即时运行), 改进和安全补丁, 我们强烈建议你将Android升级版的插件升级到2.3.3版本,升级到3.3版. To take advantage of all the lates

Chapter 5. The Gradle Wrapper 关于gradle wrapper

Most tools require installation on your computer before you can use them. If the installation is easy, you may think that’s fine. But it can be an unnecessary burden on the users of the build. Equally importantly, will the user install the right vers