gradle-5.6.4-all 百度网盘下载CSDN快速下载

2023-11-02

Gradle 5.6.4 发布

Gradle团队很兴奋地宣布Gradle 5.6.4。

此版本的特点是提高Groovy编译速度的改进,的新插件Java测试夹具和更好地管理插件版本在多项目构建中。

这是Gradle 5.x的最终次要版本。还有许多其他较小的功能和改进,所以请查看下面的完整版本说明。

此版本还包含一个重要的安全修复影响部分用户。

下载连接:点击进入快速下载

升级说明

通过更新您的包装器,切换您的构建以使用Gradle 5.6.4:

./gradlew wrapper --gradle-version=5.6.4

参见Gradle 5.x升级指南了解升级到Gradle 5.6.4时的弃用、重大变更和其他注意事项。

注意:Gradle 5.6已经有了四补丁发布修复几个问题。我们建议使用最新的补丁版本。

更快的Groovy编译

Gradle 5.6包含了两个加速Groovy编译的新特性。

Groovy编译避免

Gradle现在支持Groovy的实验性编译避免。

如果没有会影响编译输出的更改,这可以避免重新编译依赖项目,从而加快Groovy编译。

看见Groovy编译避免了解更多详情。

增量Groovy编译

当需要编译时,Gradle现在对增量Groovy编译有了实验性的支持。

如果只修改了一小部分Groovy源文件,那么只有受影响的源文件会被重新编译。例如,如果你只改变一个Groovy测试类,Gradle不需要重新编译所有的Groovy测试源文件。Gradle将只重新编译改变的类和受它们影响的类。

看见增量Groovy编译更多详情,请参阅用户手册。

Java项目的测试夹具

Gradle 5.6引入了一个新的Java测试夹具插件可以与java或者java-library创建常规插件testFixtures源集。Gradle将自动执行必要的布线,以便test编译依赖于测试夹具。更重要的是,这个插件还允许其他项目依赖于该项目的测试夹具。

例如:

dependencies {
   // this will add the test fixtures of "my-lib" on the compile classpath of the tests of _this_ project
   testImplementation(testFixtures(project(":my-lib")))
}

使用设置脚本集中管理插件版本

Gradle 5.6使得管理你的构建所使用的插件版本变得更加容易。通过在新的设置脚本中配置所有插件版本pluginManagement.plugins {}块,构建脚本可以通过plugins {}块,而不指定版本。

pluginManagement {
    plugins {
        id 'org.my.plugin' version '1.1'
    }
}

以这种方式管理插件版本的一个好处是pluginManagement.plugins {}块不具有与生成脚本相同的约束语法plugins {}阻止。插件版本可以从gradle.properties或者以编程方式定义。

看见插件版本管理了解更多详情。

使用Java库插件,为Windows上的大型项目提供更好的性能

在Windows上,当从java到java-library插件。这是由类路径上的大量类文件造成的。

您现在可以告诉java-library插件到编译类路径上的jar优先于类文件夹通过设置org.gradle.java.compile-classpath-packaging系统属性到true.

改进了对类路径上的ZIP存档的处理

编译类路径和运行时类路径分析现在将检测最常见的zip扩展,而不仅仅是支持.jar.

Gradle也将检查嵌套的zip存档,而不是把它们当作blobs。这提高了构建缓存命中对于将这种嵌套的zip作为输入的任务,例如当测试打包成fat jar的应用程序时。

ZIP分析还避免解包不相关的条目。例如编译类路径上的资源文件。这提高了具有大量资源文件的项目的性能。

支持PMD增量分析

PMD插件现在支持使用PMD的增量分析缓存,以提高性能时,文件没有改变之间的建设。要启用增量分析,请将以下内容添加到您的PMD配置中:

pmd {
    incrementalAnalysis = true
}

供稿人胡安·马丁·索图约·多德罗.

可执行Jar支持project.javaexec和JavaExec

JavaExec和project.javaexec现在将运行一个可执行的jarJavaExec.main属性尚未设置,并且类路径解析为单个文件。

在这些情况下,Gradle将假设类路径中的单个jar是一个可执行的jar,并将使用java -jar。为了正确执行Main-Class属性需要在可执行文件jar中设置。

由于斯蒂芬·温德米勒为这部电影奠定了基础。

弃用警告时生成失败

这warning-mode命令行选项现在有一个新的fail价值会表现得像all此外,如果在执行期间报告了任何弃用警告,则使构建失败。

现在可以正确处理不区分大小写的文件系统上的文件名大小写更改

在不区分大小写的文件系统(如NTFS和APFS)上,只改变大小写的文件/文件夹重命名现在可以由Gradle的文件复制操作正确处理。

例如,重命名Copy调用的任务file.txt到FILE.txt现在会导致FILE.txt在目标目录中创建。

这Sync任务和Project.copy()和sync()操作现在也像预期的那样处理大小写重命名。

不可用的文件会得到更好的处理

通常,在任务的输入和输出中发现的断开的符号链接、命名管道和不可读的文件/目录(以下称为不可用文件)被优雅地处理,就好像它们不存在一样。

例如,复制到一个有剩余命名管道或断开符号链接的目录将不再中断构建。

Linux aarch64机器上丰富的控制台输出

Gradle现在可以检测到它正在Linux aarch64机器上的交互终端中运行,并且在这种情况下会生成丰富的控制台输出(比如彩色文本、进度信息)。

由于叶达鑫将此支持添加到原生平台.

对分叉Java进程的调试支持

Gradle现在有了一个新的DSL元素来配置Java进程的调试。

project.javaexec {

  debugOptions {
     enabled = true
     port = 4455
     server = true
     suspend = true
   }
}

此配置将以下JVM参数附加到进程中:-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=4455

这debugOptions配置可用于project.javaExec对于使用JavaExec类型,包括test任务。

插件作者的改进

工人API改进

这个版本对Worker API进行了大量改进。

首先,当使用类加载器或进程隔离提交工作时,类路径现在更干净了。额外的jar(比如Gradle自己使用的外部jar)不应该再出现在worker类路径中。

第二,引入了新的类,使得定义工作单元实现更加简单和类型安全。这也使得处理工作参数中的空值更加简单。而不是Runnable,工作单元是通过扩展WorkAction和WorkParameters接口。例如:

// Define an interface that represents the parameters of your WorkAction.  Gradle will generate a parameters object from this interface.
interface ReverseParameters extends WorkParameters {
    Property<File> getFileToReverse()
    Property<File> getDestinationFile()
}

// Define an abstract class that represents your unit of work and uses the parameters defined above.
// No need to define the getParameters() method - this will be injected by Gradle.
abstract class ReverseFile implements WorkAction<ReverseParameters> {
    @Override
    public void execute() {
        File fileToReverse = parameters.fileToReverse.get()
        parameters.destinationFile.get().text = fileToReverse.text.reverse()
        if (Boolean.getBoolean("org.gradle.sample.showFileSize")) {
            println "Reversed ${fileToReverse.size()} bytes from ${fileToReverse.name}"
        }
    }
}

最后,新的方法已经添加到WorkerExecutor使API更加简单易用。这noIsolation(), classLoaderIsolation()和processIsolation()方法都返回一个WorkQueue对象,可用于提交具有相同需求的多个工作项。例如:

// Create a WorkQueue with requirements for all work that is submitted to it
WorkQueue workQueue = workerExecutor.processIsolation() { ProcessWorkerSpec spec ->
    // Configure the options for the forked process
    forkOptions { JavaForkOptions options ->
        options.maxHeapSize = "512m"
        options.systemProperty "org.gradle.sample.showFileSize", "true"
    }
}

// Create and submit a unit of work for each file
sourceFiles.each { file ->
    workQueue.submit(ReverseFile.class) { ReverseParameters parameters ->
        parameters.fileToReverse = file
        parameters.destinationFile = project.file("${outputDir}/${file.name}")
    }
}

参见用户手册有关使用新API的更多信息。

现有的WorkerExecutor.submit()方法仍然可以使用,但在Gradle 6.0中将被弃用,在Gradle 7.0中将被移除。

任务相关性适用于@Input类型的属性Provider

Gradle可以根据某些任务输入属性的值自动计算任务依赖关系。例如,对于用批注的属性@InputFiles这是有类型的FileCollection或者Provider<Set>,Gradle将检查属性值,并自动为集合中的任何任务输出文件或目录添加任务依赖关系。

在这个版本中,Gradle还对用@Input并且有类型Provider(其中还包括以下类型Property).这允许您将一个任务输出连接到另一个任务的非文件输入参数。例如,您可能有一个运行git命令来确定当前分支的名称,另一个任务使用分支名称来生成应用程序包。通过这一更改,您可以将第一个任务的输出连接为第二个任务的输入,并避免运行git配置时的命令。

参见用户手册例如和更多细节。

转换a FileCollection敬aProvider

一种新方法FileCollection.getElements()已添加,以允许将文件集合的内容作为Provider。这Provider跟踪文件集合的元素和生成这些文件的任务,并且可以连接到Property实例。

最终确定的值ConfigurableFileCollection

一种新方法ConfigurableFileCollection.finalizeValue()已添加。此方法解析延迟值,如Provider实例或Groovy闭包或Kotlin函数,它们可能会出现在集合中的最终文件位置,并阻止对集合的进一步更改。

这种方法与其他方法类似finalizeValue()方法,如Property.finalizeValue().

防止对Property或者ConfigurableFileCollection

新方法Property.disallowChanges()和ConfigurableFileCollection.disallowChanges()已添加。这些方法不允许进一步更改属性或集合。

Provider方法

新方法Provider.orElse(T)和Provider.orElse(Provider)已添加。这些允许您对提供者和一些其他值执行“或”运算。

托管嵌套属性

自定义类型,如任务类型、插件或项目扩展,可以实现为抽象类,或者在项目扩展和其他数据类型的情况下,实现为接口。在某些情况下,Gradle可以提供抽象属性的实现。

现在,如果自定义类型有一个用@Nested,Gradle将为getter方法提供一个实现,并为该属性创建一个值。参见用户手册了解更多信息。

工具提供商的改进

通过工具API调试测试

这工具API现在能够在调试模式下使用TestLauncher.debugTestsOn(port)方法。

提升的功能

升级功能是在Gradle的早期版本中酝酿的功能,但现在受到支持并具有向后兼容性。请参阅“用户手册”一节功能生命周期”了解更多信息。

以下是此Gradle版本中提升的功能。

根据分辨率转换依赖性工件

周围的空气污染指数伪像转换不再孵化。

已修复问题

在Gradle 5.6.4中修正了1个问题。

[#11083] - Can’t configure kotlinOptions after upgrade to gradle 5.6.3 using kotlin-dsl

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

gradle-5.6.4-all 百度网盘下载CSDN快速下载 的相关文章

随机推荐

  • 【数据结构】二叉树接口的实现及OJ题

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 目录 一 二叉树的接口 1 二叉树的结构体 2 手动造一颗二叉树
  • 防止Sql注入拦截

    这两天在做一个sql注入拦截 期间遇到了不少问题 最大的问题是在 拦截sql注入后利用response 重定向到错误页面 始终无法实现跳转 发现原因是 ajax 异步请求时并不会对response重定向做处理 当然包括response ge
  • vite 配置路径别名@和动态引入assets资源

    vite 配置路径别名 vite config js配置 import fileURLToPath URL from node url 如果是ts 则需下载 types node以来 import defineConfig from vit
  • 解决socket.error: [Errno 98] Address already in use问题

    一 基本设置 如果python中socket 绑定的地址正在使用 往往会出现错误 在linux下 则会显示 socket error Errno 98 Address already in use 在windows下 则会显示 socket
  • linux访问有域名的ftp,Linux安装了ftp服务怎么用域名访?

    ftp directory怎么配置根 请自行准备好华为交换机和电脑 并且让你的电脑和交换机连接上 不管是telnet还是terminal都是可以的 首先需要在 Quidway 下启动ftp服务 Quidway ftp server enab
  • GPU比较(1285Lv4&1245v5)

    1285Lv4 Intel Iris Pro Graphics P6300 Iris Graphics 6200 P6300 EU 48 核心代号 GT3e 1245v5 HD Graphics P530 EU 48 核心代号 GT3e
  • 网络安全面试题

    IT面试 前言 首先 从底层的环境 计算机基础 即网络 系统方面开始 网络从交换 路由的基本认知到排错 系统从命令查看方面 其次 最后 通过编程语言 如python 提供自动化运维的方法 提高办公 简历方面 专业技能模块可以写成 1 熟悉网
  • sql-labs闯关26~31

    sql labs闯关26 31 友善爱国平等诚信民主富强爱国友善自由友善爱国平等诚信民主爱国爱国爱国 复习笔记1 第29 31关先跳过 回头再做 内容 sql labs第26关 GET请求 基于错误 过滤空格和注释 sql labs第26a
  • 报错解决:PermissionError

    在linux环境中安装jupyter notebook的时候遇到的错误 记录一下 PermissionError Errno 13 Permission denied run user 1002 jupyter 解决办法 chmod 777
  • 一文读懂深度学习中的矩阵微积分

    点击上方 小白学视觉 选择加 星标 或 置顶 重磅干货 第一时间送达 本文转自 视学算法 想要真正了解深度神经网络是如何训练的 免不了从矩阵微积分说起 虽然网络上已经有不少关于多元微积分和线性代数的在线资料 但它们通常都被视作两门独立的课程
  • 双向LSTM 对航空乘客预测

    前言 1 LSTM 航空乘客预测 单步预测和多步预测 简单运用LSTM 模型进行预测分析 2 加入注意力机制的LSTM 对航空乘客预测采用了目前市面上比较流行的注意力机制 将两者进行结合预测 3 多层 LSTM 对航空乘客预测 简单运用多层
  • cmd 用命令连接oracle数据库

    这里所用的数据库在tnsnames ora里的配置 mesdb155 DESCRIPTION ADDRESS PROTOCOL TCP HOST IP地址 PORT 端口号 CONNECT DATA SERVER XXX SERVICE N
  • Spring之Joinpoint类详解

    说明 Joinpoint是AOP的连接点 一个连接点代表一个被代理的方法 我们从源码角度看连接点有哪些属性和功能 源码 Copyright 2002 2016 the original author or authors Licensed
  • CentOS7安装Keepalived详细步骤

    1 首先先去Keepalived官网上下载 官网地址 2 把下载好的Keepalived压缩包上传到我们的CentOS7系统上 然后输入下面解压命令进行解压 tar zxvf keepalived 2 0 18 tar gz 3 先进入Ke
  • 7 - 简单状态机代码设计

    7 简单状态机代码设计 三角波发生器 代码 2021 11 21 lyw The simplest state machine triangle wave generator timescale 1ns 10ps module tri ge
  • 记一次使用hive-jdbc+tomcat-jdbc连接(Connection)中断的处理过程

    现象描述 Hive环境一个数据库 拥有表8000 业务代码需要挨个desc tableName 来获取表信息 当程序运行到4000 左右 开始出现获取信息失败 查找原因 通过查看日志发现是连接已断开 具体如下 INFO org apache
  • Kaggle——Rain in Australia (Predict rain tomorrow in Australia)

    文章目录 写在前面 1 案例背景 2 解读数据 2 导入数据进行数据分析及特征工程 2 1 概览数据 2 2 探索数据 2 2 1 探索数据类型 2 2 2 探索缺失值 2 2 3 产生训练集和测试集 2 2 4 分析是否存在样本不平衡问题
  • 在笔试题面试题中,如果出现加法和乘法,要注意是否越界的问题

    比如不设置另外变量 a和b如何置换 一法为相加的方法 可能越界 二法为异或法 程序员面试宝典也有此题 再比如类似问题是华为上机试题 如何求整数数组中大于平均值的个数 如果最用求平均值的方法 就会出现浮点数 为避免出现浮点数 可以转化为总和与
  • java基础(三)数组字典,类与对象

    字符串去重 public class Test04 public static void removeMrthod String s StringBuffer sb new StringBuffer boolean flag false f
  • gradle-5.6.4-all 百度网盘下载CSDN快速下载

    Gradle 5 6 4 发布 Gradle团队很兴奋地宣布Gradle 5 6 4 此版本的特点是提高Groovy编译速度的改进 的新插件Java测试夹具和更好地管理插件版本在多项目构建中 这是Gradle 5 x的最终次要版本 还有许多