8

我们有许多使用Velocity生成项目的代码生成器。生成可能非常复杂:

  • 在调用速度之前使用反射(内省我们必须与之交互的第 3 方代理) - 将结果属性(复杂对象图)添加到速度上下文

  • 项目结构和文件可能因所选选项而异

  • 模板不仅仅是变量替换(它们使用添加到速度上下文的自定义对象,其中包含许多派生属性,包括在模板中迭代的其他对象的集合)

我很想用maven 原型替换这些,因为它们也使用 Velocity,但看起来它们似乎只能进行简单的变量替换和静态文件/文件夹结构。

  1. 有没有办法在从原型创建项目之前进行处理,将对象添加到速度上下文,并使原型模板能够访问它们?

  2. 如果是这样,要创建的文件夹和文件可以是动态的吗?(或者您是否需要为每个变体提供单独的原型?)

  3. 还是编写自定义 Mojo 更好?(本质上是用 Maven 插件包装现有的生成器)

4

0 回答 0