gpt4 book ai didi

gradle - 使用Gradle 5.x和更高版本GZip每个文件

转载 作者:行者123 更新时间:2023-12-03 03:45:30 25 4
gpt4 key购买 nike

当前,我们有一个Gradle(v4.10.3)构建脚本,该脚本在构建期间压缩每个静态资源。以下是我们拥有的代码片段:

tasks.register("gzipJsFiles") {
doLast {
fileTree(dir: "${buildDir}/classes/main/static/js", include: "**/*.min.js", exclude: "*.gz").eachWithIndex { file, index ->
def dynamicTask = "gzipJs-$file.name"
task "${dynamicTask}" (type: GzipJsTask) {
source = file
dest = Paths.get(file.absolutePath + ".gz").toFile()
}
tasks."$dynamicTask".execute()
}
}}

现在,使用最新版本的Gradle,不推荐使用Task.execute()。

有没有一种方法可以实现GZip任务,使用较新版本的Gradle(5.x或更高版本)分别压缩文件树中的每个文件?

最佳答案

我不知道GzipJsTask的来源,但是如果它是gradle-js-plugin的来源,则可以从source code中看到,它只是一些Ant命令的包装。因此,不再需要在执行时动态创建Gradle任务(不再是可能的),只需直接运行以下命令:

doLast {
fileTree(dir: "${buildDir}/classes/main/static/js", include: "**/*.min.js", exclude: "*.gz").each { file ->
ant.gzip(src: file.absolutePath, destfile: file.absolutePath + ".gz")
}
}

关于gradle - 使用Gradle 5.x和更高版本GZip每个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59197696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com