我一直試圖讓以下工作在螞蟻,但一直未能。更新一個丟失文件並設置一個屬性的目標目錄
這種情況下,我希望能夠根據來自源目錄的任何文件是否被複制到目標目錄中來設置屬性以用於檢查。對於空目標目錄,較新版本的源文件以及源目錄中不在目標目錄中的較新文件,這應該是正確的。
我的原型build.xml文件如下:
<?xml version="1.0"?>
<project name="build01" default="make.obj">
<property name="src.dir" value="${basedir}/src"/>
<property name="obj.dir" value="${basedir}/obj"/>
<fileset id="src.files" dir="${src.dir}"/>
<target name="make.obj" depends="check.make.obj" unless="make.obj.notneeded">
<copy todir="${obj.dir}">
<fileset refid="src.files"/>
</copy>
<property name="do.something.else" value="true"/>
</target>
<target name="check.make.obj">
</target>
<target name="make.final" depends="make.obj" unless="do.something.else">
<exec executable="mkisofs">
<arg value="-o"/>
<arg value="foo.iso"/>
<arg value="obj"/>
</exec>
</target>
</project>
我的原型構建目錄最初看起來如下:
.
+ build.xml
+ obj
+ src
+ file01.txt
+ file02.txt
螞蟻最初的電話後,我想看看下面的:
.
+ build.xml
+ foo.iso
+ obj
| + file01.txt
| + file02.txt
+ src
+ file01.txt
+ file02.txt
如果我再次運行螞蟻,而沒有做任何改變,我不希望螞蟻更新obj目錄或重製foo.iso。
如果我更新src/file01.txt,src/file02.txt,或者添加一個文件(例如src/file03.txt),我想讓ant更新obj目錄,並且我想讓ant重製foo.iso 。
我已經嘗試了不同的任務,但我無法獲得任何正確的工作。
有什麼建議嗎?
我已經嘗試過各種任務,但我沒有任何工作。我想我可以使用與和來檢查哪些源文件比等效的目標文件更新,但我無法讓它工作。我知道單個目標文件屬性起作用,但雖然此示例着重於製作ISO,但在構建將在目標文件和源文件之間存在依賴關係的ISO後,我還想做其他事情。所以,真的想用來比較源和目標。 –
也許你可以用一個更具代表性的例子更新你的問題?我想[](https://ant.apache.org/manual/Tasks/dependset.html)可能會對你有所幫助,但我並不完全明白你需要什麼。 –
VGR