首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当Xtext语法扩展其他Xtext语法时发生错误

当Xtext语法扩展其他Xtext语法时发生错误
EN

Stack Overflow用户
提问于 2017-02-22 11:24:17
回答 1查看 277关注 0票数 0

我有两个Eclipse插件Xtext(2.11)项目(称为项目A和B)项目B语法文件依赖于项目A语法文件。

当我从文件A扩展B的语法时,我遇到了从Gradle生成jar (应用程序插件)的问题

项目B:语法文件:当我使用以下行时:

代码语言:javascript
复制
grammar B with A

在生成gradle构建目标时,它给出了下面的错误:

815主要错误mf.mwe2.launch.runtime.Mwe2Launcher -运行工作流B的问题:问题解析 XtextLinkingDiagnostic: null:2 无法解决对语法'A‘的引用。

我遵循以下步骤:

  1. 创建Xtext项目A,编辑语法和生成工件。
  2. 创建Xtext项目B
  3. 在项目B的MANIFEST.MF中添加了项目A的依赖项。
  4. 编辑的语法文件,用于扩展另一个语法文件。

面对上面的错误,如果我错过了什么,请告诉我。

我可以看到一个与这个https://github.com/plugbee/dslforge/issues/19相关的bug,这对XText2.11LSP生成也有效吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-22 13:28:25

有不同的事情要做

确保MyDslA.xtext实际上是打包的https://github.com/eclipse/xtext-core/issues/284 a.parent/gradle/源-layout.gradle

代码语言:javascript
复制
sourceSets.all {
    //resources.exclude '**/*.g', '**/*.xtext', '**/*.mwe2', '**/*.xtend', '**/*._trace'
    // remove xtext from the exclusion
    resources.exclude '**/*.g', '**/*.mwe2', '**/*.xtend', '**/*._trace'
}

将mavenLocal添加到b.parent/build.gradle

代码语言:javascript
复制
repositories {
    jcenter()
    maven {
        url 'https://oss.sonatype.org/content/repositories/snapshots'
    }
    // this line is new
    mavenLocal()
}

将从b到b/b/build.gradle的dep添加到b。

代码语言:javascript
复制
dependencies {
    compile "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}"
    compile "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
    // this line is new
    compile "a:a:1.0.0-SNAPSHOT"
}

从b.parent/b/src/org/xtext/example/mydsl/GenerateMyDslB.mwe2中删除标准设置垃圾

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42389922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档