549213: Update Xtext version to 2.19.0

Change-Id: I1c4eef857ecbca60ecb4660667bac45c81811e45
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=549213
Signed-off-by: Lorenzo Bettini <lorenzo.bettini@gmail.com>
diff --git a/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup b/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
index 40c72a2..42858a3 100644
--- a/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
+++ b/devtools/org.eclipse.emf.parsley.oomph/EMFParsley.setup
@@ -579,6 +579,21 @@
           <repository
               url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
         </repositoryList>
+        <repositoryList
+            name="2019-09">
+          <repository
+              url="http://download.eclipse.org/releases/2019-09/"/>
+          <repository
+              url="http://download.eclipse.org/cbi/updates/license"/>
+          <repository
+              url="http://download.itemis.com/updates/releases/2.1.1/"/>
+          <repository
+              url="${xtext.site}"/>
+          <repository
+              url="${mwe2.site}"/>
+          <repository
+              url="https://dl.bintray.com/lorenzobettini/xtext-xdoc/updates/"/>
+        </repositoryList>
       </targlet>
     </setupTask>
     <setupTask
@@ -755,8 +770,8 @@
       <setupTask
           xsi:type="setup:VariableTask"
           name="eclipse.target.platform"
-          value="2019-06"
-          defaultValue="2019-06"
+          value="2019-09"
+          defaultValue="2019-09"
           storageURI="scope://Workspace"/>
       <setupTask
           xsi:type="setup.p2:P2Task"
@@ -764,7 +779,7 @@
           licenseConfirmationDisabled="true">
         <requirement
             name="org.eclipse.xtext.sdk.feature.group"
-            versionRange="[2.18.0,2.19.0)"/>
+            versionRange="[2.19.0,2.20.0)"/>
         <requirement
             name="de.itemis.xtext.antlr.feature.feature.group"/>
         <repository
@@ -778,11 +793,11 @@
       <setupTask
           xsi:type="setup:VariableTask"
           name="mwe2.site"
-          value="http://download.eclipse.org/staging/2019-06/"/>
+          value="http://download.eclipse.org/staging/2019-09/"/>
       <setupTask
           xsi:type="setup:VariableTask"
           name="xtext.site"
-          value="http://download.eclipse.org/staging/2019-06/"/>
+          value="http://download.eclipse.org/staging/2019-09/"/>
       <description>Branch for the next Simrel</description>
     </stream>
     <description>EMF Parsley version for RCP</description>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging-rap.target b/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging-rap.target
new file mode 100644
index 0000000..8af332c
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging-rap.target
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?><target name="2019-09-staging-rap" sequenceNumber="1">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="slicer" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.rap.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rap.sdk.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rap.examples.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.rap.equinox.target.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.xtext.xbase.lib.feature.group" version="0.0.0"/>
+<unit id="com.google.guava" version="21.0.0.v20170206-1425"/>
+<unit id="javax.inject" version="0.0.0"/>
+<unit id="org.apache.log4j" version="0.0.0"/>
+<unit id="com.google.inject" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.rap.edit.ui.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.rap.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.rap.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.databinding.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.db.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.net4j.util.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.server.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.server.db.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.databinding.edit.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.query.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.ecore.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/staging/2019-09/"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging.target b/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging.target
new file mode 100644
index 0000000..87ad360
--- /dev/null
+++ b/devtools/org.eclipse.emf.parsley.targetplatform/2019-09-staging.target
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.8"?>
+
+<target name="2019-09-staging" sequenceNumber="1">
+<locations>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="de.itemis.xtext.antlr.feature.feature.group" version="2.1.1.v201405091103"/>
+<repository location="http://download.itemis.com/updates/releases/2.1.1/"/>
+</location>
+<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
+<unit id="org.eclipse.net4j.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.cdo.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.query.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.emf.sdk.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jdt.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.platform.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.pde.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jst.server_adapters.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jst.server_adapters.ext.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jst.server_ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jst.enterprise_ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.wst.server_adapters.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.jst.web_ui.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.forms.feature.group" version="0.0.0"/>
+<unit id="org.hamcrest.library" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.ide.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.eclipse.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.swtbot.generator.feature.feature.group" version="0.0.0"/>
+<unit id="org.eclipse.xtext.sdk.feature.group" version="0.0.0"/>
+<repository location="http://download.eclipse.org/staging/2019-09/"/>
+</location>
+</locations>
+</target>
diff --git a/devtools/org.eclipse.emf.parsley.workspace/feature.xml b/devtools/org.eclipse.emf.parsley.workspace/feature.xml
index 12a5e49..fc41c64 100644
--- a/devtools/org.eclipse.emf.parsley.workspace/feature.xml
+++ b/devtools/org.eclipse.emf.parsley.workspace/feature.xml
@@ -18,7 +18,7 @@
    </license>
 
    <requires>
-      <import feature="org.eclipse.xtext.sdk" version="2.18.0" match="equivalent"/>
+      <import feature="org.eclipse.xtext.sdk" version="2.19.0" match="equivalent"/>
       <import feature="org.eclipse.swtbot.eclipse" version="2.5.0.201609021837"/>
       <import feature="org.eclipse.swtbot.ide" version="2.5.0.201609021837"/>
    </requires>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/src/org/eclipse/emf/parsley/doc/websitegen/generator/AbstractWebsite.xtend b/doc/org.eclipse.emf.parsley.doc.websitegen/src/org/eclipse/emf/parsley/doc/websitegen/generator/AbstractWebsite.xtend
index 32515cc..0c36d0f 100644
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/src/org/eclipse/emf/parsley/doc/websitegen/generator/AbstractWebsite.xtend
+++ b/doc/org.eclipse.emf.parsley.doc.websitegen/src/org/eclipse/emf/parsley/doc/websitegen/generator/AbstractWebsite.xtend
@@ -22,7 +22,7 @@
 		if (file.exists) {
 			print("overwriting ")
 		}
-		website.write(file, Charsets::UTF_8)
+		asCharSink(file, Charsets::UTF_8).write(website)
 		println("generated '"+file+"'")
 	}
 	
diff --git a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/src/org/eclipse/emf/parsley/dsl/additional/builder/builder/EmfParsleyDslPluginXmlBuilder.java b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/src/org/eclipse/emf/parsley/dsl/additional/builder/builder/EmfParsleyDslPluginXmlBuilder.java
index 8bf303f..93b3f22 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.additional.builder/src/org/eclipse/emf/parsley/dsl/additional/builder/builder/EmfParsleyDslPluginXmlBuilder.java
+++ b/dsl/org.eclipse.emf.parsley.dsl.additional.builder/src/org/eclipse/emf/parsley/dsl/additional/builder/builder/EmfParsleyDslPluginXmlBuilder.java
@@ -47,6 +47,23 @@
 		}
 	}
 
+	public static class UtilityIFileReader {
+		private IFile file;
+
+		public UtilityIFileReader(IFile file) {
+			this.file = file;
+		}
+
+		public String readFromResource() throws IOException, CoreException {
+			InputStreamReader reader = new InputStreamReader(file.getContents());
+			String string = CharStreams.toString(reader);
+			// in Windows it is crucial to close this stream, otherwise Eclipse
+			// will not always be able to delete this resource.
+			reader.close();
+			return string;
+		}
+	}
+
 	public static final String BUILDER_ID = "org.eclipse.emf.parsley.dsl.additional.builder.emfParsleyDslPluginXmlBuilder";
 
 	@Override
@@ -81,16 +98,12 @@
 	}
 
 	protected String loadFromResource(IFile file) throws CoreException {
-		return loadFromResource(new InputStreamReader(file.getContents()), file.getFullPath().toString());
+		return loadFromResource(new UtilityIFileReader(file), file.getFullPath().toString());
 	}
 
-	protected String loadFromResource(InputStreamReader reader, String information) throws CoreException {
+	protected String loadFromResource(UtilityIFileReader iFileReader, String information) throws CoreException {
 		try {
-			String string = CharStreams.toString(reader);
-			// in Windows it is crucial to close this stream, otherwise Eclipse
-			// will not always be able to delete this resource.
-			reader.close();
-			return string;
+			return iFileReader.readFromResource();
 		} catch (IOException e) {
 			throw new CoreException(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "while reading " + information, e));
 		}
diff --git a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslPluginXmlBuilderTest.xtend b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslPluginXmlBuilderTest.xtend
index d76fdb6..3a974e8 100644
--- a/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslPluginXmlBuilderTest.xtend
+++ b/dsl/org.eclipse.emf.parsley.dsl.ui.tests/src/org/eclipse/emf/parsley/dsl/ui/tests/EmfParsleyDslPluginXmlBuilderTest.xtend
@@ -12,11 +12,10 @@
 
 import com.google.inject.Inject
 import java.io.IOException
-import java.io.InputStreamReader
-import java.nio.CharBuffer
 import org.eclipse.core.resources.IProject
 import org.eclipse.core.runtime.CoreException
 import org.eclipse.emf.parsley.dsl.additional.builder.builder.EmfParsleyDslPluginXmlBuilder
+import org.eclipse.emf.parsley.dsl.additional.builder.builder.EmfParsleyDslPluginXmlBuilder.UtilityIFileReader
 import org.eclipse.emf.parsley.dsl.generator.EmfParsleyDslOutputConfigurationProvider
 import org.eclipse.emf.parsley.dsl.tests.util.ui.PluginProjectHelper
 import org.eclipse.xtext.testing.InjectWith
@@ -27,7 +26,6 @@
 import org.junit.runner.RunWith
 
 import static org.eclipse.xtext.ui.testing.util.IResourcesSetupUtil.*
-import static org.mockito.Matchers.*
 import static org.mockito.Mockito.*
 
 /**
@@ -119,10 +117,10 @@
 		/**
 		 * Accessible for tests
 		 */
-		override loadFromResource(InputStreamReader reader, String information) throws CoreException {
-			super.loadFromResource(reader, information)
-		}
 		
+		override protected loadFromResource(UtilityIFileReader iFileReader, String information) throws CoreException {
+			super.loadFromResource(iFileReader, information)
+		}
 	}
 
 	@Before
@@ -175,8 +173,8 @@
 
 	@Test(expected=CoreException) def void testExceptionWhenReading() {
 		val builder = new TestableBuilder()
-		val reader = mock(InputStreamReader)
-		when(reader.read(any(CharBuffer))).thenThrow(new IOException)
+		val reader = mock(UtilityIFileReader)
+		when(reader.readFromResource()).thenThrow(new IOException)
 		builder.loadFromResource(reader, "info")
 	}
 
diff --git a/features/org.eclipse.emf.parsley.dsl.feature/feature.xml b/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
index bcb8adf..b3cf9ff 100644
--- a/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
+++ b/features/org.eclipse.emf.parsley.dsl.feature/feature.xml
@@ -23,8 +23,8 @@
    </license>
 
    <requires>
-      <import feature="org.eclipse.xtext.xbase" version="2.18.0" match="equivalent"/>
-      <import feature="org.eclipse.xtext.ui" version="2.18.0" match="equivalent"/>
+      <import feature="org.eclipse.xtext.xbase" version="2.19.0" match="equivalent"/>
+      <import feature="org.eclipse.xtext.ui" version="2.19.0" match="equivalent"/>
    </requires>
 
    <plugin
diff --git a/releng/org.eclipse.emf.parsley.parent/pom.xml b/releng/org.eclipse.emf.parsley.parent/pom.xml
index 3e87f71..a860957 100644
--- a/releng/org.eclipse.emf.parsley.parent/pom.xml
+++ b/releng/org.eclipse.emf.parsley.parent/pom.xml
@@ -66,9 +66,9 @@
 		<findbugs-version>3.0.5</findbugs-version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 
-		<xtext-version>2.18.0</xtext-version>
+		<xtext-version>2.19.0-SNAPSHOT</xtext-version>
 		<xtextVersion>${xtext-version}</xtextVersion>
-		<mwe2Version>2.10.0</mwe2Version>
+		<mwe2Version>2.11.0</mwe2Version>
 		<emf.version>(2.8,3.0)</emf.version>
 		<guava.version>[10.0.1,)</guava.version>
 		<google-inject.version>3.0</google-inject.version>
@@ -79,7 +79,7 @@
 
 		<!-- tests and runtime args -->
 		<os-jvm-flags />
-		<memoryArgs>-Xms256M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
+		<memoryArgs>-Xms256M -Xmx4G -XX:PermSize=256M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError</memoryArgs>
 		<uiTestsArgs>${memoryArgs} ${os-jvm-flags} -Dorg.eclipse.swt.browser.DefaultType=mozilla</uiTestsArgs>
 		<pdeTestsArgs>-DbuildingWithTycho=true</pdeTestsArgs>
 		<skipDragAndDropTests>true</skipDragAndDropTests>
@@ -174,7 +174,7 @@
 		<swtbot.tests.skip>false</swtbot.tests.skip>
 		<swtbot.cdo.tests.skip>false</swtbot.cdo.tests.skip>
 
-		<target-file-name>2019-06</target-file-name>
+		<target-file-name>2019-09-staging</target-file-name>
 
 		<ant-files-path>${basedir}/../../releng/org.eclipse.emf.parsley.parent/ant</ant-files-path>
 	</properties>
@@ -299,7 +299,7 @@
 			</modules>
 			<properties>
 				<findbugs.skip>true</findbugs.skip>
-				<target-file-name>2019-06-rap</target-file-name>
+				<target-file-name>2019-06-staging-rap</target-file-name>
 			</properties>
 
 		</profile>
@@ -760,6 +760,7 @@
 							pom.xml
 							.polyglot.build.properties
 							.api_filters
+							*.hprof
 						</jgit.ignore>
 						<!-- the following should not be enabled: we must make sure
 							that's everything is committed, including possible regenerated