1

目前该文件仅保留最新版本。我想使用保存历史记录的不同文件。每次使用 ANT 时,我都希望它在该文件上附加时间和修订号。在主屏幕上,我将只有一个指向该文件的链接。

现在是这样写的:

<target name="compile-java" depends="prepare,compile"> 
        <exec dir="${project.dir}" executable="tools/version.sh" output="${src.web.dir}/date_compile.jsp">
            <arg line="" />
        </exec> 
        <propertyfile file="${src.web.dir}/date_compile.jsp">
        </propertyfile>
   </target>

我想在保留旧修订数据的同时追加新修订。

4

2 回答 2

0

不是 100% 确定您想要什么,但它看起来像是<tstamp/><echo>和. 的组合<propertyfile/>

您可以使用<propertyfile>指定存储内部版本号的属性文件,并对其进行编辑:

 <propertyfile file="${build.prop.file}">
    <entry key="build.number"
   value="1"
   default="0"
   operation="+"/>
</propertyfile>

现在,您可以在构建中包含该属性文件:

<property file="${build.prop.file}"/>

这将设置${build.number}

接下来,您将获得日期和时间:

<tstamp>
    <format property="build.time.stamp"
        pattern="yyyy-mmm-dd.hh:mm:ss-zzzzz"/>
</tstamp>

现在,您将把它附加到您的日志文件中

<echo append="true" file="${build.log}"
    message="Building build # ${build.number} on ${build.time.stamp}"/>
于 2013-05-24T21:10:16.963 回答
0

这只是使用BuildNumberPropertyFile任务来创建构建版本号文件,然后读取文件以获取该编号,还创建构建的时间戳,然后将它们都附加到另一个文件。

下面是如何做到这一点的基本思路。从那开始,你应该能够写出类似这样的东西:

<project default="increment">
    <target name="increment">
        <tstamp>
            <format property="build.time" pattern="yyyy-MM-dd HH:mm:ss" />
        </tstamp>
        <propertyfile file="build.properties">
            <entry key="build.number" type="int" operation="+" default="0" />
        </propertyfile>
        <property file="build.properties" />
        <echo message="Build ${build.number} on ${build.time}&#13;&#10;" append="true" file="build.history" />
    </target>
</project>

这将创建两个文件:build.properties带有您的内部版本号(始终是最后一个编号,因为它在每个版本上都会被覆盖),build.history其中包含内部版本号列表和每个版本的时间戳。

编辑:根据评论,如果version.sh输出修订和日期date_compile.jsp并在每个构建上覆盖它然后 - 保留历史 - 你只需要加载date_compile.jsp你的构建并将其内容附加到另一个文件,如下所示:

<target name="compile-java" depends="prepare,compile">
    <exec dir="${project.dir}" executable="tools/version.sh" output="${src.web.dir}/date_compile.jsp">
        <arg line="" />
    </exec>
    <loadfile property="revision" srcfile="${src.web.dir}/date_compile.jsp" />
    <echo message="${revision}&lt;br&gt;&#13;&#10;" append="true" file="${src.web.dir}/compile_history.jsp" />
</target>
于 2013-05-19T19:20:44.390 回答