Пользовательский архетип Maven или альтернативы генерации проекта

Мы хотели бы генерировать проекты на основе архетипа Maven, но находим это несколько упрощенным. Мы хотели бы сделать следующее:

  1. Имейте простую отправную точку. Не задавайте слишком много вопросов.
  2. Разрешить обновление проекта позже (или во время исходной генерации) с дополнительными функциями.
  3. Разрешить добавление/удаление/обновление функций проекта.
  4. Обновление файлов pom.xml, spring xml, возможно, других файлов XML и файлов свойств.
  5. генерация заглушенных веб-сервисов из контрактов, включая модульные тесты.
  6. создание проектов Eclipse/Intellij было бы неплохо.
  7. Было бы неплохо создать некоторое достаточно сложное создание таких вещей, как заполнение пространств имен/классов в Spring Interceptors. Особенно, если он может генерировать указанные значения.

Архетипы Maven, по-видимому, не поддерживают ничего, кроме выбора во время первоначального создания и добавления файлов позже. Я не вижу поддержки для изменения существующих файлов? Мы можем генерировать заглушенные веб-сервисы с помощью обычной сборки maven, но, похоже, не можем запускать произвольные плагины maven во время архетипа: генерировать?

Если кто-то знает ответы на любой из вышеперечисленных вопросов, мы хотели бы это услышать. Кроме того, если у кого-то есть альтернативы для набора функций, которые мы ищем, мы хотели бы знать о них.


person Shannon Kohl    schedule 30.09.2011    source источник


Ответы (1)


Мы сделали что-то подобное для нашего проекта.

Мы определили специальный плагин, который сам будет вызывать плагин Archetype:generate.

Таким образом, мы можем положиться на возможности Archetype:generate (автоматический анализ и замена части сгенерированных классов...).

Вы можете посмотреть этот проект на нашем SVN здесь: http://websvn.ow2.org/listing.php?repname=weblab&path=%2Ftrunk%2FWebLabTools%2FMavenPlugins%2F&#.

Примечание. Если код был написан стажером, будьте добры ;-)

person YMomb    schedule 07.10.2011