gpt4 book ai didi

ant - 如何在ant中创建临时目录?

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

我想在ant(版本1.6.5)中创建一个临时目录,并将其分配给属性。


命令“ mktemp -d”将是理想的选择,但是我无法从ant内部找到类似的功能
除了tempfile task之外,我在文档中找不到任何正式功能,该功能显然仅创建文件,而不创建目录。
我正在考虑使用exec调用tempfile并获取结果,但是这将使我的build.xml依赖于UNIX / linux,这是我想避免的。


背景:我正在尝试加快在网络文件系统内部进行构建的现有构建过程。该构建已将所有源复制到一个临时目录,但是该目录位于同一文件系统上。我已经测试过将其更改为/ tmp / foo,它可以带来值得的速度提升:3分钟vs 4分钟。

最佳答案

您可以将tempfile taskjava.io.tmpdir system property组合在一起,以获取用于创建临时目录的文件路径:

<project default="test">

<target name="test">
<echo>${java.io.tmpdir}</echo>
<tempfile property="temp.file" destDir="${java.io.tmpdir}" prefix="build"/>
<echo>${temp.file}</echo>
</target>

</project>


请注意, tempfile任务不会创建文件(除非您要求它)。它只是设置一个可用于创建文件或目录的属性。


此任务将属性设置为临时文件的名称。不像
java.io.File.createTempFile,此任务实际上并未创建
临时文件,但可以确保该文件在以下情况下不存在
任务已执行。


我的环境中的输出:

test:
[echo] C:\Users\sudocode\AppData\Local\Temp\
[echo] C:\Users\sudocode\AppData\Local\Temp\build1749402932

关于ant - 如何在ant中创建临时目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10735042/

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