创建文件,在我编译时保存项目的时间和修订号



目前文件只保留最新版本。我想用另一个文件保存历史。每次使用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>

我想添加新的修订,同时保持旧的修订数据。

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

这是如何做的一个基本的想法。从这个开始,你应该能够写这样的东西:

<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包含构建号列表和每个构建的时间戳。

EDIT:根据注释,如果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>

不是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}"/>

相关内容

  • 没有找到相关文章