web-dev-qa-db-ja.com

Mavenを使用してSubversionからリビジョン番号を取得する方法

Webappのメインページにリビジョン番号を付けたいのですが、mavenを使用してどうすればよいですか?

追伸その2つの部分の質問、リビジョン番号を取得する方法、およびプロジェクト内の選択したファイルにそれを書き込む方法。

34
IAdapter

Mavenビルド番号プラグインは、その方法です。それを使用する方法の例はここにあります:

http://www.mojohaus.org/buildnumber-maven-plugin/usage.html

これをmaven jarプラグインと一緒に使用して、SVNコミット番号をマニフェストに出力します。

これは、SVNコミット番号を含むファイルを使用するよりも優れたソリューションです。これは、実際に必要な数より多くの可動部分を追加するためです。

26
James Kingsbery

Subversionを使用している場合は、このプラグインを使用して、SVNリビジョン番号をmavenプロパティとして使用できます。

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

これをjarプラグインと組み合わせて、jarおよびwarのMANIFEST.MFファイルにSVNリビジョンを追加します。

7
Jeff Caddel

あなたがsvnコマンドラインアプリケーションを持っているならば、あなたは次のコードを使うことができます-私たちはそれを私たちのプロジェクトで使用します(少し変更されました)

<build>
  <plugins>
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <phase>generate-resources</phase>
          <goals>
            <goal>run</goal>
          </goals>
          <configuration>
            <tasks>
              <mkdir dir="${project.build.directory}/generated-web-resources/svn"/>
              <exec dir="${basedir}" executable="svn"
                  failifexecutionfails="false"
                  output="${project.build.directory}/generated-web-resources/svn/svnver.jsp">
                <arg line="info"/>
              </exec>
            </tasks>
          </configuration>
        </execution>
      </executions>
    </plugin>
    <plugin>
      <artifactId>maven-war-plugin</artifactId>
      <configuration>
        <webResources>
          <resource>
            <directory>${project.build.directory}/generated-web-resources/svn</directory>
          </resource>
        </webResources>
        <warSourceExcludes>**/_svn/**</warSourceExcludes>
      </configuration>
    </plugin>
  </plugins>
</build>
4

どのプラットフォームを使用しているかは言わないでください。Mavenに慣れていないことを許してください。私はそれが外部プログラムを呼び出すことができると思います、そしてあなたはそれをどのようにさせるかを知っています。

Unixプラットフォームの場合は、program svnversionコマンドを使用し、その出力(指定された作業パスのバージョン番号)をファイルにパイプして、必要に応じてWebページに組み込むことができます。

svnversion --help

何ができるかを詳しく示しています。

WindowsでTortoiseSVNクライアントを使用している場合、SubWCRevと呼ばれる優れたWindowsコマンドラインプログラムがバンドルされています。このユーティリティは、使用しているsvnリポジトリのさまざまな詳細を提供するテキストファイルのマクロを展開します。出力の形式を制御できます。すべて非常に便利です。このためのヘルプファイルは次のとおりです。 http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html

1
willw