diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.xtend b/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.xtend
index 8f13a2138..1e243c527 100644
--- a/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.xtend
+++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.xtend
@@ -29,6 +29,7 @@ import org.junit.rules.TemporaryFolder
import static org.junit.Assert.*
import org.eclipse.xtext.xtext.wizard.LanguageServer
+import org.eclipse.xtext.util.JavaVersion
class CliWizardIntegrationTest {
@@ -70,6 +71,19 @@ class CliWizardIntegrationTest {
webProject.enabled = true
lineDelimiter = "\n"
],
+ newProjectConfig => [
+ baseName = "org.xtext.example.mavenTychoJ9"
+ preferredBuildSystem = BuildSystem.MAVEN
+ sourceLayout = SourceLayout.PLAIN
+ projectLayout = ProjectLayout.HIERARCHICAL
+ runtimeProject.testProject.enabled = true
+ uiProject.enabled = true
+ uiProject.testProject.enabled = true
+ ideProject.enabled = true
+ webProject.enabled = true
+ lineDelimiter = "\n"
+ javaVersion = JavaVersion.JAVA9
+ ],
newProjectConfig => [
baseName = "org.xtext.example.gradle"
preferredBuildSystem = BuildSystem.GRADLE
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/META-INF/MANIFEST.MF b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..e41e45008
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mavenTychoJ9.ide
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mavenTychoJ9.ide; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mavenTychoJ9,
+ org.eclipse.xtext.ide,
+ org.eclipse.xtext.xbase.ide
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+Automatic-Module-Name: org.xtext.example.mavenTychoJ9.ide
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/build.properties b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/build.properties
new file mode 100644
index 000000000..5c6bbf99f
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/pom.xml
new file mode 100644
index 000000000..1ed2155b8
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ide/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.ide
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/org.xtext.example.mavenTychoJ9.target.target b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/org.xtext.example.mavenTychoJ9.target.target
new file mode 100644
index 000000000..cfbd9f68f
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/org.xtext.example.mavenTychoJ9.target.target
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/pom.xml
new file mode 100644
index 000000000..7c4c6cfcf
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.target/pom.xml
@@ -0,0 +1,15 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.target
+ eclipse-target-definition
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/META-INF/MANIFEST.MF b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..9e0e06411
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mavenTychoJ9.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mavenTychoJ9.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mavenTychoJ9,
+ org.junit;bundle-version="4.12.0",
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+Automatic-Module-Name: org.xtext.example.mavenTychoJ9.tests
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/build.properties b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/build.properties
new file mode 100644
index 000000000..5c6bbf99f
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/pom.xml
new file mode 100644
index 000000000..020233e07
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.tests/pom.xml
@@ -0,0 +1,29 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.tests
+ eclipse-test-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+ ${tycho-version}
+
+ false
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/META-INF/MANIFEST.MF b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..7ffd2f4ae
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,15 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mavenTychoJ9.ui.tests
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mavenTychoJ9.ui.tests; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mavenTychoJ9.ui,
+ org.junit;bundle-version="4.12.0",
+ org.eclipse.xtext.testing,
+ org.eclipse.xtext.xbase.testing,
+ org.eclipse.xtext.junit4,
+ org.eclipse.xtext.xbase.junit
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+Automatic-Module-Name: org.xtext.example.mavenTychoJ9.ui.tests
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/build.properties b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/build.properties
new file mode 100644
index 000000000..5c6bbf99f
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/
+bin.excludes = **/*.xtend
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/pom.xml
new file mode 100644
index 000000000..ca5841ce3
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui.tests/pom.xml
@@ -0,0 +1,65 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.ui.tests
+ eclipse-test-plugin
+
+
+ --add-modules=ALL-SYSTEM
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ org.eclipse.tycho
+ tycho-surefire-plugin
+ ${tycho-version}
+
+ false
+ true
+
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+
+
+
+
+
+ eclipse-feature
+ org.eclipse.rcp
+ 0.0.0
+
+
+
+
+
+
+
+
+
+
+ testing-on-mac
+
+
+ mac
+
+
+
+ -XstartOnFirstThread --add-modules=ALL-SYSTEM
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/META-INF/MANIFEST.MF b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..c70ca574b
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mavenTychoJ9.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mavenTychoJ9.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.xtext.example.mavenTychoJ9,
+ org.xtext.example.mavenTychoJ9.ide,
+ org.eclipse.xtext.ui,
+ org.eclipse.xtext.ui.shared,
+ org.eclipse.xtext.ui.codetemplates.ui,
+ org.eclipse.ui.editors;bundle-version="3.5.0",
+ org.eclipse.ui.ide;bundle-version="3.5.0"
+Import-Package: org.apache.log4j
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+Automatic-Module-Name: org.xtext.example.mavenTychoJ9.ui
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/build.properties b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/build.properties
new file mode 100644
index 000000000..323f56c51
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.xtend
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/pom.xml
new file mode 100644
index 000000000..0bf6fc13b
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.ui/pom.xml
@@ -0,0 +1,21 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.ui
+ eclipse-plugin
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.web/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.web/pom.xml
new file mode 100644
index 000000000..b3dfe7753
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9.web/pom.xml
@@ -0,0 +1,129 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9.web
+ war
+
+
+ src
+
+
+ src
+
+ **/*.java
+ **/*.xtend
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+ maven-war-plugin
+ 3.2.0
+
+ WebRoot
+ false
+
+
+
+ org.eclipse.jetty
+ jetty-maven-plugin
+ 9.2.13.v20150730
+
+ WebRoot
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 1.9.1
+
+
+ add-source
+ initialize
+
+ add-source
+ add-resource
+
+
+
+ src-gen
+
+
+
+ src-gen
+
+ **/*.java
+
+
+
+
+
+
+
+
+
+
+
+
+ ${project.groupId}
+ org.xtext.example.mavenTychoJ9
+ ${project.version}
+
+
+ ${project.groupId}
+ org.xtext.example.mavenTychoJ9.ide
+ ${project.version}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase.web
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.web.servlet
+ ${xtextVersion}
+
+
+ org.eclipse.xtend
+ org.eclipse.xtend.lib
+ ${xtextVersion}
+
+
+ org.webjars
+ requirejs
+ 2.3.2
+
+
+ org.webjars
+ jquery
+ 2.2.4
+
+
+ org.webjars
+ ace
+ 1.2.3
+
+
+ org.eclipse.jetty
+ jetty-annotations
+ 9.3.8.v20160314
+ provided
+
+
+ org.slf4j
+ slf4j-simple
+ 1.7.21
+ provided
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
new file mode 100644
index 000000000..aeb5faa6b
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Generate MyDsl (mydsl) Language Infrastructure.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Launch Runtime Eclipse.launch b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Launch Runtime Eclipse.launch
new file mode 100644
index 000000000..4afaa3aa9
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/.launch/Launch Runtime Eclipse.launch
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/META-INF/MANIFEST.MF b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..a627f0624
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/META-INF/MANIFEST.MF
@@ -0,0 +1,12 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.xtext.example.mavenTychoJ9
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0.qualifier
+Bundle-SymbolicName: org.xtext.example.mavenTychoJ9; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext,
+ org.eclipse.xtext.xbase,
+ org.eclipse.equinox.common;bundle-version="3.5.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-9
+Automatic-Module-Name: org.xtext.example.mavenTychoJ9
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/build.properties b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/build.properties
new file mode 100644
index 000000000..ecf15c158
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/build.properties
@@ -0,0 +1,19 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml
+bin.excludes = **/*.mwe2,\
+ **/*.xtend
+additional.bundles = org.eclipse.xtext.xbase,\
+ org.eclipse.xtext.common.types,\
+ org.eclipse.xtext.xtext.generator,\
+ org.eclipse.emf.codegen.ecore,\
+ org.eclipse.emf.mwe.utils,\
+ org.eclipse.emf.mwe2.launch,\
+ org.eclipse.emf.mwe2.lib,\
+ org.objectweb.asm,\
+ org.apache.commons.logging,\
+ org.apache.log4j,\
+ com.ibm.icu
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/pom.xml
new file mode 100644
index 000000000..bc624b7d3
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/pom.xml
@@ -0,0 +1,155 @@
+
+ 4.0.0
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.parent
+ 1.0.0-SNAPSHOT
+
+ org.xtext.example.mavenTychoJ9
+ eclipse-plugin
+
+
+
+
+ org.codehaus.mojo
+ exec-maven-plugin
+ 1.4.0
+
+
+ mwe2Launcher
+ generate-sources
+
+ java
+
+
+
+
+ org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher
+
+ /${project.basedir}/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
+ -p
+ rootPath=/${project.basedir}/..
+
+ compile
+ true
+ false
+
+
+
+ org.eclipse.emf
+ org.eclipse.emf.mwe2.launch
+ 2.9.1.201705291010
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.common.types
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xtext.generator
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ org.eclipse.xtext.xbase
+ ${xtextVersion}
+
+
+ org.eclipse.xtext
+ xtext-antlr-generator
+ [2.1.1, 3)
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9.ide/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9.ui/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9.ui.tests/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/../org.xtext.example.mavenTychoJ9.web/src-gen/
+
+ **/*
+
+
+
+ ${basedir}/model/generated/
+
+
+
+
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+
+ org.codehaus.mojo
+
+
+ exec-maven-plugin
+
+
+ [1.2.1,)
+
+
+ java
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2 b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
new file mode 100644
index 000000000..c7acda9dc
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/GenerateMyDsl.mwe2
@@ -0,0 +1,47 @@
+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.mavenTychoJ9"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = true
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = true
+ }
+ web = {
+ 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"
+ }
+ }
+ }
+}
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/MyDsl.xtext b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/MyDsl.xtext
new file mode 100644
index 000000000..046e93021
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/org.xtext.example.mavenTychoJ9/src/org/xtext/example/mydsl/MyDsl.xtext
@@ -0,0 +1,9 @@
+grammar org.xtext.example.mydsl.MyDsl with org.eclipse.xtext.common.Terminals
+
+generate myDsl "http://www.xtext.org/example/mydsl/MyDsl"
+
+Model:
+ greetings+=Greeting*;
+
+Greeting:
+ 'Hello' name=ID '!';
diff --git a/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/pom.xml b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/pom.xml
new file mode 100644
index 000000000..891443663
--- /dev/null
+++ b/org.eclipse.xtext.tests/testdata/wizard-expectations/org.xtext.example.mavenTychoJ9/org.xtext.example.mavenTychoJ9.parent/pom.xml
@@ -0,0 +1,244 @@
+
+ 4.0.0
+ org.xtext.example.mavenTychoJ9
+ 1.0.0-SNAPSHOT
+ org.xtext.example.mavenTychoJ9.parent
+ pom
+
+
+ 1.0.0
+ unspecified
+ UTF-8
+ 9
+ 9
+
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.ide
+ org.xtext.example.mavenTychoJ9.ui
+ org.xtext.example.mavenTychoJ9.web
+ org.xtext.example.mavenTychoJ9.target
+ org.xtext.example.mavenTychoJ9.tests
+ org.xtext.example.mavenTychoJ9.ui.tests
+
+
+
+
+ org.eclipse.tycho
+ tycho-maven-plugin
+ ${tycho-version}
+ true
+
+
+ org.eclipse.tycho
+ target-platform-configuration
+ ${tycho-version}
+
+
+
+ org.xtext.example.mavenTychoJ9
+ org.xtext.example.mavenTychoJ9.target
+ ${project.version}
+
+
+
+
+ macosx
+ cocoa
+ x86_64
+
+
+ win32
+ win32
+ x86_64
+
+
+ linux
+ gtk
+ x86_64
+
+
+
+
+
+
+
+
+ org.eclipse.xtend
+ xtend-maven-plugin
+ ${xtextVersion}
+
+
+
+ compile
+ xtend-install-debug-info
+ testCompile
+ xtend-test-install-debug-info
+
+
+
+
+ ${basedir}/xtend-gen
+ ${basedir}/xtend-gen
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ 2.5
+
+
+
+ ${basedir}/xtend-gen
+
+ **/*
+
+ ${basedir}/xtend-gen
+
+ **/*
+
+
+
+
+
+
+ org.eclipse.m2e
+ lifecycle-mapping
+ 1.0.0
+
+
+
+
+
+
+ org.apache.maven.plugins
+
+
+ maven-resources-plugin
+
+
+ [2.4.3,)
+
+
+ resources
+ testResources
+
+
+
+
+
+
+
+
+
+ org.codehaus.mojo
+
+
+ build-helper-maven-plugin
+
+
+ [1.9.1,)
+
+
+ add-resource
+ add-source
+ add-test-resource
+ add-test-source
+
+
+
+
+
+
+
+
+
+ org.eclipse.tycho
+
+
+ tycho-compiler-plugin
+
+
+ [0.23.1,)
+
+
+ compile
+
+
+
+
+
+
+
+
+
+ org.eclipse.tycho
+
+
+ tycho-packaging-plugin
+
+
+ [0.23.1,)
+
+
+ build-qualifier
+ build-qualifier-aggregator
+ validate-id
+ validate-version
+
+
+
+
+
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-compiler-plugin
+ ${tycho-version}
+
+ -err:-forbidden
+ false
+
+
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+
+
+ codehaus-snapshots
+ disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478
+ http://nexus.codehaus.org/snapshots/
+
+ false
+
+
+ false
+
+
+
+
+
+
+
diff --git a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.java b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.java
index 872887688..1e92acfc9 100644
--- a/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.java
+++ b/org.eclipse.xtext.tests/xtend-gen/org/eclipse/xtext/xtext/wizard/cli/CliWizardIntegrationTest.java
@@ -22,6 +22,7 @@ import org.eclipse.xtend.lib.annotations.Data;
import org.eclipse.xtend2.lib.StringConcatenation;
import org.eclipse.xtext.tests.LineDelimiters;
import org.eclipse.xtext.util.Files;
+import org.eclipse.xtext.util.JavaVersion;
import org.eclipse.xtext.util.XtextVersion;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Conversions;
@@ -173,6 +174,24 @@ public class CliWizardIntegrationTest {
WebProjectDescriptor _webProject = it.getWebProject();
_webProject.setEnabled(true);
it.setLineDelimiter("\n");
+ })), ObjectExtensions.operator_doubleArrow(
+ CliWizardIntegrationTest.newProjectConfig(), ((Procedure1) (WizardConfiguration it) -> {
+ it.setBaseName("org.xtext.example.mavenTychoJ9");
+ it.setPreferredBuildSystem(BuildSystem.MAVEN);
+ it.setSourceLayout(SourceLayout.PLAIN);
+ it.setProjectLayout(ProjectLayout.HIERARCHICAL);
+ TestProjectDescriptor _testProject = it.getRuntimeProject().getTestProject();
+ _testProject.setEnabled(true);
+ UiProjectDescriptor _uiProject = it.getUiProject();
+ _uiProject.setEnabled(true);
+ TestProjectDescriptor _testProject_1 = it.getUiProject().getTestProject();
+ _testProject_1.setEnabled(true);
+ IdeProjectDescriptor _ideProject = it.getIdeProject();
+ _ideProject.setEnabled(true);
+ WebProjectDescriptor _webProject = it.getWebProject();
+ _webProject.setEnabled(true);
+ it.setLineDelimiter("\n");
+ it.setJavaVersion(JavaVersion.JAVA9);
})), ObjectExtensions.operator_doubleArrow(
CliWizardIntegrationTest.newProjectConfig(), ((Procedure1) (WizardConfiguration it) -> {
it.setBaseName("org.xtext.example.gradle");
diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.xtend b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.xtend
index cf1b4f431..eeb9912ab 100644
--- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.xtend
+++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.xtend
@@ -13,6 +13,7 @@ import java.util.List
import java.util.Set
import org.eclipse.xtend.lib.annotations.Accessors
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor
+import org.eclipse.xtext.util.JavaVersion
@FinalFieldsConstructor
@Accessors
@@ -152,6 +153,10 @@ abstract class ProjectDescriptor {
null
}
+ protected def isAtLeastJava9() {
+ config.javaVersion.isAtLeast(JavaVersion.JAVA9)
+ }
+
def GradleBuildFile buildGradle() {
new GradleBuildFile(this)
}
diff --git a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.xtend b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.xtend
index c0ecbd0c0..ed9b77e0c 100644
--- a/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.xtend
+++ b/org.eclipse.xtext.xtext.wizard/src/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.xtend
@@ -59,6 +59,11 @@ abstract class TestProjectDescriptor extends ProjectDescriptor {
super.pom => [
packaging = if(isEclipsePluginProject) "eclipse-test-plugin" else "jar"
buildSection = '''
+ «IF isEclipsePluginProject && needsUiHarness && isAtLeastJava9»
+
+ --add-modules=ALL-SYSTEM
+
+ «ENDIF»
«IF !isEclipsePluginProject && config.sourceLayout == SourceLayout.PLAIN»
«Outlet.TEST_JAVA.sourceFolder»
@@ -155,7 +160,7 @@ abstract class TestProjectDescriptor extends ProjectDescriptor {
- -XstartOnFirstThread
+ -XstartOnFirstThread«IF isAtLeastJava9» --add-modules=ALL-SYSTEM«ENDIF»
diff --git a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.java b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.java
index bccfc7530..5a0c1b9ca 100644
--- a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.java
+++ b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/ProjectDescriptor.java
@@ -18,6 +18,7 @@ import java.util.Set;
import org.eclipse.xtend.lib.annotations.Accessors;
import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor;
import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.util.JavaVersion;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Functions.Function1;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
@@ -292,6 +293,10 @@ public abstract class ProjectDescriptor {
return null;
}
+ protected boolean isAtLeastJava9() {
+ return this.config.getJavaVersion().isAtLeast(JavaVersion.JAVA9);
+ }
+
public GradleBuildFile buildGradle() {
return new GradleBuildFile(this);
}
diff --git a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.java b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.java
index a39d0b247..43156ae2d 100644
--- a/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.java
+++ b/org.eclipse.xtext.xtext.wizard/xtend-gen/org/eclipse/xtext/xtext/wizard/TestProjectDescriptor.java
@@ -109,6 +109,17 @@ public abstract class TestProjectDescriptor extends ProjectDescriptor {
}
it.setPackaging(_xifexpression);
StringConcatenation _builder = new StringConcatenation();
+ {
+ if (((this.isEclipsePluginProject() && this.needsUiHarness()) && this.isAtLeastJava9())) {
+ _builder.append("");
+ _builder.newLine();
+ _builder.append("\t");
+ _builder.append("--add-modules=ALL-SYSTEM");
+ _builder.newLine();
+ _builder.append("");
+ _builder.newLine();
+ }
+ }
_builder.append("");
_builder.newLine();
{
@@ -453,8 +464,15 @@ public abstract class TestProjectDescriptor extends ProjectDescriptor {
_builder_1.append("");
_builder_1.newLine();
_builder_1.append("\t\t\t");
- _builder_1.append("-XstartOnFirstThread");
- _builder_1.newLine();
+ _builder_1.append("-XstartOnFirstThread");
+ {
+ boolean _isAtLeastJava9 = this.isAtLeastJava9();
+ if (_isAtLeastJava9) {
+ _builder_1.append(" --add-modules=ALL-SYSTEM");
+ }
+ }
+ _builder_1.append("");
+ _builder_1.newLineIfNotEmpty();
_builder_1.append("\t\t");
_builder_1.append("");
_builder_1.newLine();