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

これは、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を含むファイルと、ビルド番号のリストと各ビルドのタイムスタンプを含む2 つのファイルが作成されます。

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>
于 2013-05-19T19:20:44.390 に答える