Gradle 1.12用户指南翻译——第六十三章. 构建比较

其他章节的翻译请参见:
http://blog.csdn.net/column/details/gradle-translation.html
翻译项目请关注Github上的地址:
https://github.com/msdx/gradledoc
本文翻译所在分支:
https://github.com/msdx/gradledoc/tree/1.12。
直接浏览双语版的文档请访问:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.6开发中版本兼容 Android 2.3以上系统,项目地址如下:
https://github.com/msdx/gradle-doc-apk
翻译不易,转载请注明本文在CSDN博客上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/71055332

关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。

另外,目前Gradle1.12版本的文档已经翻译完并进入校稿阶段,校稿的方式为到该项目https://github.com/msdx/gradledoc 提交issue或是pull request。校稿的结果不只是在此版本更新,也会用于改善Gradle下一版本(2.0)文档的翻译。


第六十三章. 构建比较

构建比较支持是一个还在孵化中的 功能。这也表示它是不完整的,并且还未成为定期的Gradle产品质量功能。这也意味着这一章的 Gradle 用户指南还在完善中。

Gradle 提供了对两个构建的 结果(例如生成的二进制档案)进行比较的支持。为什么你可能需要对两个构建的结果进行比较,有几个原因。你可能想要比较:

  • 比当前所使用的Gradle版本更新的版本的构建(即升级Gradle版本)。

  • 由Apache Ant,Apache Maven 或其他工具执行的Gradle构建(即迁移到Gradle)。

  • 同样原Gradle构建,同样的版本,但是比较构建前后的变化(即测试构建产生的更改)。

通过比较这些场景的构建,你可以明智地决定是否要对Gradle升级,迁移到Gradle,或者是通过了解结果的差异来判断构建的更改。这个比较过程会生成一个HTML的报告,概述发现哪些结果是相同的,以及识别不完全相同的结果之间的差异。

63.1. 术语定义

以下是用于构建比较的术语以及对它们的定义。

“构建”

在构建比较的场景中,一个构建不一定就是一个Gradle构建。它可以是任何可调用的产生可观察的“结果”的“过程”。至少有其中一个构建将是一个Gradle构建。

“构建结果”

指在一个构建当中,在某种观察方法内发生的内容,比如一个zip文件的创建或者是测试的执行。这些都是可以用于比较的东西。

“源构建”

正在进行比较的构建,通常是处于“当前”状态的构建。 换句话说,也就是构建比较的左手边。

“目标构建”

与源构建进行比较的构建,通常是“建议”的构建。换句话说,也就是构建比较的右手边。

“主机构建”

执行比较过程的构建。它可能是与“目标构建”或“源构建”相同的项目,也可能是一个完全独立的项目。它不需要与“源构建”或者是“目标构建”同样的Gradle版本。主机构建必须运行在Gradle1.12或以上。

“比较构建结果”

构建结果原来的目的是成为在“源构建”和“目标构建”中的逻辑等价物,因此具有可比较性。

“未比较的构建结果”

如果无法从其他构建中找到逻辑等价物(比如一个构建产生了一个zip文件,而其他的构建不会),那么构建结果就是未比较的。

“未知的构建结果”

主机构建不能理解的构建结果。可能存在这样的情况不:一个源构建或目标构建使用一个比主机构建更新的版本,并且这个Gradle版本有新增加的结果类型。目前为止,未知的构建结果是可以被比较的,因为它们可以确定与其他构建的未知构建结果是否为逻辑等价物,但是对于实际上可以被执行的构建结果,这种比较则是没有意义的。对主机构建使用最新的Gradle版本可以避免遇到未知的构建结果。

63.2. 目前的能力

由于它还是一个孵化中的功能,目前只是实现了最终功能的一部分。

63.2.1. 支持的构建

目前只支持执行Gradle构建。源构建和目标构建必须使用Gradle1.0或以上的版本来执行。主机构建必须至少是 1.2版本。

未来的版本会提供对其他构建系统所执行的构建的支持,比如Apache Ant 或者是 Apache Maven,以及支持任意进程的执行(比如基于shell脚本的构建)。

63.2.2. 支持的构建结果

目前只支持构建结果是 zip 归档的比较。包括jar, warear 归档文件。

未来的版本会提供对类似于测试执行(例如哪些测试被执行了,哪些测试失败了,等等)的构建结果比较的支持。

63.3. 比较Gradle构建

compare-gradle-builds可以用于方便地比较两个Gradle构建。该插件添加了一个叫“compareGradleBuilds”的CompareGradleBuilds 任务到项目中。这个任务的配置指定了要比较哪些内容。默认情况下,它被配置为对当前构建与本身使用的当前的 Gradle 版本所执行的任务:“clean assemble”进行比较。

apply plugin: 'compare-gradle-builds'

这个任务的配置可以修改比较的内容。

compareGradleBuilds {
    sourceBuild {
        projectDir "/projects/project-a"
        gradleVersion "1.1"
    }
    targetBuild {
        projectDir "/projects/project-b"
        gradleVersion "1.2"
    }
}

上面的示例,配置了两个使用了不同的Gradle版本的项目之间的比较。

63.3.1. 尝试 Gradle 升级

你可以使用这个构建比较功能来快速尝试在你的构建中使用新的Gradle版本。

想尝试对你当前的构建使用一个不同的Gradle版本,只需要对 根项目年的 build.gradle 添加以下的配置。

apply plugin: 'compare-gradle-builds'

compareGradleBuilds {
    targetBuild.gradleVersion = "«gradle version»"
}

然后只需要执行compareGradleBuilds 任务。当它们执行的时候,你就会看到控件台输出“源构建”和“目标构建”的结果。

63.3.2. 比较“结果”

如果在比较结果中有任何的差别,这个任务任务就会失败。然后会给出一个提供了对比较的深入了解的HTML报告文件的位置。如果所有的比较结果都是相同的,并且没有未比较的结果,以及没有未知的构建结构,那么任务会执行成功。

你也可以通过设置 ignoreFailures 属性为true,来配置构建结果不同时任务不失败。

compareGradleBuilds {
    ignoreFailures = true
}

63.3.3. 哪些归档文件会进行比较?

对于要用于比较的归档文件,它必须被添加为archives配置中的一个构件。关于如何配置及添加构件,可以查阅 第五十一章,发布构件 。

同时,这个归档必须由 Zip, Jar, WarEar 任务产生。未来版本的Gradle对这一方面的支持将更灵活。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值