ant xslt目标也应检查其他文件上的时间戳

时间:2018-06-29 23:12:05

标签: xslt ant

这是我的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”'意味着使目标也可以运行,但这不起作用。

是否有一个简单的解决方案?

0 个答案:

没有答案