2012-01-13 12 views
0

現在、私はversion.propertiesファイルとantをリリース(Javaアプリケーション)すると自動的に内容を更新できます。私がリリースされたリリースを知りたい場合には(history.propertiesを言って、おそらく新しいファイル)Antを使用してリリース履歴を記録できますか?

buildDate=01-03-2012 165937 
buildNum=1 
buildMinor=0 
buildMajor=0 

は、今私は、ファイルへのリリース履歴を維持したい:そのバージョンのファイルの内容はこれですいつ。

これを行うために、私は自動的に私のために次の操作を行うためのアリを行う必要があります。

  1. が一つにversion.propertiesファイルと共同してから、既存の情報を読みます文字列、たとえば、このような文字列:0.0.1 01-03-2012 165937;
  2. 新しい文字列をhistory.propertiesファイルに挿入または追加します。

蟻は1と2の間でできるのですか?はいの場合、どうですか?

あなたのより良い解決策を教えてください。

ありがとう、

答えて

1

使用このターゲット:代替ソリューションについては

 
<target name="save_version_history"> 
    <property file="version.properties" /> 
    <echo file="history.log" append="true" >${buildMajor}.${buildMinor}.${buildNum} ${buildDate} 
</echo> 
</target> 

+0

私はあなたの方法が好きです。しかし、私は "loadproperties"を使用する必要があります、 "プロパティ"は私のために動作しません。 – 5YrsLaterDBA

+0

理由を教えてもらえますか?私はちょうどloadpropertiesがあなたのためにより良く働く方法に興味があります。 –

+0

もう1つの結果は、メモ帳で開かれたときに長い行になりますが、他のエディタで開くと異なる行になります。ファイルには別の行を表示する方法がありますか? – 5YrsLaterDBA

0

解決策が見つかりました。 Iは、例えば

version=date 

にhistory.propertiesのフォーマットを変更:

0.0.1 = 2012年1月3日165937

そして私はこのため、以下のAntターゲットを使用します。

<target name="history" depends="init" > 
     <loadproperties srcFile="${version.file}"/> 
     <propertyfile 
      file="${history.file}" comment="Build history info"> 
      <entry key="${buildMajor}.${buildMinor}.${buildNum}" type="string" value="${buildDate}"/> 
     </propertyfile> 
    </target> 

エントリキーが毎回異なるので、そうアリ意志をhistory.propertiesファイルの末尾に追加します。バージョンが各ビルドの終わりにログイン保存する

0

、なぜJReleaseInfo ANT taskを試してみませんか?

指定されたリリース情報を含むJavaクラスファイルを生成することによって動作します。このクラスは、コードの他の部分によって実行時に問い合わせることができます。グラフィカルなランタイムビューアをサポートするオプションもあります。

関連する問題