I'm currently looking into Xtext to create both a reusable DSL and an artifact which is built upon the DSL. The simplified project layout is as follows:
- projectA: Contains Xtext-based DSL, feature-project, updatesite, etc.
- projectB: Uses the artifacts from projectA to generate code.
- projectC: Uses the generated code from projectB
Building projectA using Maven and Xtext is not a problem (and there are several examples on the net already), but I don't get how to use the DSL from projectA inside projectB and release the generated code for consumption in projectC. Tutorials, documentation and every example I could find, are using the generated Eclipse plugin from projectA to generate code in projectB. Although this works fine, I'm wondering how to reuse the generated code.
Is it possible to use just the code generator from projectA with Maven or something similar? How am I supposed to use the DSL in a continuous integration server? Do I have run Eclipse headless for that?
It seems to me, that I'm missing something obvious. So any pointers, hints, examples are welcome!