1

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 です」と言ってそのままにしておくこともできます。しかし、私は両方の長所を好む.

4

1 に答える 1

0

私はNPandayにAssemblyInfo.csを生成させたいと思います-そうすれば、バージョンを含むものをチェックインすることを避けます...

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

実際、NPanday は Maven ルールを「破っている」 - ビルドは元のファイルをいじってはならず、/target 内のものを更新するだけでよい.

于 2012-06-28T15:29:28.153 に答える