Я ищу возможность параметризовать многомодульную сборку таким образом, чтобы я мог заменить/указать некоторые файлы (например, файлы UML), которые используются во время сборки, для получения другого вывода. Процедура сборки остается прежней, но я хочу иметь возможность создавать разные выходные данные в зависимости от входной модели UML.
У меня есть многомодульный проект, который создает несколько банок на основе модели UML. Структура помпона выглядит следующим образом:
+ generation
- mod1
- mod2
- mod3
Корневой pom (генерация) генерирует исходный код Java (.java) на основе модели UML, хранящейся в каталоге /uml. После этого модули (mod1...3) компилируют отдельные подмножества этого исходного кода и упаковывают вывод в виде jar.
Я хочу повторно использовать эту процедуру сборки и применить ее к различным моделям UML. Как я могу повторно использовать всю процедуру генерации, компиляции и упаковки, определенную в многомодульном проекте, в других проектах maven?
# Generate jars based upon the foo UML model
+ generation-foo
/uml/foo.uml
# Generate jars based upon the bar UML model
+ generation-bar
/uml/bar.uml
Обновить
Я мог бы использовать профили в проекте генерации, чтобы определить различные входные модели uml, а затем просто активировать соответствующую модель. Но таким образом я потерял бы прослеживаемость.
Возможно, совершенно новый подход был бы лучшей идеей... есть предложения?