我目前正在研究 Xtext 以创建可重用的 DSL 和基于 DSL 构建的工件。简化的项目布局如下:
- projectA:包含基于 Xtext 的 DSL、feature-project、updatesite 等。
- projectB:使用 projectA 中的工件生成代码。
- projectC:使用从 projectB 生成的代码
使用 Maven 和 Xtext 构建 projectA 不是问题(网上已经有几个示例),但我不知道如何在 projectB 中使用来自 projectA 的 DSL 并将生成的代码发布到 projectC 中使用。教程、文档和我能找到的每个示例都使用从 projectA 生成的 Eclipse 插件在 projectB 中生成代码。虽然这很好用,但我想知道如何重用生成的代码。
是否可以仅将 projectA 中的代码生成器与 Maven 或类似的东西一起使用?我应该如何在持续集成服务器中使用 DSL?我是否为此无头运行 Eclipse?
在我看来,我错过了一些明显的东西。因此,欢迎任何指针、提示、示例!