問題タブ [maven-scm]
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.
maven - Maven 自動インクリメント リリース バージョン
X.Y.Z
ビルド プロセス中にバージョンを自動インクリメントするためのイニシアチブに取り組んでいます。この場合、SNAPSHOT
(リリース済みバージョンにするために) サフィックスを削除するのではなく、バージョンのマイナー部分を増やします。
X.Y.Z-SNAPSHOT
=>X.Y.Z+1-SNAPSHOT
- ない
X.Y.Z-SNAPSHOT
=>X.Y.Z
SNAPSHOT
maven リリース プラグインはサフィックスを切り離してリリース バージョンにすることしかできないため、使用できません。そのため、バージョンをインクリメントするロジックを持つカスタム スクリプトを作成することになりました。
ここでの私の質問は、次の手順をどのように実装するのが最善かということです:
pom.xml
from perforce をチェックしてください。- カスタム スクリプトを実行して、バージョンをインクリメントします。
pom.xml
デプロイが成功した場合は、変更をコミットします。
autoversion
上記のニーズを部分的に満たすMaven プロファイルを作成しました。Maven は、最初にリソースの生成フェーズの一部としてバージョンをインクリメントします。ただし、プロジェクトの古いバージョンをデプロイすることになります。
要件を達成するための指針は高く評価されています。
maven-scm - コマンド ラインで RTC ワークアイテム番号を渡すためのオプション パラメータが見つかりません
以下のようなエラーコード:
[エラー] 「配信」に失敗しました。前提条件が満たされていません: ワークアイテムは変更セットに関連付けられている必要があります。org.apache.maven.lifecycle.LifecycleExecutionException: プロジェクト junit-ext で目標 org.apache.maven.plugins:maven-release-plugin:2.5:prepare (default-cli) を実行できませんでした: ファイルをコミットできません プロバイダー メッセージ: エラーJazz SCM 配信コマンドのコード - 17
次のコマンドで試しました
mvn --batch-mode -B -Dresume=false release:prepare -X
作業項目なしで強制的に配信する方法はありますか?
git - git プロジェクトの名前に空のスペースがあるファイルで TC が失敗する
TC のビルド中に、次のような問題が発生しました。
つまり、何かが空白を含むファイル パスを文字 1、つまり %20 に変更していることを意味します。
ローカルでmavenで同じことをしようとすると、次のようになります。
いくつかのランダムな開発環境でも同じように、TCエージェント環境でもうまく機能します。
別のポイント:私は scm:add such file を試しましたが、そうすることは禁じられているので、それだけだと思いますが、mvn prepare はうまく機能し、データをコミットしてプッシュバックしました。
しかし、チームシティのビルドは何度も失敗しています。TC のチェックアウト後にエージェントのパスをチェックアウトしましたが、%20 は含まれていませんでしたが、代わりにスペースが含まれていました。だからチェックアウトはそのような問題なく実行されます。
私は git でいくつかの実験を試みましたが、そのようなファイルを適切に実行し、問題は見られません。
それは何であり、それを解決する方法は? scmに問題があるのでしょうか?
PS にはアクセス権がないため、TC の内部構成は Web インターフェイス経由でしか確認できません。
git - リリースプラグインを使用してmavenで置き換えられたプロパティをコミットする方法
変更をコミットしようとすると問題が発生します。これは maven で発生します。それらはターゲット フォルダにあるため、どうすればよいのでしょうか?
リソースのフィルタリングによる置き換え。私たちが持っているプロパティで
それは私たちの財産であり、そのようなマーカーはいくつかのファイルで発生します-それらを変更した後、それをgitにコミットする必要があります
また、maven リリース プラグインを介してリリース全体を行っているため、最終的なコマンドは次のようになります。
このリリース プラグインは scm を使用しています。
include および excludes プロパティを scm プラグインに追加しても役に立ちませんでした。
これらの変更後にバックコミットを行う方法は? または、ファイルを変更してそれらの変更をコミットするにはどうすればよいですか? maven replacer プラグインは役に立ちますか?
java - artifactId が追加されないようにする方法接続URI?
<SCM>
親ポンで接続タグを定義しようとしています。ただし、私が使用しているプロバイダー (Jazz) のために、artifactId が子アーティファクトに追加されることを望んでいません。
接続 URI の末尾に / を追加すると、artifactId が追加されなくなることを示す古いスレッドへの参照を見つけましたが、そうではありません。
たとえば、次が親 pom にある場合:
私の子供の有効なポンは、接続が次のように示されています。
child-module-name
接続文字列に追加されないようにしたいと思います。親の接続文字列に末尾の / を追加すると、子の artifactId が追加されなくなるという古いスレッドを読みましたが、そうではないようです。
Maven 3.2.3 を使用しています。
これを達成する方法はありますか?