Maven と NPanday を使用する C# .NET Web サービス プロジェクトに取り組んでいます。リリース プラグインも使用したいのですが、マイナーなバージョン管理の問題が見つかりました。
NPanday はAssemblyInfo.cs
、ビルド時に POM ファイルのバージョン番号でファイルを (便利に) 更新しますが、その変更を SVN にコミットしません (また、必ずしもそうしたいとは思いません)。
リリース プラグインはそのことを認識していませんAssemblyInfo.cs
(また、私が期待することもありません)。しかし、これは、私の AssemblyInfo.cs と POM のバージョンが、リリース操作中に同期されなくなることを意味します。
たとえば、mvn release:branch
トランクから 2.0.x ブランチを作成するとします。POM とAssemblyInfo.cs
おそらく両方とも、分岐前のトランクで 2.0.0-SNAPSHOT にあったため、分岐は期待どおりに見えます。しかし、更新されたトランクでは、POM バージョンが更新されています (例: 2.1.0-SNAPSHOT) が、AssemblyInfo.cs はまだ 2.0.0-SNAPSHOT のままです。
mvn compile
トランクの次のものが更新され、AssemblyInfo.cs
誰かがそれをコミットするため、これは大きな問題ではありません。しかしrelease:prepare
、ブランチから作成されたタグの POM には正しいバージョン (2.0.0 など) が含まれているため、さらに悪化しますが、AssemblyInfo.cs
それでも -SNAPSHOT と表示されます。release:perform が実行されると、NPanday はAssemblyInfo.cs
ファイルを更新しますが、そのタグからのフローティング変更があります。
リリースプラグインでこれを修正する方法を知っている人はいますか? 確かに、手動で正しいブランチ/タグを作成したり、カスタム ツールをコーディングしたりできました。または、「AssemblyInfo.cs ファイルは決定的なバージョン ソースではなく、POM です」と言ってそのままにしておくこともできます。しかし、私は両方の長所を好む.