通过Gradle生成EMF模型

3

我目前在评估EMF。因此,我在Eclipse中创建了一些玩具模型并生成了相应的代码。

由于我的工作流程不包含任何与Eclipse相关的工具,因此我希望在非玩具项目中坚持基于Gradle的工作流程。是否可以并且有意义通过Gradle生成EMF模型(通过注释的Java提供)而不使用Eclipse?


绝对的......EMF核心不需要任何Eclipse依赖项......但是如果您需要任何EMF UI相关功能,那么可能需要Eclipse依赖项... - saurav
我知道生成的代码理论上可以脱离Eclipse独立运行。但是我能在Eclipse外运行代码生成器吗?你知道我如何使用Gradle为emf模型生成代码吗?谢谢! - miho
1个回答

4

Xtext可以使用gradle生成xtext语言,其中一部分是运行mwe2工作流程。 有一个mwe工作流组件可以运行ecore 2 java生成器(EcoreGenerator)

因此,您应该能够编写一个使用此组件的工作流程,并通过gradle进行生成。 不幸的是,将所有内容粘合在一起需要手动完成。

Workflow {

bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
    platformUri=".."
}

component = org.eclipse.emf.mwe.utils.DirectoryCleaner {
    directory ="src/main/java/sample"
}

component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
    generateCustomClasses = false
    genModel = "platform:/resource/org.xtext.example.mydsl3/model/sample.genmodel"
    srcPath = "platform:/resource/org.xtext.example.mydsl3/src/main/java" 
}
}

例如,您可能需要根据生成源代码的位置来调整genmodel等。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接