gpt4 book ai didi

gradle - 参数化 gradle 任务

转载 作者:行者123 更新时间:2023-12-02 00:07:58 25 4
gpt4 key购买 nike

是否可以参数化任务?例如,我想创建一个 zip 任务,它将被其他两个任务使用,但这些任务需要传递一些额外的信息信息给这个 zip 任务(例如 zip 名称)。

这就是我希望它工作的方式。如果不可能,我该怎么做?或者如果我可以有更好的解决方案吗?

task zipFile(type: Zip) {
from files('dist/zip')
destinationDir = file('dist')
archiveName = myArchiveName // myArchiveName should be passed as property
}

task zipTwoFiles << {
// create first archive
zipFile.execute() // how to pass property to this task?
// create second archive
zipFile.execute() // how to pass property to this task?
}

我想这样做是因为这是我将项目从 ant 迁移到 gradle 的第一步。在 Ant 中它看起来像这样:

<target name="zipFile">
<zip destfile="dist/${myArchiveName}" basedir="dist/zip" />
</target>

<target name="zipFile1">
<antcall target="zipFile">
<param name="myArchiveName" value="myarchive.zip" />
</antcall>
<antcall target="zipFile">
<param name="myArchiveName" value="myarchive2.zip" />
</antcall>
</target>

最佳答案

Gradle 不支持显式调用任务。相反,您应该声明两个 Zip 任务。如有必要,您可以声明另一个任务,该任务本身没有行为但依赖于两个 Zip 任务。这样的任务称为生命周期任务

关于gradle - 参数化 gradle 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17206766/

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