Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Importing a xtext file to another xtext file in the same package
Importing a xtext file to another xtext file in the same package [message #1799660] Wed, 12 December 2018 06:11 Go to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hi,
I have two xtext files in the same project. I need to import one xtext file to the other in order to use the grammar definitions declared in it. Could you please tell me the statement I should use to import the grammar file?
Regards!
Re: Importing a xtext file to another xtext file in the same package [message #1799661 is a reply to message #1799660] Wed, 12 December 2018 06:14 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Is this approach correct?

import "http://www.typefox.io/xtext/langserver/example/OfflineExpression" as OfflineExpression
Re: Importing a xtext file to another xtext file in the same package [message #1799662 is a reply to message #1799661] Wed, 12 December 2018 06:19 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
what do you mean by import the grammar file.

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1799663 is a reply to message #1799662] Wed, 12 December 2018 06:27 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
in the workflow:

module org.xtext.example.mydsl.GenerateMyDsl

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {

component = XtextGenerator {
configuration = {
project = StandardProjectConfig {
baseName = "org.xtext.example.mydsl"
rootPath = rootPath
runtimeTest = {
enabled = true
}
eclipsePlugin = {
enabled = true
}
eclipsePluginTest = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "UTF-8"
lineDelimiter = "\n"
fileHeader = "/*\n * generated by Xtext \${version}\n */"
}
}
language = StandardLanguage {
name = "org.xtext.example.mydsl.MyDsl"
fileExtensions = "mydsl"

serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
generateDeprecationValidation = true
}
junitSupport = {
junitVersion = "5"
}
}

language = StandardLanguage {
referencedResource="platform:/resource/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext"
name = "org.xtext.example.mydsl.MyDsl2"
fileExtensions = "mydsl2"

serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
generateDeprecationValidation = true
}
junitSupport = {
junitVersion = "5"
}
}
}
}

maybe that is what you are looking for


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1799664 is a reply to message #1799663] Wed, 12 December 2018 06:28 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
besides that import "xxxx" is for the metamodel (you might have to generate once to get rid of error in editor)
and with statement is for parent grammar


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1799665 is a reply to message #1799662] Wed, 12 December 2018 06:31 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Is it possible to import one grammar file to the other and use the grammar definitions declared in the first file, in the second file?
For instance,
if there is a grammar definition in file1.xtext as,

KEYWORD_for:
'for'
;

Can I use it in file2.xtext as,

Element:
'start' name=ID KEYWORD_for name2=ID ';'
;


Re: Importing a xtext file to another xtext file in the same package [message #1799666 is a reply to message #1799665] Wed, 12 December 2018 06:33 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
no. you can only inherit from one parent grammar

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1799727 is a reply to message #1799666] Thu, 13 December 2018 03:47 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hi Christian,

I though it was possible to extend one grammar file with another?

Re: Importing a xtext file to another xtext file in the same package [message #1799731 is a reply to message #1799727] Thu, 13 December 2018 06:34 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
Yes you can extend one with another by changing the with clause.
But you cannot Import a grammar


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1799909 is a reply to message #1799731] Mon, 17 December 2018 10:52 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hello Christian,

I found out this https://www.eclipse.org/forums/index.php/t/317660 where it is mentioned about importing one xtext file to another, as well as using 'with' keyword. I'm confused. What do these two do and how can I use them practically? Could you kindly explain a simple example?

Regards!

[Updated on: Mon, 17 December 2018 10:52]

Report message to a moderator

Re: Importing a xtext file to another xtext file in the same package [message #1799913 is a reply to message #1799909] Mon, 17 December 2018 11:50 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
you can introduce a base grammar and use it in another grammar as parent grammar (only one chain of inheritance)

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800014 is a reply to message #1799913] Wed, 19 December 2018 03:59 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hi,
I generated a Xtext file using the mwe2 workflow, and tried implementing inheritance: -

MyDsl.xtext:
grammar org.xtext.example.mydsl.MyDsl with org.xtext.example.mydsl.MyDsl2

generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"

Model:
	greetings+=Greeting*;
	
Greeting:
	'Hello' name=ID '!' type=MyDsl2::List;


MyDsl2.Xtext: -
grammar org.xtext.example.mydsl.MyDsl2 with org.eclipse.xtext.common.Terminals

generate myDsl2 "http://www.xtext.org/example/mydsl/MyDsl2"

MainModel:
	seasons+=Season*;
	
Season:
	"This_is" alt=List;

List:
	alt=('Spring' | 'Summer' | 'Autumn' | 'Winter')
;


When I try to generate Xtext Artifacts in Mydsl.xtext, I get the following error in the console: -
0    [main] INFO  text.xtext.generator.XtextGenerator  - Initializing Xtext generator
8    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'org.eclipse.xtext.common.types.TypesPackage'
207  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl/'
208  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.tests at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.tests/'
208  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ide at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ide/'
208  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ui/'
209  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui.tests at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ui.tests/'
215  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
419  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/Xtext/Xbase/XAnnotations' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
424  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xtype' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
440  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xbase' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
440  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/common/JavaVMTypes' from 'platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel'
1035 [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
1216 [main] INFO  text.xtext.generator.XtextGenerator  - Generating org.xtext.example.mydsl.MyDsl
1985 [main] ERROR nerator.ecore.EMFGeneratorFragment2  - Failed to execute EMF generator
java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl2'.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2.findEPackagesInGenPackages(EMFGeneratorFragment2.java:648)
	at org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2.generate(EMFGeneratorFragment2.java:430)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
3111 [main] INFO  text.xtext.generator.XtextGenerator  - Generating org.xtext.example.mydsl.MyDsl2
3581 [main] INFO  nerator.ecore.EMFGeneratorFragment2  - Generating EMF model code
3617 [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.xtext.org/example/mydsl/MyDsl2' from 'platform:/resource/org.xtext.example.mydsl/model/generated/MyDsl2.genmodel'
5103 [main] INFO  text.xtext.generator.XtextGenerator  - Generating common infrastructure
5122 [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems running workflow org.xtext.example.mydsl.GenerateMyDsl: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

java.lang.RuntimeException: Problems running workflow org.xtext.example.mydsl.GenerateMyDsl: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.RuntimeException: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.handleIssues(Mwe2Bridge.java:56)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:48)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	... 4 more


In addition, I do not have a 'Generate Xtext Artifacts' execution option for my MyDsl2.xtext file.

I will also post my mwe2 file below for your reference: -
module org.xtext.example.mydsl.GenerateMyDsl

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {
	
	component = XtextGenerator {
		configuration = {
			project = StandardProjectConfig {
				baseName = "org.xtext.example.mydsl"
				rootPath = rootPath
				runtimeTest = {
					enabled = true
				}
				eclipsePlugin = {
					enabled = true
				}
				eclipsePluginTest = {
					enabled = true
				}
				createEclipseMetaData = true
			}
			code = {
				encoding = "windows-1252"
				lineDelimiter = "\r\n"
				fileHeader = "/*\n * generated by Xtext \${version}\n */"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.mydsl.MyDsl"
			fileExtensions = "dsl"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.mydsl.MyDsl2"
			fileExtensions = "dsl"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
	}
}


Could you please tell me how I should overcome this problem?

Thank you!

[Updated on: Wed, 19 December 2018 04:14]

Report message to a moderator

Re: Importing a xtext file to another xtext file in the same package [message #1800017 is a reply to message #1800014] Wed, 19 December 2018 05:48 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
Du you use the referencedResource thing I proposed above?

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800019 is a reply to message #1800017] Wed, 19 December 2018 06:12 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
I had missed it. I added it now. But still get the below error when trying to build xtext artifacts: -
0    [main] INFO  text.xtext.generator.XtextGenerator  - Initializing Xtext generator
8    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'org.eclipse.xtext.common.types.TypesPackage'
194  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl/'
194  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.tests at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.tests/'
195  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ide at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ide/'
195  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ui/'
195  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui.tests at 'file:/D:/XtextConversion_DONOTDELETE/InheritanceTest/org.xtext.example.mydsl.ui.tests/'
201  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
403  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/Xtext/Xbase/XAnnotations' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
408  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xtype' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
421  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xbase' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
421  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/common/JavaVMTypes' from 'platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel'
1004 [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
1180 [main] INFO  text.xtext.generator.XtextGenerator  - Generating org.xtext.example.mydsl.MyDsl
1979 [main] ERROR nerator.ecore.EMFGeneratorFragment2  - Failed to execute EMF generator
java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl2'.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2.findEPackagesInGenPackages(EMFGeneratorFragment2.java:648)
	at org.eclipse.xtext.xtext.generator.ecore.EMFGeneratorFragment2.generate(EMFGeneratorFragment2.java:430)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
3038 [main] INFO  text.xtext.generator.XtextGenerator  - Generating org.xtext.example.mydsl.MyDsl2
3580 [main] INFO  nerator.ecore.EMFGeneratorFragment2  - Generating EMF model code
3617 [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.xtext.org/example/mydsl/MyDsl2' from 'platform:/resource/org.xtext.example.mydsl/model/generated/MyDsl2.genmodel'
5065 [main] INFO  text.xtext.generator.XtextGenerator  - Generating common infrastructure
5083 [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems running workflow org.xtext.example.mydsl.GenerateMyDsl: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

java.lang.RuntimeException: Problems running workflow org.xtext.example.mydsl.GenerateMyDsl: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: java.lang.RuntimeException: 
[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:303)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:177)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess$JavaTypeAwareStringConcatenation.getStringRepresentation(JavaFileAccess.java:63)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:310)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtend2.lib.StringConcatenation$IndentedTarget.append(StringConcatenation.java:738)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$6.appendTo(SerializerFragment2.java:598)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:308)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:226)
	at org.eclipse.xtend2.lib.StringConcatenation$SimpleTarget.append(StringConcatenation.java:690)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2$5.appendTo(SerializerFragment2.java:478)
	at org.eclipse.xtend2.lib.StringConcatenation.append(StringConcatenation.java:176)
	at org.eclipse.xtext.xtext.generator.model.JavaFileAccess.setContent(JavaFileAccess.java:169)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generateAbstractSemanticSequencer(SerializerFragment2.java:515)
	at org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2.generate(SerializerFragment2.java:213)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

[ERROR]: GeneratorException: (Element: -UNKNOWN-; Reported by: XtextGenerator)
	 java.lang.RuntimeException: Could not find a GenModel for EPackage 'http://www.xtext.org/example/mydsl/MyDsl' from http://www.xtext.org/example/mydsl/MyDsl.
If the missing GenModel has been generated via EMFGeneratorFragment2, make sure to run it first in the workflow.
If you have a *.genmodel-file, make sure to register it via StandaloneSetup.registerGenModelFile(String).

	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenModelResource(GenModelUtil2.java:180)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenPackage(GenModelUtil2.java:109)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClassifier(GenModelUtil2.java:43)
	at org.eclipse.xtext.xtext.generator.util.GenModelUtil2.getGenClass(GenModelUtil2.java:38)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.getQualifiedName(TypeReference.java:286)
	at org.eclipse.xtext.xtext.generator.model.TypeReference.<init>(TypeReference.java:169)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generateExampleRuntimeTest(JUnitFragment.java:200)
	at org.eclipse.xtext.xtext.generator.junit.JUnitFragment.generate(JUnitFragment.java:146)
	at org.eclipse.xtext.xtext.generator.CompositeGeneratorFragment2.generate(CompositeGeneratorFragment2.java:50)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.invokeInternal(XtextGenerator.java:230)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:126)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:34)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)

	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.handleIssues(Mwe2Bridge.java:56)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.invoke(Mwe2Bridge.java:48)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.invoke(AbstractWorkflowComponent.java:201)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.invoke(AbstractCompositeWorkflowComponent.java:35)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	... 4 more




This must be related with MyDsl.xtext file having the below part: -
grammar org.xtext.example.mydsl.MyDsl with org.xtext.example.mydsl.MyDsl2


When I changed it to:
grammar org.xtext.example.mydsl.MyDsl2 with org.eclipse.xtext.common.Terminals

It runs fine. But How do I reuse rules of MyDsl2 in MyDsl if I do not have the 'with' clause for MyDsl2?

[Updated on: Wed, 19 December 2018 06:31]

Report message to a moderator

Re: Importing a xtext file to another xtext file in the same package [message #1800021 is a reply to message #1800019] Wed, 19 December 2018 07:13 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
please share you complete project

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800024 is a reply to message #1800021] Wed, 19 December 2018 07:47 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Here is the github link to my complete project : https://github.com/SharkJ/XtextInheritanceTest
Re: Importing a xtext file to another xtext file in the same package [message #1800027 is a reply to message #1800024] Wed, 19 December 2018 08:16 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
the langs in the workflow are in the wrong order.
parent dsls have to come first


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800031 is a reply to message #1800027] Wed, 19 December 2018 08:35 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
You are right! I changed the first standard language declaration in the mwe2 workflow to MyDsl2 and the next to MyDsl. I'll paste the workflow for anybody who'd get the same problem: -

module org.xtext.example.mydsl.GenerateMyDsl

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {
	
	component = XtextGenerator {
		configuration = {
			project = StandardProjectConfig {
				baseName = "org.xtext.example.mydsl"
				rootPath = rootPath
				runtimeTest = {
					enabled = true
				}
				eclipsePlugin = {
					enabled = true
				}
				eclipsePluginTest = {
					enabled = true
				}
				createEclipseMetaData = true
			}
			code = {
				encoding = "windows-1252"
				lineDelimiter = "\r\n"
				fileHeader = "/*\n * generated by Xtext \${version}\n */"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.mydsl.MyDsl2"
			referencedResource="platform:/resource/org.xtext.example.mydsl/src/org/xtext/example/mydsl/MyDsl.xtext"
			fileExtensions = "dsl2"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.mydsl.MyDsl"
			fileExtensions = "dsl"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
	}
}



MyDsl inherits from MyDsl2. It is possible to add inheritance to MyDsl2 as e.g:MyDsl3 by adding it before MyDsl2 in the workflow.

Thank You Christian for helping!

[Updated on: Wed, 19 December 2018 09:08]

Report message to a moderator

Re: Importing a xtext file to another xtext file in the same package [message #1800032 is a reply to message #1800031] Wed, 19 December 2018 08:59 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
yes you should be able to do that with n dsls

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800043 is a reply to message #1800032] Wed, 19 December 2018 10:27 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hello again,

I have implemented this method to much complex grammar from which I get a different error when running the mwe2 workflow. I will list down the mwe2 workflow file and the beginnings of the two grammar files that I have and the error that I'm getting at the end.

mwe2 workflow: -

module org.xtext.example.projection.GenerateProjection

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."

Workflow {
	
	component = XtextGenerator {
		configuration = {
			project = StandardProjectConfig {
				baseName = "org.xtext.projection"
				rootPath = rootPath
				runtimeTest = {
					enabled = true
				}
				eclipsePlugin = {
					enabled = true
				}
				eclipsePluginTest = {
					enabled = true
				}
				createEclipseMetaData = true
			}
			code = {
				encoding = "windows-1252"
				lineDelimiter = "\r\n"
				fileHeader = "/*\n * generated by Xtext \${version}\n */"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.projection.Projection"
			referencedResource="platform:/resource/org.xtext.example.mydsl/src/org/xtext/example/projection/ProjectionMainParser.xtext"
			fileExtensions = "projection"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
		language = StandardLanguage {
			name = "org.xtext.example.projection.ProjectionMainParser"
			fileExtensions = "projection"

			serializer = {
				generateStub = false
			}
			validator = {
				// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
				// Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage
				generateDeprecationValidation = true
			}
			junitSupport = {
				junitVersion = "5"
			}
		}
	}
}


Projection.xtext (contains around 600 lines of code): -

grammar org.xtext.example.projection.Projection with org.eclipse.xtext.common.Terminals 

generate projection "http://www.xtext.org/example/projection/Projection"

Domainmodel:
	elements+=projection_name elements+=projection_component elements+=layer_specification
	elements+=description (elements+=MainElement)*
;

MainElement:
	capability | category | service_group |
	include_fragment | override | overtake  | referencedResource="platform:/resource/org.xtext.example.mydsl/src/org/xtext/example/projection/Projection.xtext"|
	singleton_set_definition | entity_set_definition | datasource_definition | summary_definition | 
	( abstract_def )? query_definition=query_definition | 
	( abstract_def )? virtual_definition=virtual_definition | enumeration_definition | 
	complextype_definition | function_definition | action_definition | user_filter_definition )* 
;
.
.
.


ProjectionMainParser.xtext (around 700 lines of code): -

grammar org.xtext.example.projection.ProjectionMainParser with org.xtext.example.projection.Projection //org.eclipse.xtext.common.Terminals

generate projectionMainParser "http://www.xtext.org/example/projection/ProjectionMainParser"

dynamic_projection_item
   : 'dynamic' dynamic_projection_item_dynamic_name=ID '(' ')' ';'
   ;


entity_set_definition
   : ( dynamic_component_dependency=dynamic_component_dependency )* 'entityset' entity_set_definition_entity_set_name=ID 'for' entity_set_definition_reference_object_name=ID ( '{' alt=( where_definition | offline_filter_definition | filtering_context_list_definition )+ '}' | ';' )
   ;

singleton_set_definition
   : ( dynamic_component_dependency=dynamic_component_dependency )* 'singleton' singleton_set_definition_singleton_name=ID ( 'for' singleton_set_definition_reference_object_name=ID '{' alt=where_definition '}' | '{' alt=( from_definition | where_definition | keys_definition | dataitem_definition | computeditem_definition | action_definition | function_definition | array_definition | aggregate_definition )* '}' )
   ;
.
.
.



The error I'm getting when trying to build the mwe2 workflow: -

0    [main] INFO  text.xtext.generator.XtextGenerator  - Initializing Xtext generator
7    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'org.eclipse.xtext.common.types.TypesPackage'
200  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.projection at 'file:/D:/XtextConversion_DONOTDELETE/Tests/TestProjectionInheritance/org.xtext.projection/'
201  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.projection.tests at 'file:/D:/XtextConversion_DONOTDELETE/Tests/TestProjectionInheritance/org.xtext.projection.tests/'
201  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.projection.ide at 'file:/D:/XtextConversion_DONOTDELETE/Tests/TestProjectionInheritance/org.xtext.projection.ide/'
201  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.projection.ui at 'file:/D:/XtextConversion_DONOTDELETE/Tests/TestProjectionInheritance/org.xtext.projection.ui/'
202  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.projection.ui.tests at 'file:/D:/XtextConversion_DONOTDELETE/Tests/TestProjectionInheritance/org.xtext.projection.ui.tests/'
208  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
364  [main] ERROR mf.mwe2.launch.runtime.Mwe2Launcher  - Problems running workflow org.xtext.example.projection.GenerateProjection: java.io.IOException: The path '/org.xtext.example.mydsl/src/org/xtext/example/projection/ProjectionMainParser.xtext' is unmapped
java.lang.RuntimeException: Problems running workflow org.xtext.example.projection.GenerateProjection: java.io.IOException: The path '/org.xtext.example.mydsl/src/org/xtext/example/projection/ProjectionMainParser.xtext' is unmapped
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:104)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:62)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:78)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:36)
Caused by: org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: java.io.IOException: The path '/org.xtext.example.mydsl/src/org/xtext/example/projection/ProjectionMainParser.xtext' is unmapped
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
	at org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265)
	at org.eclipse.xtext.xtext.generator.XtextGeneratorResourceSetInitializer.loadResource(XtextGeneratorResourceSetInitializer.java:51)
	at org.eclipse.xtext.xtext.generator.XtextGeneratorResourceSetInitializer.lambda$initialize$0(XtextGeneratorResourceSetInitializer.java:41)
	at java.util.ArrayList.forEach(Unknown Source)
	at org.eclipse.xtext.xtext.generator.XtextGeneratorResourceSetInitializer.initialize(XtextGeneratorResourceSetInitializer.java:43)
	at org.eclipse.xtext.xtext.generator.XtextGeneratorLanguage.initialize(XtextGeneratorLanguage.java:218)
	at org.eclipse.xtext.xtext.generator.StandardLanguage.initialize(StandardLanguage.java:189)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.initialize(XtextGenerator.java:185)
	at org.eclipse.xtext.xtext.generator.XtextGenerator.checkConfigurationInternal(XtextGenerator.java:139)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent2.checkConfiguration(AbstractWorkflowComponent2.java:21)
	at org.eclipse.emf.mwe.core.lib.Mwe2Bridge.preInvoke(Mwe2Bridge.java:65)
	at org.eclipse.emf.mwe.core.lib.AbstractWorkflowComponent.preInvoke(AbstractWorkflowComponent.java:197)
	at org.eclipse.emf.mwe2.runtime.workflow.AbstractCompositeWorkflowComponent.preInvoke(AbstractCompositeWorkflowComponent.java:29)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:18)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:102)
	... 4 more
Caused by: java.io.IOException: The path '/org.xtext.example.mydsl/src/org/xtext/example/projection/ProjectionMainParser.xtext' is unmapped
	at org.eclipse.emf.ecore.resource.impl.PlatformResourceURIHandlerImpl.createInputStream(PlatformResourceURIHandlerImpl.java:535)
	at org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.createInputStream(ExtensibleURIConverterImpl.java:360)
	at org.eclipse.xtext.resource.XtextResourceSet$1.createInputStream(XtextResourceSet.java:298)
	at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1314)
	at org.eclipse.xtext.resource.persistence.StorageAwareResource.load(StorageAwareResource.java:79)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoad(ResourceSetImpl.java:259)
	at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
	... 19 more


Would you kindly be able to help?

Thank You!

[Updated on: Wed, 19 December 2018 10:29]

Report message to a moderator

Re: Importing a xtext file to another xtext file in the same package [message #1800046 is a reply to message #1800043] Wed, 19 December 2018 10:28 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
can you provide a sample on github/gitlab

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800048 is a reply to message #1800046] Wed, 19 December 2018 10:50 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Here is a sample from my project https://github.com/SharkJ/sample.git
Re: Importing a xtext file to another xtext file in the same package [message #1800058 is a reply to message #1800048] Wed, 19 December 2018 11:54 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
if your project name is example.projection you should use that
referencedResource="platform:/resource/org.xtext.example.projection/src/org/xtext/example/projection/ProjectionMainParser.xtext"
here
if you have ambiguities you have to fix them


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800214 is a reply to message #1800058] Fri, 21 December 2018 12:29 Go to previous messageGo to next message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
I have everything done now, There are no visible errors. But when I generate the xtext artifacts, my console does not go any further than below: -

0    [main] INFO  text.xtext.generator.XtextGenerator  - Initializing Xtext generator
7    [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Adding generated EPackage 'org.eclipse.xtext.common.types.TypesPackage'
244  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl at 'file:/D:/XtextConversion_DONOTDELETE/ProjectionMainParser/org.xtext.example.mydsl/'
244  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.tests at 'file:/D:/XtextConversion_DONOTDELETE/ProjectionMainParser/org.xtext.example.mydsl.tests/'
244  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ide at 'file:/D:/XtextConversion_DONOTDELETE/ProjectionMainParser/org.xtext.example.mydsl.ide/'
245  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui at 'file:/D:/XtextConversion_DONOTDELETE/ProjectionMainParser/org.xtext.example.mydsl.ui/'
245  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Registering project org.xtext.example.mydsl.ui.tests at 'file:/D:/XtextConversion_DONOTDELETE/ProjectionMainParser/org.xtext.example.mydsl.ui.tests/'
251  [main] INFO  lipse.emf.mwe.utils.StandaloneSetup  - Using resourceSet registry. The registered Packages will not be registered in the global EPackage.Registry.INSTANCE!
448  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/Xtext/Xbase/XAnnotations' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
452  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xtype' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
463  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/xbase/Xbase' from 'platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel'
463  [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.eclipse.org/xtext/common/JavaVMTypes' from 'platform:/resource/org.eclipse.xtext.common.types/model/JavaVMTypes.genmodel'
2349 [main] INFO  text.xtext.generator.XtextGenerator  - Generating org.xtext.example.mydsl.MyDsl
10213 [main] INFO  nerator.ecore.EMFGeneratorFragment2  - Generating EMF model code
10286 [main] INFO  clipse.emf.mwe.utils.GenModelHelper  - Registered GenModel 'http://www.xtext.org/example/mydsl/MyDsl' from 'platform:/resource/org.xtext.example.mydsl/model/generated/MyDsl.genmodel'


i.e, I do not get 'Done' at the end.
However, I know that the below part of the Projection.xtext file (in the sample I have given before) is the reason for this. This problem did not occur before implementing the below part of code: -

offline_expression
   : offline_or_expression=offline_or_expression
   ;

offline_or_expression
   : offline_and_expression=offline_and_expression ( 'or' offline_and_expression2=offline_and_expression )*
   ;

offline_and_expression
   : offline_equals_expression=offline_equals_expression ( 'and' offline_equals_expression2=offline_equals_expression )*
   ;

offline_equals_expression
   : offline_not_equals_expression=offline_not_equals_expression ( '=' offline_not_equals_expression2=offline_not_equals_expression )*
   ;

offline_not_equals_expression
   : offline_greater_expression=offline_greater_expression ( '!=' offline_greater_expression2=offline_greater_expression )*
   ;

offline_greater_expression
   : offline_less_than_equals_expression=offline_less_than_equals_expression ( '>' offline_less_than_equals_expression2=offline_less_than_equals_expression )*
   ;

offline_less_than_equals_expression
   : offline_greater_equals_expression=offline_greater_equals_expression ( '<=' offline_greater_equals_expression2=offline_greater_equals_expression )*
   ;

offline_greater_equals_expression
   : offline_less_than_expression=offline_less_than_expression ( '>=' offline_less_than_expression2=offline_less_than_expression )*
   ;

offline_less_than_expression
   : offline_subtraction_expression=offline_subtraction_expression ( '<' offline_subtraction_expression2=offline_subtraction_expression )*
   ;

offline_subtraction_expression
   : offline_addition_expression=offline_addition_expression ( '-' offline_addition_expression2=offline_addition_expression )*
   ;

offline_addition_expression
   : offline_multiplication_expression=offline_multiplication_expression ( '+' offline_multiplication_expression2=offline_multiplication_expression )*
   ;

offline_multiplication_expression
   : offline_division_expression=offline_division_expression ( '*' offline_division_expression2=offline_division_expression )*
   ;

offline_division_expression
   : offline_mod_expression=offline_mod_expression ( '/' offline_mod_expression2=offline_mod_expression)*
   ;

offline_mod_expression
   : offline_in_expression=offline_in_expression ( '%' offline_in_expression2=offline_in_expression )*
   ;

offline_in_expression
   : ( offline_not_expression=offline_not_expression ( 'in' offline_not_expression2=offline_not_expression )* )
   ;

offline_not_expression
   : ( '!' )? offline_boolean_expression=offline_boolean_expression
   ;

offline_boolean_expression
   : ( offline_method_call_expression=offline_method_call_expression | alt=( 'true' | 'false' ) )
   ;

offline_method_call_expression
   : ( offline_expression_atom=offline_expression_atom | ( offline_method_call_expression_referenced_name=offline_method_call_expression_referenced_name ( '(' ')' | '(' offline_expression=offline_expression ( ',' offline_expression2=offline_expression )* ')' )* ) )
   ;

offline_method_call_expression_referenced_name
   : {offline_method_call_expression_referenced_name} ( 'record' '.' )? ( identifier=identifier | CAMELCASE_IDENTIFIER ) ( '.' ( identifier2=identifier | CAMELCASE_IDENTIFIER ) )*
   ;

offline_expression_atom
   : ( '(' offline_expression=offline_expression ( ',' offline_expression2=offline_expression )* ')' | {offline_expression_atom} ( '-' )? INT | {offline_expression_atom} ( '-' )? DECIMAL | {offline_expression_atom} STRING | offline_expression_atom_reference_name=offline_expression_atom_reference_name | {offline_expression_atom} 'null' )
   ;

offline_expression_atom_reference_name
   : {offline_expression_atom_reference_name} ( 'record' '.' )? ( identifier=identifier | CAMELCASE_IDENTIFIER ) ( '.' ( identifier2=identifier | CAMELCASE_IDENTIFIER ) )*
   ;
   
terminal CAMELCASE_IDENTIFIER
   : ('a'..'z') ('A'..'Z'|'a'..'z'|'0'..'9'|'_'|'$'|'#')*
   ;

terminal DECIMAL
   : ( ('0'..'9')+ '.' ('0'..'9')+ )
   ;

identifier
   : Name=(ID
   | 'All'
   | 'Alpha'
   | 'Batch'
   | 'Binary'
   | 'Boolean'
   | 'ClientCache'
   | 'Create'
   | 'Custom'
   | 'Date'
   | 'Delete'
   | 'ETag'
   | 'Entity'
   | 'EntityState'
   | 'Enumeration'
   | 'Equal'
   | 'ExternalB2B'
   | 'False'
   | 'Fri'
   | 'GUID'
   | 'Greater'
   | 'GreaterOrEqual'
   | 'GroupedPush'
   | 'Identity'
   | 'Incoming'
   | 'Integer'
   | 'Integration'
   | 'Like'
   | 'List'
   | 'LongText'
   | 'Lookup'
   | 'Lower'
   | 'LowerOrEqual'
   | 'Mobility'
   | 'Mon'
   | 'None'
   | 'Null'
   | 'Number'
   | 'Offline'
   | 'Online'
   | 'OnlineOnly'
   | 'Push'
   | 'Read'
   | 'Reporting'
   | 'Sat'
   | 'Standard'
   | 'StateChange'
   | 'Stream'
   | 'Structure'
   | 'Sun'
   | 'Text'
   | 'Thu'
   | 'Time'
   | 'Timestamp'
   | 'True'
   | 'Tue'
   | 'Update'
   | 'Users'
   | 'Wed')
   ;


P.S. The 'identifier' rule without the other parts, did not cause any problem.

Would you kindly be able to help?

Thank You!
Re: Importing a xtext file to another xtext file in the same package [message #1800217 is a reply to message #1800214] Fri, 21 December 2018 13:09 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
Does it crash or hang

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800219 is a reply to message #1800217] Fri, 21 December 2018 13:34 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
am getting As a result, alternative(s) 2 were disabled for that input
error(201): ../org.xtext.example.mydsl/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1106:2: The following alternatives can never be matched: 2
which should give you an hint


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800220 is a reply to message #1800219] Fri, 21 December 2018 13:44 Go to previous messageGo to next message
Christian Dietrich is currently online Christian DietrichFriend
Messages: 14673
Registered: July 2009
Senior Member
here is a minified grammar showing the same problem

offline_expression:
offline_or_expression=offline_method_call_expression;

offline_method_call_expression:
(offline_expression_atom=offline_expression_atom |
(offline_method_call_expression_referenced_name=offline_method_call_expression_referenced_name ('(' ')' | '('
offline_expression=offline_expression (',' offline_expression2=offline_expression)* ')')*));

offline_method_call_expression_referenced_name:
{offline_method_call_expression_referenced_name} ('record' '.')? (identifier=ID) ('.'
identifier2=ID)*;

offline_expression_atom:
(offline_expression_atom_reference_name=offline_expression_atom_reference_name
|
{offline_expression_atom} 'null');

offline_expression_atom_reference_name:
{offline_expression_atom_reference_name} ('record' '.')? (identifier=ID) ('.'
identifier2=ID)*;

you can add

parseGenerator{debugGrammar=true} to the workflow and have a look at the grammar with antlrworks


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: Importing a xtext file to another xtext file in the same package [message #1800301 is a reply to message #1800220] Mon, 24 December 2018 03:47 Go to previous message
P J is currently offline P JFriend
Messages: 64
Registered: October 2018
Member
Hi Christian,
Thank you! I added to the parserGenerator as you suggested. I also added to the same this part :-
 options = {
		backtrack = true
}


Once backtracking is turned on, the code generates without any prior errors. My language works very well now. Is this a recommended measure to take?
Previous Topic:Build Problems with Xtend Maven Plugin (signer information)
Next Topic:[Formatter2] unable to align list line start offsets
Goto Forum:
  


Current Time: Tue Apr 30 16:21:43 GMT 2024

Powered by FUDForum. Page generated in 0.05797 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top