SSブログ

JarのマニフェストにSubversionのリビジョン番号を埋め込む@maven [Java]

mavaenでJarファイルの生成時にマニフェストファイルにSubersionのリビジョン番号を埋め込む方法。調べるとmavenのプラグインで代表的なところで2つあるらしい。

・maven-svn-revision-number-plugin
https://code.google.com/p/maven-svn-revision-number-plugin/

・buildnumber-maven-plugin
http://mojo.codehaus.org/buildnumber-maven-plugin/index.html

今回はgoogleのmaven-svn-revision-number-pluginを使ってみました。
pom.xmlはこんな感じで。

  4.0.0

  myGroupId
  example
  1.0-SNAPSHOT
  jar

  example

  
    UTF-8
    true
  

  
    
      
        org.apache.maven.plugins
        maven-jar-plugin
        2.1
        
          
            
              ${example.committedRevision}
            
          
        
      

      
        com.google.code.maven-svn-revision-number-plugin
        svn-revision-number-maven-plugin
        1.13
        
          
            
              revision
            
          
        
        
          
            
              ${project.basedir}
              ${project.artifactId}
              infinity
              true
              false
              false
            
          
        
      
    
  


Jarのマニフェストファイルには、svn-commitedrevisionという名前でSVNのリビジョン番号を突っ込んでいます。
リビジョン番号は、${example.committedRevision}という名前で引っ張り出していますが、ポイントは、pom.xmlの47行目のところで、指定したprefix+(プロパティ名)でアクセスするというところ。
上のpom.xmlだと、prefixには${project.artifactId}を指定しているので、artifactIDのexampleになります。
なので、${example.committedRevision}でリビジョン番号を取得しています。
ローカルにチェックアウトしているリビジョン番号を取得するプロパティは、committedRevisionでアクセスできます。
パラメータの詳しいことは、ドキュメントを参照のこと。

できたJarファイルのマニフェストはこんな感じです。
Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: hoge
Build-Jdk: 1.8.0_05
svn-commitedrevision: 3


nice!(1)  コメント(0)  トラックバック(0) 

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。