2011-07-15 3 views
1

Я работаю над проектом веб-сервисов C# .NET, который использует Maven с NPanday. Мы также хотим использовать плагин release, но я нашел незначительную проблему с версией.Версии с плагинами выпуска NPanday и Maven

NPanday (удобно) обновит файл AssemblyInfo.cs с номером версии из файла POM при выполнении сборки, но он не зафиксирует это изменение в SVN (и я бы не захотел его).

Плагин выпуска не знает о AssemblyInfo.cs (и я не ожидал его). Но это означает, что мои версии AssemblyInfo.cs и POM не синхронизируются во время операций релиза.

Например, я делаю mvn release:branch, чтобы создать ветку 2.0.x с багажника. POM и AssemblyInfo.cs были, вероятно, оба в 2.0.0-SNAPSHOT в стволе до разветвления, поэтому ветвь выглядит так, как я ожидал. Но в обновленном багажнике версия ПОМ была обновлена ​​(например, 2.1.0-SNAPSHOT), но AssemblyInfo.cs все еще находится на 2.0.0-SNAPSHOT.

Это не огромная проблема, потому что следующий mvn compile на багажнике обновит AssemblyInfo.cs, и кто-то его совершит. Но это хуже с release:prepare, потому что тег, созданный из ветки, имеет правильную версию в POM (например, 2.0.0), но AssemblyInfo.cs все еще говорит -SNAPSHOT. Когда релиз: выполнить выполняется, NPanday обновит файл AssemblyInfo.cs, но после этого есть плавающая модификация от этого тега.

Кто-нибудь знает, как исправить это с помощью плагина выпуска? Я мог бы, конечно, создать правильные ветки/теги вручную или создать собственный инструмент. Или я могу просто оставить это как есть, сказав, что «файл AssemblyInfo.cs не является окончательным исходным кодом версии, POM». Но я предпочел бы лучшее из обоих миров.

+0

Хороший вопрос! Я буду помнить об этом! В настоящее время я создаю витрину для Maven Release + NPanday. Как только я разрешу проблему, я вернусь с ответом. Найдите здесь витрину: https://github.com/lcorneliussen/NpShowcase –

ответ

0

я позволил NPanday генерировать AssemblyInfo.cs для вас - то вы не проверять в вещах с версиями в нем ...

Visual Studio будет работать нормально без сборки Infos ... версия 0.0.0.0 , тогда :-) - Я делаю так.

На самом деле NPanday это «нарушение» правил Maven - это сборка никогда не должны возиться с исходными файлами, а просто обновить вещи/цели ...

Смежные вопросы