Load external metamodel for LSP using gradle [message #1784468] |
Wed, 28 March 2018 06:09  |
Eclipse User |
|
|
|
Hello, everyone.
This is my first post here.
I have a registered metamodel project located in a workspace root folder.
I am trying to generate an LSP with Xtext 2.13.
I have selected the following configuration :
1. Xtext Project from Existing ecore models.
2. I then select the root element of the metamodel.
3. Preffered build system: Gradle
4. Build Language Server: Regular
5. Source layout: Plain.
In the parent folder of my lsp I have included the model project like this:
include 'projectName'
project(':projectName').projectDir = new File('../projectName')
I have also added compile project(':projectA') to the project containing my mw2 file.
The metamodel project has been converted to a gradle project by right clicking on it and then configure gradle project.
I also added a build.gradle which looks like this
dependencies {
compile group: 'org.eclipse.emf', name: 'org.eclipse.emf.ecore', version: '2.10.1'
compile group: 'org.eclipse.emf', name: 'org.eclipse.emf.common', version: '2.10.1'
}
I am able to build an LSP server. Nevertheless, when I connect it to VsCode I get parseError and when I run the tests for my LSP i also get
org.eclipse.xtext.parser.ParseException: java.lang.IllegalStateException: Unresolved proxy (url here) . Make sure the EPackage has been registered.
at org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(AbstractAntlrParser.java:105)
at org.eclipse.xtext.parser.antlr.AbstractAntlrParser.parse(AbstractAntlrParser.java:84)
at org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(AbstractAntlrParser.java:62)
at org.eclipse.xtext.parser.AbstractParser.parse(AbstractParser.java:33)
at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:176)
at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:100)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518)
at org.eclipse.xtext.testing.util.ResourceHelper.resource(ResourceHelper.java:56)
at org.eclipse.xtext.testing.util.ParseHelper.parse(ParseHelper.java:41)
at org.eclipse.xtext.testing.util.ParseHelper.parse(ParseHelper.java:51)
at org.eclipse.xtext.testing.util.ParseHelper.parse(ParseHelper.java:47)
at org.xtext.example.mydsl.tests.AcidParsingTest.loadModel(AcidParsingTest.java:33)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.eclipse.xtext.testing.XtextRunner$1.evaluate(XtextRunner.java:49)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
Caused by: org.eclipse.emf.common.util.WrappedException: java.lang.IllegalStateException: Unresolved proxy (url here). Make sure the EPackage has been registered.
at org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.parse(AbstractInternalAntlrParser.java:579)
at org.eclipse.xtext.parser.antlr.AbstractAntlrParser.doParse(AbstractAntlrParser.java:102)
... 35 more
Caused by: java.lang.IllegalStateException: Unresolved proxy (URL HERE). Make sure the EPackage has been registered.
at org.eclipse.xtext.parser.DefaultEcoreElementFactory.create(DefaultEcoreElementFactory.java:58)
at org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.forceCreateModelElement(AbstractInternalAntlrParser.java:684)
at org.xtext.example.mydsl.parser.antlr.internal.InternalAcidParser.ruleVersion(InternalAcidParser.java:1015)
at org.xtext.example.mydsl.parser.antlr.internal.InternalAcidParser.ruleWorld(InternalAcidParser.java:165)
at org.xtext.example.mydsl.parser.antlr.internal.InternalAcidParser.entryRuleWorld(InternalAcidParser.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser.parse(AbstractInternalAntlrParser.java:556)
... 36 more
My question is HOW DO I PROPERLY include a metamodel in my project using Gradle, because right now I have the feeling that it is not working correctly.
Thank you for reading this long post.
|
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.52432 seconds