私はNPandayでMavenを使用するC#.NET Webサービスプロジェクトに取り組んでいます。また、リリースプラグインを使用したいと思っていますが、マイナーバージョンの問題があります。NPandayとMaven Releaseプラグインでバージョン管理
NPandayは、ビルド時にAssemblyInfo.cs
ファイルをPOMファイルのバージョン番号で更新しますが、その変更をSVNにコミットしません(また、必然的にそうなりません)。
リリースプラグインでは、AssemblyInfo.cs
についてはわかりません。しかし、これは、AssemblyInfo.csとPOMのバージョンがリリース操作中に同期しなくなることを意味します。
たとえば、トランクから2.0.xブランチを作成するには、mvn release:branch
を実行します。 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である」と言ってそのまま残すこともできます。しかし、私は両方の世界のベストを好むだろう。
良い質問をビルドは、元のファイルをいじることはありませんが、むしろちょうどに/ターゲット物事を更新 -
は実際にNPandayは、Mavenのルールを「壊す」されます!ちゃんと覚えておきますよ!私は現在、Maven Release + NPandayのショーケースを構築しています。私がそこで問題を解決するとすぐに、私は答えを返します。 ここにショーケースを見つける:https://github.com/lcorneliussen/NpShowcase –