美文网首页
2018-11-28 Gradle 5.0 升级指导

2018-11-28 Gradle 5.0 升级指导

作者: lotosbin | 来源:发表于2018-12-04 10:12 被阅读271次

    将您的构建从Gradle 4.x升级到5.0

    在大多数情况下,您需要应用升级后的所有版本中的更改。例如,如果您从Gradle 4.3升级,则还需要应用自4.4,4.5等以来的更改。💡
    如果您使用的是Gradle for Android,则需要移至Android Gradle Plugin和Android Studio的3.4或更高版本。
    建议所有用户使用以下步骤:

    • 如果你不是在4.10.2版本,将您的项目升级到4.10.2。

    • 尝试运行gradle help --scan 并查看生成的构建扫描的弃用视图。如果没有警告,则不会显示“弃用”选项卡。

    • 更新你的插件。

    有些插件会破坏这个新版本的Gradle,例如因为它们使用已删除或更改的内部API。当插件尝试使用API​​的弃用部分时,上一步将通过发出弃用警告来帮助您识别潜在问题。

    特别是,您需要使用至少2.x版本的Shadow插件

    • 运行gradle wrapper --gradle-version 5.0以将项目更新到5.0

    • 如果还没有,请转到Java 8或更高版本。Gradle 4.x需要Java 7,而运行Gradle 5需要Java 8。

    • 阅读4.10升级部分并进行必要的更改。

    从4.10及更早版本升级

    如果您尚未使用4.10版本,请跳至适用于您当前Gradle版本的部分,直到您到达此处为止。

    其他变化

    • 不再需要enableFeaturePreview('IMPROVED_POM_SUPPORT')enableFeaturePreview('STABLE_PUBLISHING')标志。现在默认启用这些功能。

    • Gradle现在捆绑JAXB for Java 9及更高版本。You can remove the --add-modules java.xml.bind option from org.gradle.jvmargs, if set.

    潜在的重大变化

    本节中的更改可能会破坏您的构建,但绝大多数已经被弃用了很长一段时间,并且很少有构建将受到大量构建的影响。我们强烈建议您首先升级到Gradle 4.10以获取有关您的构建的弃用的报告。

    以下重大更改不是来自弃用,而是行为更改的结果:

    • 在使用POM时分离编译和运行时依赖性

    • publishing {}块的评估不再延迟到需要,而是行为与任何其他块一样。如果您需要推迟评估,请使用afterEvaluate {}

    • JavadocGroovydoc任务现在在执行之前删除文档的目标目录。添加此选项用来删除上次任务执行中过时的输出文件。

    • Java Library Distribution Plugin 现在基于Java Library Plugin 而不是Java Plugin

      虽然它应用了Java插件,但它的行为略有不同(例如,它添加了api配置)。因此,请确保在升级后检查构建是否按预期运行。

    • html物业CheckstyleReportFindBugsReport现在返回CustomizableHtmlReport实例,它是更容易从像Java和科特林静态类型语言配置。

    • 配置避免API已更新,以防止从未使用任务的创建和配置。

    以下重大更改将显示为Gradle 4.10的弃用警告:

    • << 任务定义不再有效。换句话说,您不能使用语法task myTask << { …​ }

      使用Task.doLast() 方法,如下所示:

    task myTask {
            doLast {
                ...
            }
        }
    
    • 您不能再在域对象名称中使用以下任何字符,例如项目和任务名称:<space> / \ : < > " ? * | 。你也不应该使用.作为开头或者结尾字符。

    更多内容 查看官方发布日志

    IMG_0486.JPG

    相关文章

      网友评论

          本文标题:2018-11-28 Gradle 5.0 升级指导

          本文链接:https://www.haomeiwen.com/subject/sjhaqqtx.html