gpt4 book ai didi

Ant concat 任务提示丢失文件

转载 作者:行者123 更新时间:2023-12-02 02:28:52 27 4
gpt4 key购买 nike

<concat destfile="dist/external.js">
<fileset dir=".">
<include name="a.js" />
<include name="b.js" />
</fileset>
</concat>

如果缺少 a 或 b,这不会失败。我试过设置 optional="false"或 asis="true",它总是提示那些属性不存在。

最佳答案

如果您只想在文件丢失时看到来自“concat”任务的警告,您可以使用 filelist resource collection代替“文件集”:

<concat destfile="dist/external.js">
<filelist dir=".">
<file name="a.js" />
<file name="b.js" />
</filelist>
</concat>

b.js不存在时,给出消息:

[concat] /Path/.../b.js does not exist.

但无论如何都会继续,这可能不是您想要的。

检查资源集合中所有文件是否存在的一种方法如下。请注意,您需要将“antlib:org.apache.tools.ant.types.resources.selectors”命名空间添加到项目中才能使用resource selectors。如下所示。 (这不适用于 1.7.0 之前的 Ant 版本。)使用 Ant fail task检查没有资源丢失。

<project name="stack_overflow"
xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors">

<filelist id="my.js.files" dir=".">
<file name="a.js" />
<file name="b.js" />
</filelist>

<restrict id="missing.js.files">
<filelist refid="my.js.files"/>
<rsel:not>
<rsel:exists/>
</rsel:not>
</restrict>

<property name="missing.files" refid="missing.js.files" />
<fail message="These files are missing: ${missing.files}">
<condition>
<length string="${missing.files}" when="greater" length="0" />
</condition>
</fail>
<concat destfile="dist/external.js">
<filelist refid="my.js.files" />
</concat>

</project>

运行时,与之前一样缺少b.js,这会在“concat”任务之前的构建失败:

BUILD FAILED
/Path/.../build.xml:17: These files are missing: /Path/.../b.js

关于Ant concat 任务提示丢失文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4605937/

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