Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 363929

Summary: Mwe2 workflow fails to run when grammar does not have a namespace; gives no explanation
Product: [Modeling] TMF Reporter: Seref Arikan <serefarikan>
Component: XtextAssignee: Bernhard Stadler <Bernhard.Stadler>
Status: RESOLVED FIXED QA Contact:
Severity: minor    
Priority: P3 CC: Bernhard.Stadler, btickets, jan.labrie, karsten.thoms, moritz.eysholdt, tmf.xtext-inbox
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 7   
See Also: https://github.com/eclipse/xtext-eclipse/pull/46
Whiteboard:

Description Seref Arikan CLA 2011-11-16 10:49:59 EST
Build Identifier:  M20110210-1200

When an Xtext project is created based on an existing Ecore model, the wizard allows giving names to project and to language that is going to be created. If one chooses a name like SomeLang, without any namespace, the resulting project fails to run as mwe2 workflow. Under Windows 7 64 with Java 1.6 and Eclipse Helios, the console output is as follows: 

2614 [main] INFO ipse.xtext.generator.LanguageConfig - generating infrastructure for Archelang with fragments : ImplicitRuntimeFragment, ImplicitUiFragment, GrammarAccessFragment, ParseTreeConstructorFragment, ResourceFactoryFragment, XtextAntlrGeneratorFragment, Ecore2XtextValueConverterServiceFragment, JavaValidatorFragment, ImportURIScopingFragment, SimpleNamesFragment, FormatterFragment, LabelProviderFragment, OutlineTreeProviderFragment, QuickOutlineFragment, JavaBasedContentAssistFragment, XtextAntlrUiGeneratorFragment, CompareFragment, BuilderIntegrationFragment, QuickfixProviderFragment
23915 [main] INFO or.validation.JavaValidatorFragment - generating Java-based EValidator API
33923 [main] INFO text.generator.junit.Junit4Fragment - generating Compare Framework infrastructure
33981 [main] ERROR g.eclipse.xtext.generator.Generator - java.lang.NullPointerException
org.eclipse.emf.common.util.WrappedException: java.lang.NullPointerException
at org.eclipse.xtext.generator.Generator.mergeManifest(Generator.java:408)
at org.eclipse.xtext.generator.Generator.generateManifestRt(Generator.java:375)
at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:134)
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:97)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:73)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:64)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:55)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
Caused by: java.lang.NullPointerException
at org.eclipse.xtext.generator.MergeableManifest.mergeIntoCommaSeparatedList(MergeableManifest.java:306)
at org.eclipse.xtext.generator.MergeableManifest.addExportedPackages(MergeableManifest.java:257)
at org.eclipse.xtext.generator.Generator.mergeManifest(Generator.java:396)
... 13 more
33982 [main] INFO .emf.mwe2.runtime.workflow.Workflow - Done.

There is no warning that this is related to namespace not being present. The same behavior happens in Indigo too.

Reproducible: Always

Steps to Reproduce:
1.Create an ECore project (I've done via an existing XML Schema)
2.Generate code for Ecore project
3. Create an Xtext project using the ecore project
4. Give the name SomeLang or any other Single word name to the language in the nex Xtext project wizard
5. Run the generated project via Run as Mwe2 workflow.
Comment 1 Bernhard Stadler CLA 2016-08-08 04:02:45 EDT
On current master, it is still possible to create a project with a single-segment language name, but the generated grammar contains the error message "You must use a namespace."

So this issue would be fixed by requiring a namespace in the wizard.
Comment 2 Bernhard Stadler CLA 2016-08-08 04:51:52 EDT
https://github.com/eclipse/xtext-eclipse/pull/46
Comment 3 Eclipse Genie CLA 2016-08-08 10:28:58 EDT
GitHub Pull Request 46 created by [stadlerb]
https://github.com/eclipse/xtext-eclipse/pull/46
Comment 5 Christian Dietrich CLA 2016-08-17 06:28:31 EDT
*** Bug 333328 has been marked as a duplicate of this bug. ***