私は現在、再利用可能な DSL と DSL に基づいて構築されたアーティファクトの両方を作成するために Xtext を検討しています。簡略化されたプロジェクト レイアウトは次のとおりです。
- projectA: Xtext ベースの DSL、feature-project、updatesite などが含まれます。
- projectB: projectA のアーティファクトを使用してコードを生成します。
- projectC: projectB から生成されたコードを使用します。
Maven と Xtext を使用して projectA を構築することは問題ではありません (ネット上には既にいくつかの例があります) が、projectA の DSL を projectB 内で使用し、生成されたコードを projectC で使用するためにリリースする方法がわかりません。チュートリアル、ドキュメント、および私が見つけることができるすべての例は、projectA から生成された Eclipse プラグインを使用して、projectB でコードを生成しています。これは問題なく動作しますが、生成されたコードを再利用する方法が気になります。
projectA のコード ジェネレーターだけを Maven などで使用することはできますか? 継続的インテグレーション サーバーで DSL を使用するにはどうすればよいですか? そのためにEclipseヘッドレスを実行しましたか?
私には明らかな何かが欠けているように思えます。したがって、ポインタ、ヒント、例は大歓迎です!