Releng: added target definitions for Oxygen and 2018-09

We are now using the Eclipse CBI TPD infrastructure to generate
target definitions for the different Eclipse platforms. That means
that the releng.target project has been converted to an xtext
project to enable the generation of the target definition files.
For now, the target definition we use for building will remain the
hand-crafted one we used so far, but in the future, we might move
to one with dependencies to a newer Eclipse platform. Developers
can already start to adapt Eclipse Capra to newer versions, though.
While Oxygen works without issue, there are dependency issues in
the RegIF Handler and in the Zest visualisation for 2018-09..
diff --git a/org.eclipse.capra.releng.target/.project b/org.eclipse.capra.releng.target/.project
index 6133844..859b58f 100644
--- a/org.eclipse.capra.releng.target/.project
+++ b/org.eclipse.capra.releng.target/.project
@@ -5,7 +5,13 @@
 	<projects>
 	</projects>
 	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
+		<nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
 	</natures>
 </projectDescription>
diff --git a/org.eclipse.capra.releng.target/2018-09.tpd b/org.eclipse.capra.releng.target/2018-09.tpd
new file mode 100644
index 0000000..b462ffc
--- /dev/null
+++ b/org.eclipse.capra.releng.target/2018-09.tpd
@@ -0,0 +1,56 @@
+target "2018-09" with source requirements
+
+location "http://download.eclipse.org/releases/2018-09/" eclipse-2018-09 {
+	org.eclipse.cdt.sdk.feature.group
+	org.eclipse.cdt.testsrunner.feature.feature.group
+	org.eclipse.emf.compare.ide.ui.feature.group
+	org.eclipse.emf.ecore.xcore.sdk.feature.group
+	org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group
+	org.eclipse.emf.emfstore.sdk.feature.feature.group
+	org.eclipse.emf.sdk.feature.group
+	org.eclipse.gef.mvc.sdk.feature.group
+	org.eclipse.gef.zest.sdk.feature.group
+	org.eclipse.papyrus.sdk.feature.feature.group
+	org.eclipse.php.feature.group
+	org.eclipse.xtext.sdk.feature.group
+	org.eclipse.mylyn.gerrit.feature.feature.group
+	org.eclipse.mylyn.hudson.feature.group
+}
+
+location "http://download.eclipse.org/tools/gef/gef4/updates/releases" eclipse-gef4 {
+	org.eclipse.gef4.common.sdk.feature.group
+	org.eclipse.gef4.geometry.sdk.feature.group
+	org.eclipse.gef4.fx.sdk.feature.group
+	org.eclipse.gef4.mvc.sdk.feature.group
+	org.eclipse.gef4.mvc.examples.source.feature.group
+	org.eclipse.gef4.layout.sdk.feature.group
+	org.eclipse.gef4.graph.sdk.feature.group
+	org.eclipse.gef4.zest.sdk.feature.group
+	org.eclipse.gef4.zest.examples.source.feature.group
+	org.eclipse.gef4.dot.sdk.feature.group
+	org.eclipse.gef4.cloudio.sdk.feature.group
+}
+	
+	
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20180905201904/repository" eclipse-orbit-2018-09 {
+	org.apache.poi.ooxml
+	org.apache.xmlbeans
+	com.google.guava
+	org.apache.commons.collections
+	org.apache.poi.ooxml.schemas
+	org.apache.poi
+	com.fasterxml.jackson.core.jackson-core
+}
+
+location "http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/" eclipse-orbit-mars2 {
+	org.mortbay.jetty.util
+	org.mortbay.jetty.server
+}
+
+location "http://hallvard.github.io/plantuml/" plantuml {
+	net.sourceforge.plantuml.feature.feature.group
+}
+
+location "http://featureide.cs.ovgu.de/update/v3/" feature-ide {
+	de.ovgu.featureide.featuremodeling.feature.group
+}
\ No newline at end of file
diff --git a/org.eclipse.capra.releng.target/Neon.tpd b/org.eclipse.capra.releng.target/Neon.tpd
new file mode 100644
index 0000000..c85eed6
--- /dev/null
+++ b/org.eclipse.capra.releng.target/Neon.tpd
@@ -0,0 +1,56 @@
+target "Neon" with source requirements
+
+location "http://download.eclipse.org/releases/neon/" eclipse-neon {
+	org.eclipse.cdt.sdk.feature.group
+	org.eclipse.cdt.testsrunner.feature.feature.group
+	org.eclipse.emf.compare.ide.ui.feature.group
+	org.eclipse.emf.ecore.xcore.sdk.feature.group
+	org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group
+	org.eclipse.emf.emfstore.sdk.feature.feature.group
+	org.eclipse.emf.sdk.feature.group
+	org.eclipse.gef.mvc.sdk.feature.group
+	org.eclipse.gef.zest.sdk.feature.group
+	org.eclipse.papyrus.sdk.feature.feature.group
+	org.eclipse.php.feature.group
+	org.eclipse.xtext.sdk.feature.group
+	org.eclipse.mylyn.gerrit.feature.feature.group
+	org.eclipse.mylyn.hudson.feature.group
+}
+
+location "http://download.eclipse.org/tools/gef/gef4/updates/releases" eclipse-gef4 {
+	org.eclipse.gef4.common.sdk.feature.group
+	org.eclipse.gef4.geometry.sdk.feature.group
+	org.eclipse.gef4.fx.sdk.feature.group
+	org.eclipse.gef4.mvc.sdk.feature.group
+	org.eclipse.gef4.mvc.examples.source.feature.group
+	org.eclipse.gef4.layout.sdk.feature.group
+	org.eclipse.gef4.graph.sdk.feature.group
+	org.eclipse.gef4.zest.sdk.feature.group
+	org.eclipse.gef4.zest.examples.source.feature.group
+	org.eclipse.gef4.dot.sdk.feature.group
+	org.eclipse.gef4.cloudio.sdk.feature.group
+}
+	
+	
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20170307180635/repository" eclipse-orbit-neon.3 {
+	org.apache.poi.ooxml
+	org.apache.xmlbeans
+	com.google.guava
+	org.apache.commons.collections
+	org.apache.poi.ooxml.schemas
+	org.apache.poi
+	com.fasterxml.jackson.core.jackson-core
+}
+
+location "http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/" eclipse-orbit-mars2 {
+	org.mortbay.jetty.util
+	org.mortbay.jetty.server
+}
+
+location "http://hallvard.github.io/plantuml/" plantuml {
+	net.sourceforge.plantuml.feature.feature.group
+}
+
+location "http://featureide.cs.ovgu.de/update/v3/" feature-ide {
+	de.ovgu.featureide.featuremodeling.feature.group
+}
\ No newline at end of file
diff --git a/org.eclipse.capra.releng.target/Oxygen.tpd b/org.eclipse.capra.releng.target/Oxygen.tpd
new file mode 100644
index 0000000..fb6f1c2
--- /dev/null
+++ b/org.eclipse.capra.releng.target/Oxygen.tpd
@@ -0,0 +1,56 @@
+target "Oxygen" with source requirements
+
+location "http://download.eclipse.org/releases/oxygen/" eclipse-oxygen {
+	org.eclipse.cdt.sdk.feature.group
+	org.eclipse.cdt.testsrunner.feature.feature.group
+	org.eclipse.emf.compare.ide.ui.feature.group
+	org.eclipse.emf.ecore.xcore.sdk.feature.group
+	org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group
+	org.eclipse.emf.emfstore.sdk.feature.feature.group
+	org.eclipse.emf.sdk.feature.group
+	org.eclipse.gef.mvc.sdk.feature.group
+	org.eclipse.gef.zest.sdk.feature.group
+	org.eclipse.papyrus.sdk.feature.feature.group
+	org.eclipse.php.feature.group
+	org.eclipse.xtext.sdk.feature.group
+	org.eclipse.mylyn.gerrit.feature.feature.group
+	org.eclipse.mylyn.hudson.feature.group
+}
+
+location "http://download.eclipse.org/tools/gef/gef4/updates/releases" eclipse-gef4 {
+	org.eclipse.gef4.common.sdk.feature.group
+	org.eclipse.gef4.geometry.sdk.feature.group
+	org.eclipse.gef4.fx.sdk.feature.group
+	org.eclipse.gef4.mvc.sdk.feature.group
+	org.eclipse.gef4.mvc.examples.source.feature.group
+	org.eclipse.gef4.layout.sdk.feature.group
+	org.eclipse.gef4.graph.sdk.feature.group
+	org.eclipse.gef4.zest.sdk.feature.group
+	org.eclipse.gef4.zest.examples.source.feature.group
+	org.eclipse.gef4.dot.sdk.feature.group
+	org.eclipse.gef4.cloudio.sdk.feature.group
+}
+	
+	
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20180330011457/repository" eclipse-orbit-oxygen3a {
+	org.apache.poi.ooxml
+	org.apache.xmlbeans
+	com.google.guava
+	org.apache.commons.collections
+	org.apache.poi.ooxml.schemas
+	org.apache.poi
+	com.fasterxml.jackson.core.jackson-core
+}
+
+location "http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/" eclipse-orbit-mars2 {
+	org.mortbay.jetty.util
+	org.mortbay.jetty.server
+}
+
+location "http://hallvard.github.io/plantuml/" plantuml {
+	net.sourceforge.plantuml.feature.feature.group
+}
+
+location "http://featureide.cs.ovgu.de/update/v3/" feature-ide {
+	de.ovgu.featureide.featuremodeling.feature.group
+}
\ No newline at end of file
diff --git a/org.eclipse.capra.releng.target/readme.md b/org.eclipse.capra.releng.target/readme.md
new file mode 100644
index 0000000..bfca789
--- /dev/null
+++ b/org.eclipse.capra.releng.target/readme.md
@@ -0,0 +1,20 @@
+# Defining Target Platforms
+
+We are using the TPD editor for target platforms which can be found at <https://github.com/eclipse-cbi/targetplatform-dsl>. It currently only works in Eclipse versions >= 2018.09, but can generate target definitions for any Eclipse platform.
+
+It allows defining target definitions with a DSL and generating `.target` files from them automatically. During the generation, the latest versions of the selected features are selected and added to the definitions.
+
+We are following a scheme that is used by some other Eclipse projects, e.g., [EASE](https://git.eclipse.org/c/ease/org.eclipse.ease.core.git/tree/releng/org.eclipse.ease.releng.target).
+
+# Building and developing
+	
+Tycho will use the file `org.eclipse.capra.releng.target.target` for builds. This file has to be manually overridden when a new target platform has been created.
+
+When developing, any of the target platforms can be used by first generating a target definition and then setting it as the current target platform. This allows developers to check compatibility in different Eclipse versions.
+
+# Available targets
+
+ * Neon.tpd - original platform for which Capra was developed
+ * Oxygen.tpd
+ * 2018-09.tpd - latest build platform
+	
\ No newline at end of file