問題タブ [buildnumber-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
370 参照

maven - Maven リリース プラグインを使用して最新の svn リビジョン番号でアーティファクト バージョンを自動的に更新したい

私の成果物のバージョンは次のようになります。

1.0.0-スナップショット

次のバージョンを使用して、maven リリース プラグインを使用してアーティファクトをリリース リポジトリにデプロイしたいと考えています: 1.0.0.1234。1234 は最新の svn リビジョン番号です。

これは可能ですか?

org.codehaus.mojo:buildnumber-maven-plugin を使用して svn リビジョン番号を取得しようとし、次のセクションを追加しました。

しかし、次のコマンドを実行すると:

代わりに、タグでバージョンが 1.0.0.${buildNumber} に設定されているようです。

0 投票する
0 に答える
570 参照

java - マニフェストへの書き込み時に Maven war マニフェスト エントリが空白になる

war のマニフェストにブランチとビルドの情報を追加しようとしていますが、キーがマニフェストに表示されますが、値は null です。buildnumber-maven-plugin から取得した値です。このプラグインを実行すると、ログに値が表示されます。また、maven-antrun-plugin タスクを追加して、war プラグインに渡す値をエコーし​​、ログにも表示します。そのため、マニフェストに書き込むときに null である理由を見つけるのに苦労しています。以下にいくつかの例を示します。

ここに私のビルド番号プラグインがあります:

このプラグインが実行されると、ログに表示されます..

次に、これらの値も出力する Ant タスクを追加しました。

そして、私が見るログで...

最後に、war プラグイン/アーカイバーを使用すると、ここで問題が発生します...ここにプラグインがあります..

そして、ブランチとシャが空白になっている結果のマニフェストを次に示します..

branchshaは両方とも空白ですが、上記のログではそれらの値が明らかに利用可能です。これらの値を一掃する何かがありますか、またはこれらの値を Maven war プラグイン内のアーカイバーにバブルアップするためにさらに必要なものがありますか?

0 投票する
1 に答える
756 参照

maven - mvn resources:resources が buildNumber を取得しないのはなぜですか?

を使用する Maven プロジェクトがありbuildnumber-maven-pluginます。実行するmvn validateと、機能していることがわかります。

しかしmvn resources:resources、フィルター処理されたファイルを実行すると、それが検出されません。

持っていpom.xmlます:

version.txtもっている:

しかし、Maven の実行後、フィルタリングは行われません。

のビルド番号構成pom.xml:

私はMavenを十分に知りません。リソースの「ゴール」を実行してもbuildNumberプロパティを取得するべきではありませんか?

0 投票する
5 に答える
2045 参照

maven - buildnumber-maven-plugin で svn の最後に変更されたリビジョン番号を取得する

現在、アプリケーション用のマイクロサービス ベースのアーキテクチャを開発しています。多くのサービスを含む Maven マルチモジュール プロジェクトがあるので、maven deploy コマンドとmaven docker pluginを使用して、それらを簡単に docker ハブにデプロイできます。

それでも、docker イメージ タグはプロジェクトのバージョン番号に基づいていますが、各リポジトリの最後に変更されたリビジョン番号でタグ付けしたいと考えています。とりあえず、 buildnumber-maven-pluginを使用して、このフィールドをマニフェスト エントリとして追加しようとしています。

それが私のマルチモジュールプロジェクトだとしましょう:

そして、module-a のモデルは次のようになります。

問題は、{buildNumber} が私の作業コピー番号に評価されることです。これは、scm:svn:http://myrepo.com/svn/application/module-a場所ではなく、リポジトリに対して行われた最後のコミットを参照するものです。もっと分かりやすく説明すると、亀のモジュール a のプロパティを表示すると、次のようになります。

ここに画像の説明を入力

私が欲しいのは、プラグインから取得しているものである 3257 (作業コピー) ではなく、module-a に加えられた最後の実際の変更を参照する 3248 を取得することです。そうすれば、docker プラグインはそれが別のイメージ タグであるかどうかを認識し、リポジトリ内のモジュールに変更が加えられた場合にのみプッシュします。

0 投票する
1 に答える
1870 参照

git - マニフェストにブランチを取得する方法

Maven プラグインを使用してbuildnumber、ブランチを jar マニフェストに保存したいと考えています。以下に示すように、2つの異なる方法で試しました。

これが私のビルドからの出力です(関連セクションのみ) [INFO] --- buildnumber-maven-plugin:1.4:create (default) @ myproject --- [INFO] ShortRevision tag detected. The value is '7'. [INFO] Executing: /bin/sh -c cd '/workspace/myproject' && 'git' 'rev-parse' '--verify' '--short=7' 'HEAD' [INFO] Working directory: /workspace/myproject [INFO] Storing buildNumber: ed5ea17 at timestamp: 1479511476753 [INFO] Storing buildScmBranch: bug/abuginthesystem

試行 1 のプラグイン セクション (プラグイン Web サイトの SCMBranch キー): <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <shortRevisionLength>7</shortRevisionLength> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifestEntries> <Build-OS>${os.name} ${os.version}</Build-OS> <Build-Java>Java ${java.version}</Build-Java> <Build-Number>${buildNumber}</Build-Number> <Build-Branch>${SCMBranch}</Build-Branch> </manifestEntries> </archive> </configuration> </plugin>

ビルドアウトを使用して 2 を試みます。 <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>buildnumber-maven-plugin</artifactId> <version>1.4</version> <executions> <execution> <phase>validate</phase> <goals> <goal>create</goal> </goals> </execution> </executions> <configuration> <doCheck>false</doCheck> <doUpdate>false</doUpdate> <shortRevisionLength>7</shortRevisionLength> </configuration> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> <configuration> <archive> <manifestEntries> <Build-OS>${os.name} ${os.version}</Build-OS> <Build-Java>Java ${java.version}</Build-Java> <Build-Number>${buildNumber}</Build-Number> <Build-Branch>${buildScmBranch}</Build-Branch> </manifestEntries> </archive> </configuration> </plugin>

両方からのマニフェスト出力は次のとおりです。 Manifest-Version: 1.0 Build-Java: Java 1.7.0_79 Build-Number: ed5ea17 Build-OS: Linux 4.4.0-47-generic Built-By: mondain Build-Jdk: 1.7.0_79 Build-Branch: Created-By: Apache Maven 3.3.9 Archiver-Version: Plexus Archiver