以编程方式修改 Xtext 生成的 Mwe2 工作流

我正在以编程方式运行 Mwe2 工作流程,我需要将 Terminals.xtext 的 referencedResource 添加到 GenerateYourDsl.mwe2 文件中,以便成功运行此工作流程。提到的 GenerateYourDsl.mwe2 文件是在我创建新项目时由 Xtext 生成的 - 我没有修改它。是否有可能从这个工作流中获取对象,在 Java 中访问它并将这个属性添加到工作流组件属性的语言属性中?


这是工作流程:


Workflow {


    component = XtextGenerator {

        configuration = {

            project = StandardProjectConfig {

                baseName = "org.example.yourdsl"

                rootPath = rootPath

                eclipsePlugin = {

                    enabled = true

                }

                createEclipseMetaData = true

            }

            code = {

                encoding = "UTF-8"

                lineDelimiter = "\n"

                fileHeader = "/*\n * generated by Xtext \${version}\n */"

            }

        }

        language = StandardLanguage {

            name = "org.example.yourdsl.YourDsl"

            fileExtensions = "yourdsl"

            //following line needs to be added - in original generated workflow it is not

           referencedResource = "platform:/resource/org.eclipse.xtext/org/eclipse/xtext/common/Terminals.xtext"


            serializer = {

                generateStub = false

            }

            validator = {

                // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"

                // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage

                generateDeprecationValidation = true

            }

        }

    }

}

我正在以编程方式(使用CliProjectsCreatorand WizardConfiguration)生成项目,并且需要在生成项目时运行工作流以生成 src、src-gen 文件等。但是当我试图以编程方式(不在 Eclipse 中)和终端运行它时在我的语法中使用,我收到此错误:



qq_遁去的一_1
浏览 203回答 1
1回答

胡说叔叔

不需要明确添加终端语法。org.eclipse.xtext.resource.ClassloaderClasspathUriResolver.resolve(Object, URI)如果使用正确的类路径调用工作流,则应该在类路径中找到它。看看在选择 maven 时向导会创建什么:使用正确的类路径调用 maven exec 插件调用 Mwe2Launcher main
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java