我正在寻找一种可能性来参数化多模块构建,以便我可以替换/指定在构建期间使用的一些文件(例如 UML 文件)以产生不同的输出。构建过程保持不变,但我希望能够根据输入的 UML 模型产生不同的输出。
我有一个基于 UML 模型构建多个 jar 的多模块项目。pom 结构如下所示:
+ generation
- mod1
- mod2
- mod3
根 pom(生成)基于存储在目录 /uml 中的 UML 模型生成 java 源代码 (.java)。之后模块 (mod1...3) 编译此源代码的不同子集并将输出打包为 jar。
我想重用这个构建过程并将其应用于不同的 UML 模型。如何在其他maven项目中重用multimodule项目中定义的整个生成、编译和打包过程?
# 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 模型,然后激活相关的。但那样我会失去可追溯性。
也许一个全新的方法会是一个更好的主意......有什么建议吗?