[unrelated] Add an overall all-tests capability
diff --git a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
index b0c9ced..2915bd1 100644
--- a/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
+++ b/plugins/org.eclipse.qvtd.codegen/src/org/eclipse/qvtd/codegen/qvti/java/QVTiCodeGenerator.java
@@ -29,6 +29,7 @@
* </copyright>
*/
+import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
@@ -181,7 +182,9 @@
public void saveSourceFile(@NonNull String savePath) throws IOException {
String javaCodeSource = generateClassFile();
String qualifiedName = getQualifiedName();
- String fileName = savePath + qualifiedName.replace('.', '/') + ".java";
+ String saveDir = savePath + qualifiedName.replace('.', '/');
+ String fileName = saveDir + ".java";
+ new File(saveDir).getParentFile().mkdirs();
Writer writer = new FileWriter(fileName);
writer.append(javaCodeSource);
writer.close();
diff --git a/releng/org.eclipse.qvtd.releng/psfs/qvtd-tests.psf b/releng/org.eclipse.qvtd.releng/psfs/qvtd-tests.psf
index f6bc4de..16bf151 100644
--- a/releng/org.eclipse.qvtd.releng/psfs/qvtd-tests.psf
+++ b/releng/org.eclipse.qvtd.releng/psfs/qvtd-tests.psf
@@ -4,6 +4,7 @@
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,plugins/org.eclipse.qvt"/>
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,examples/org.eclipse.qvtd.examples.qvtrelation.modelmorf"/>
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,examples/org.eclipse.qvtd.examples.qvtrelation.reltocore"/>
+<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,tests/org.eclipse.qvtd.all.tests"/>
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,tests/org.eclipse.qvtd.xtext.qvtbase.tests"/>
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,tests/org.eclipse.qvtd.xtext.qvtcore.tests"/>
<project reference="1.0,git://git.eclipse.org/gitroot/mmt/org.eclipse.qvtd.git,master,tests/org.eclipse.qvtd.xtext.qvtimperative.tests"/>
@@ -14,6 +15,7 @@
<item elementID="=org.eclipse.qvt" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.eclipse.qvtd.xtext.qvtcore.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.eclipse.qvtd.examples.qvtrelation.modelmorf" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
+<item elementID="=org.eclipse.qvtd.all.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.eclipse.qvtd.xtext.qvtbase.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.eclipse.qvtd.examples.qvtrelation.reltocore" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
<item elementID="=org.eclipse.qvtd.xtext.qvtrelation.tests" factoryID="org.eclipse.jdt.ui.PersistableJavaElementFactory"/>
diff --git a/tests/org.eclipse.qvtd.all.tests/.classpath b/tests/org.eclipse.qvtd.all.tests/.classpath
new file mode 100644
index 0000000..ad32c83
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.qvtd.all.tests/.gitignore b/tests/org.eclipse.qvtd.all.tests/.gitignore
new file mode 100644
index 0000000..42b3de3
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/.gitignore
@@ -0,0 +1,3 @@
+/src-gen
+/bin
+/QVTTrace.log
diff --git a/tests/org.eclipse.qvtd.all.tests/.launches/All QVTd Tests.launch b/tests/org.eclipse.qvtd.all.tests/.launches/All QVTd Tests.launch
new file mode 100644
index 0000000..3a806ef
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/.launches/All QVTd Tests.launch
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.qvtd.all.tests/src/org/eclipse/qvtd/all/tests/AllQVTdTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.qvtd.all.tests.AllQVTdTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.all.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-ea"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.all.tests/.project b/tests/org.eclipse.qvtd.all.tests/.project
new file mode 100644
index 0000000..d87c955
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.qvtd.all.tests</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.qvtd.all.tests/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.qvtd.all.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..c537b63
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/tests/org.eclipse.qvtd.all.tests/META-INF/MANIFEST.MF b/tests/org.eclipse.qvtd.all.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..03e24a0
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.qvtd.all.tests
+Bundle-Version: 0.11.0.qualifier
+Bundle-ClassPath: .
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.qvtd.xtext.qvtbase.tests,
+ org.eclipse.qvtd.xtext.qvtcore.ui,
+ org.eclipse.qvtd.xtext.qvtcore.tests,
+ org.eclipse.qvtd.xtext.qvtimperative.tests,
+ org.eclipse.qvtd.xtext.qvtrelation.tests
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
diff --git a/tests/org.eclipse.qvtd.all.tests/about.html b/tests/org.eclipse.qvtd.all.tests/about.html
new file mode 100644
index 0000000..87b2a50
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/about.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>About</title>
+</head><body lang="EN-US">
+<h2>About This Content</h2>
+
+<pem>September 21, 2008</em></p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+
+ <h3>Third Party Content</h3>
+ <p>The Content includes items that have been sourced from third parties as set out below. If you
+ did not receive this Content directly from the Eclipse Foundation, the following is provided
+ for informational purposes only, and you should look to the Redistributor's license for
+ terms and conditions of use.</p>
+ <p><em>
+ <br><br>
+ <strong>OMG QVT 1.0 specification (08-04-03)</strong> <br>
+ <ul>
+ <li><a href="http://www.omg.org/spec/QVT/1.0/">QVT 1.0 main page</a></li>
+ <li><a href="http://www.omg.org/docs/formal/08-04-03.pdf">QVT 1.0 specification</a></li>
+ <li><a href="http://www.omg.org/">OMG site</a></li>
+ </ul>
+ <br>
+ </em></p>
+ <p>A detailed list of fixes and clarifications with respect to those specifications may be found in <a href="QVTBaseCompliance.html">QVTBaseCompliance.html</a>.</p>
+</body></html>
\ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.all.tests/build.properties b/tests/org.eclipse.qvtd.all.tests/build.properties
new file mode 100644
index 0000000..aa1a008
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties
diff --git a/tests/org.eclipse.qvtd.all.tests/plugin.properties b/tests/org.eclipse.qvtd.all.tests/plugin.properties
new file mode 100644
index 0000000..0604c8a
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/plugin.properties
@@ -0,0 +1,15 @@
+###############################################################################
+# Copyright (c) 2014 Eclipse Modeling Project and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# E.D.Willink - initial API and implementation
+#
+# $Id$
+###############################################################################
+
+pluginName = QVTd All Tests (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/tests/org.eclipse.qvtd.all.tests/src/org/eclipse/qvtd/all/tests/AllQVTdTests.java b/tests/org.eclipse.qvtd.all.tests/src/org/eclipse/qvtd/all/tests/AllQVTdTests.java
new file mode 100644
index 0000000..f59cce9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.all.tests/src/org/eclipse/qvtd/all/tests/AllQVTdTests.java
@@ -0,0 +1,57 @@
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2002,2011 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM - Initial API and implementation
+ * E.D.Willink - Bug 298634
+ *
+ * </copyright>
+ *
+ * $Id: AllXtextTests.java,v 1.10 2011/05/20 15:27:16 ewillink Exp $
+ */
+
+package org.eclipse.qvtd.all.tests;
+
+import java.util.Arrays;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+import org.eclipse.qvtd.xtext.qvtcore.tests.AllQVTcoreTests;
+import org.eclipse.qvtd.xtext.qvtimperative.tests.AllQVTimperativeTests;
+import org.eclipse.qvtd.xtext.qvtrelation.tests.AllQVTrelationTests;
+
+/**
+ * Tests for the Xtext QVTc editor support.
+ */
+@SuppressWarnings("nls")
+public class AllQVTdTests extends TestCase
+{
+ public AllQVTdTests() {
+ super("");
+ }
+
+ public static Test suite() {
+ TestSuite result = new TestSuite("QVTd All Tests");
+ result.addTest(AllQVTcoreTests.suite());
+ result.addTest(AllQVTimperativeTests.suite());
+ result.addTest(AllQVTrelationTests.suite());
+ return result;
+ }
+
+ public Object run(Object args)
+ throws Exception {
+
+ TestRunner.run(suite());
+ return Arrays
+ .asList(new String[] {"Please see raw test suite output for details."});
+ }
+}