• 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项目会变得更快。


    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。以免我万一误导了别人却没有改正的机会。
  • 相关阅读:
    golang实现dns域名解析(一)
    互联网协议入门(一)(转)
    DNS入门(转)
    随笔:Golang 时间Time
    mysql查询某一个字段是否包含中文字符
    screen状态变Attached连接会话失败
    golang :连接数据库闲置断线的问题
    神奇的GO语言:空接口(interface)
    Go语言:变参函数
    go语言:函数参数传递详解
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/7133671.html
Copyright © 2020-2023  润新知