2017-02-22 85 views
0

我有兩個Eclipse插件Xtext(2.11)項目(稱爲Project A和B)Project B語法文件依賴於Project A語法文件。當Xtext語法擴展其他Xtext語法時出現錯誤

我所面臨的問題,在從搖籃生成罐(應用插件)當我從文件擴展B的語法甲

項目B:語法文件:當我用下面的行:

grammar B with A 

它給我以下錯誤,whilge生成gradle這個構建目標:

815 [主要] ERROR mf.mwe2.launch.runtime.Mwe2Launcher - 運行的工作流程乙問題:問題解析的源代碼g'file:/ C:/Users/cpra/workspaceDSLNew1__final/B.parent/B/../ B/src/com/apama/studio/query/ext/B.xtext': XtextLinkingDiagnostic:null:2 無法解析對語法'A'的引用。

我按照下面的步驟:

  1. 創建的Xtext項目A,編輯語法和生成的工件。

  2. 創建的Xtext項目B

  3. 新增項目A在MANIFEST.MF依賴項目B的

  4. 爲延伸的另一語法文件編輯語法文件。

面對上述錯誤,請讓我知道如果我錯過了什麼?

我可以看到與此相關的 https://github.com/plugbee/dslforge/issues/19一個錯誤,這是有效的Xtext 2.11 LSP生成也?

+0

你如何更新到eclipse/gradle/maven(無論你使用的)依賴關係是什麼樣子的? –

+0

你能分享一個完整的hello世界項目嗎 –

+0

我已經在https://github.com/chetanladdha/sample/添加了我的源代碼 –

回答

1

有不同的事情TODO

確保MyDslA.xtext實際上是包裝 https://github.com/eclipse/xtext-core/issues/284 a.parent/gradle產出/源layout.gradle

sourceSets.all { 
    //resources.exclude '**/*.g', '**/*.xtext', '**/*.mwe2', '**/*.xtend', '**/*._trace' 
    // remove xtext from the exclusion 
    resources.exclude '**/*.g', '**/*.mwe2', '**/*.xtend', '**/*._trace' 
} 

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

repositories { 
    jcenter() 
    maven { 
     url 'https://oss.sonatype.org/content/repositories/snapshots' 
    } 
    // this line is new 
    mavenLocal() 
} 

從B加DEP到 b.parent/B /的build.gradle

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 /組織/ XTEXT /示例除去standalonesetup擲骰子/看MyDSL/GenerateMyDslB.mwe2