2011-07-15 8 views
1

私は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 compileAssemblyInfo.csを更新し、誰かがそれをコミットするので、これは大きな問題ではありません。しかし、release:prepareでは、ブランチから作成されたタグのバージョンがPOM(2.0.0など)で正しくなっていますが、AssemblyInfo.csにはまだ-SNAPSHOTと表示されています。 release:performが実行されると、NPandayはAssemblyInfo.csファイルを更新しますが、そのタグからの浮動修正があります。

これをリリースプラグインで修正する方法を知っている人はいますか?私は確かに正しいブランチ/タグを手動で作成するか、カスタムツールをコード化することができました。あるいは、「AssemblyInfo.csファイルが最終バージョンのソースではなく、POMである」と言ってそのまま残すこともできます。しかし、私は両方の世界のベストを好むだろう。

+0

良い質問をビルドは、元のファイルをいじることはありませんが、むしろちょうどに/ターゲット物事を更新 -

は実際にNPandayは、Mavenのルールを「壊す」されます!ちゃんと覚えておきますよ!私は現在、Maven Release + NPandayのショーケースを構築しています。私がそこで問題を解決するとすぐに、私は答えを返します。 ここにショーケースを見つける:https://github.com/lcorneliussen/NpShowcase –

答えて

0

私はNPandayはあなたのためのAssemblyInfo.csを生成させるだろう - そして、あなたはそれでバージョンとの事でチェック避ける...

Visual Studioは、アセンブリに関する情報なしで正常に動作します...バージョンは0.0.0.0です、そして:-) - 私はそうしています。 ...