这是我的build.xml:
<project name="gebeden" default="html" basedir=".">
<description>
take a set of html files and a toc xml and build a single html
</description>
<!-- set global properties for this build -->
<property name="toc" location="toc.xml"/>
<property name="html" location="html"/>
<property name="index" location="index.html"/>
<target name="uptodate"
description="checks if the index.html is up to date">
<uptodate property="uptodate" targetfile="${index}">
<srcfiles dir="${html}" includes="**/*.*"/>
</uptodate>
<echo message="update: ${uptodate}"/>
</target>
<target name="html"
description="compile html files into a single html according to ${toc}"
depends="uptodate"
unless="uptodate">
<xslt in="${toc}" out="${index}"
style="html.xslt">
</xslt>
</target>
</project>
xslt脚本读取$ {toc}文件,而且读取html文件夹中的文件,因此,如果输出与$ {toc}文件或任何其他文件相比不是最新的,则html目标应该运行的html文件。
此脚本现在仅在$ {toc}文件已更新的情况下运行。我认为,如果更新html文件,则语句'unless =“ uptodate”'意味着使目标也可以运行,但这不起作用。
是否有一个简单的解决方案?