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

Bug 338285

Summary: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Product: [Modeling] TMF Reporter: Olaf Bigalk <bib.odo>
Component: XtextAssignee: Project Inbox <tmf.xtext-inbox>
Status: CLOSED FIXED QA Contact:
Severity: minor    
Priority: P3 CC: sven.efftinge
Version: 1.0.1Flags: sven.efftinge: indigo+
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Olaf Bigalk CLA 2011-02-25 17:02:12 EST
Build Identifier: 20100917-0705

When compiling an Xtext grammar this error occures when the Xtext grammar has no namespace. This could be prevented by marking an error in the grammar editor or inserting a default namespace.

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
	at java.lang.String.substring(Unknown Source)
	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.getXmiModelDirectory(EcoreGeneratorFragment.java:483)
	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.getEcoreFileUri(EcoreGeneratorFragment.java:277)
	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.createResourceForEPackages(EcoreGeneratorFragment.java:116)
	at org.eclipse.xtext.generator.ecore.EcoreGeneratorFragment.generate(EcoreGeneratorFragment.java:161)
	at org.eclipse.xtext.generator.CompositeGeneratorFragment.generate(CompositeGeneratorFragment.java:81)
	at org.eclipse.xtext.generator.LanguageConfig.generate(LanguageConfig.java:69)
	at org.eclipse.xtext.generator.Generator.generate(Generator.java:296)
	at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:106)
	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:31)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:80)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.run(Mwe2Launcher.java:74)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher.main(Mwe2Launcher.java:35)
9406 [main] INFO  or.validation.JavaValidatorFragment  - executing generate for org.eclipse.xtext.generator.validation.JavaValidatorFragment
12219 [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:353)
	at org.eclipse.xtext.generator.Generator.generateManifestRt(Generator.java:320)
	at org.eclipse.xtext.generator.Generator.invokeInternal(Generator.java:115)
	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:31)
	at org.eclipse.emf.mwe2.runtime.workflow.Workflow.run(Workflow.java:19)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:80)
	at org.eclipse.emf.mwe2.launch.runtime.Mwe2Runner.run(Mwe2Runner.java:52)
	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:278)
	at org.eclipse.xtext.generator.MergeableManifest.addExportedPackages(MergeableManifest.java:254)
	at org.eclipse.xtext.generator.Generator.mergeManifest(Generator.java:341)
	... 11 more


Reproducible: Always

Steps to Reproduce:
1. Define an Xtext grammar without a namespace.
2. Generate the plugins for this grammar.
3.
Comment 1 Sven Efftinge CLA 2012-11-20 13:21:34 EST
There's now a constraint requireing a namespace.
Comment 2 Eclipse Webmaster CLA 2017-10-31 10:46:59 EDT
Requested via bug 522520.

-M.
Comment 3 Eclipse Webmaster CLA 2017-10-31 10:58:12 EDT
Requested via bug 522520.

-M.