2011-11-09 7 views
4

Linux UbuntuサーバーにJenkinsでAndroidアプリをビルドし、BazaarをSCMとして使用します。bzr revidをマニフェストのAndroidに入れる方法:versionName

プロジェクトのバザー修正IDを自動的にマニフェストファイルのAndroid:versionNameの値に追加したいとします。

ビルドにはantを使用していますが、私はJenkinのバザールプラグインを使用して、ビルドスクリプトに変更を渡しますが、どうやってそれを行うのか分かりません。

+0

問題のある部分が不明です。それは、ビルドスクリプトに渡されたbzrのリビジョンをどのように取得するのですか?また、マニフェストファイルを変更するためにantビルドスクリプトでrevidをどのように使用しますか? – dOxxx

+0

申し訳ありませんが、私はあなたのコメントを逃した、私はマニフェストファイルを変更する方法に困難を抱えていた。グーグルリングをもっと(もっと)すると、私は最終的に解決策を見つけました。下記を参照してください... – jmc34

答えて

4

最終的に解決策が見つかったhere

それはSVNのためだったが、それはここで

は私のタスクがどのように見えるかです...バザールのためにチューニングするために十分に簡単でした。

<property environment="env"/> 
<target name="bzr-revision"> 
    <echo>Modifying Android manifest with revision: ${env.BZR_REVISION}</echo> 
    <!-- Write the revision number into 
      the Manifest as the last segment of the VersionName property --> 
    <replaceregexp file="AndroidManifest.xml" match='android:versionName="([^".]+\.[^".]+\.[^".]+)(\.[^"]*)?"' replace='android:versionName="\1.r${env.BZR_REVISION}"'/> 
</target> 

versionNameが1.5.2の場合、ilは1.5.2.r123(123はBazaarリビジョン番号)に置き換えます。あなたはあなたのニーズに正規表現を調整することができます。

関連する問題