diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.project b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.project
deleted file mode 100644
index 10cbe266c8..0000000000
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- org.eclipse.equinox.p2.tests.reconciler.product
-
-
-
-
-
-
-
-
diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.settings/org.eclipse.core.resources.prefs b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203..0000000000
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/forceQualifierUpdate.txt b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/forceQualifierUpdate.txt
deleted file mode 100644
index 623363fc56..0000000000
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/forceQualifierUpdate.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-# To force a version qualifier update add the bug here
-Bug 532094 - Update releng with new hamcrest and apache batik
-Update to Tycho 1.2.0
-Update to JUnit 4.13
diff --git a/bundles/org.eclipse.equinox.p2.tests/pom.xml b/bundles/org.eclipse.equinox.p2.tests/pom.xml
index c9b3ebafe2..9ddb922e98 100644
--- a/bundles/org.eclipse.equinox.p2.tests/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests/pom.xml
@@ -22,37 +22,59 @@
org.eclipse.equinox.p2.tests.AutomatedTests
true
tar.gz
- org.eclipse.equinox.p2.reconciler-${tycho.env.osgi.os}.${tycho.env.osgi.ws}.${tycho.env.osgi.arch}.${archiveExtension}
+ ${project.build.directory}/products/org.eclipse.equinox.p2.reconciler/${tycho.env.osgi.os}/${tycho.env.osgi.ws}/${tycho.env.osgi.arch}
-
-
- windows
-
- win
-
-
- zip
-
-
-
-
-
-
-
- ${project.groupId}
- org.eclipse.equinox.p2.reconciler
- 1.1.0-SNAPSHOT
- pom
-
-
+
+ org.eclipse.tycho
+ target-platform-configuration
+
+
+
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-publisher-plugin
+ ${tycho.version}
+
+
+ publish-products
+
+ publish-products
+
+ pre-integration-test
+
+
+
+
+ org.eclipse.tycho
+ tycho-p2-director-plugin
+
+
+ materialize-products
+
+ materialize-products
+
+ pre-integration-test
+
+
+
+ org.eclipse.equinox.p2.reconciler
+
+
+
+
+
+
org.eclipse.tycho
tycho-surefire-plugin
- -Xmx512m -Dorg.eclipse.equinox.p2.reconciler.tests.platform.archive=${project.build.directory}/../../org.eclipse.equinox.p2.tests.reconciler.product/target/products/${dropinsProduct} -Dorg.eclipse.equinox.p2.reconciler.tests.35.platform.archive=${platform.archive.name} -Dorg.eclipse.equinox.p2.repository -Dorg.eclipse.equinox.p2.transport.ecf.retry=5
+ -Xmx512m -Dorg.eclipse.equinox.p2.reconciler.tests.platform.archive=${dropinsProduct} -Dorg.eclipse.equinox.p2.reconciler.tests.35.platform.archive=${platform.archive.name} -Dorg.eclipse.equinox.p2.repository -Dorg.eclipse.equinox.p2.transport.ecf.retry=5
-consoleLog -debug
org.apache.ant
diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product b/bundles/org.eclipse.equinox.p2.tests/reconciler.product
similarity index 88%
rename from bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
rename to bundles/org.eclipse.equinox.p2.tests/reconciler.product
index 23ff325ec7..5ca0e5d1b6 100644
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+++ b/bundles/org.eclipse.equinox.p2.tests/reconciler.product
@@ -21,9 +21,6 @@
-
-
-
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
index 9f6c1b3193..96377a5b50 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/reconciler/dropins/AbstractReconcilerTest.java
@@ -33,6 +33,11 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.nio.file.FileVisitResult;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.SimpleFileVisitor;
+import java.nio.file.attribute.BasicFileAttributes;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
@@ -102,26 +107,43 @@ public AbstractReconcilerTest(String name, String propertyToPlatformArchive) {
*/
public void initialize() throws Exception {
initialized = false;
- File file = getPlatformZip();
+ File platform = getPlatformZip();
output = getUniqueFolder();
toRemove.add(output);
// for now we will exec to un-tar archives to keep the executable bits
- if (file.getName().toLowerCase().endsWith(".zip")) {
+ if (platform.isDirectory()) {
+ final Path targetPath = output.toPath();
+ final Path sourcePath = platform.toPath();
+ Files.walkFileTree(sourcePath, new SimpleFileVisitor() {
+ @Override
+ public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs)
+ throws IOException {
+ Files.createDirectories(targetPath.resolve(sourcePath.relativize(dir)));
+ return FileVisitResult.CONTINUE;
+ }
+
+ @Override
+ public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs) throws IOException {
+ Files.copy(file, targetPath.resolve(sourcePath.relativize(file)));
+ return FileVisitResult.CONTINUE;
+ }
+ });
+ } else if (platform.getName().toLowerCase().endsWith(".zip")) {
try {
- FileUtils.unzipFile(file, output);
+ FileUtils.unzipFile(platform, output);
} catch (IOException e) {
fail("0.99", e);
}
- } else if (file.getName().toLowerCase().endsWith(".dmg")) {
- extractDmg("1.1", file);
+ } else if (platform.getName().toLowerCase().endsWith(".dmg")) {
+ extractDmg("1.1", platform);
} else {
- untar("1.0", file);
+ untar("1.0", platform);
}
File exe = new File(output, getExeFolder() + "eclipse.exe");
if (!exe.exists()) {
exe = new File(output, getExeFolder() + "eclipse");
if (!exe.exists())
- fail("Executable file: " + exe.getAbsolutePath() + "(or .exe) not found after extracting: " + file.getAbsolutePath() + " to: " + output);
+ fail("Executable file: " + exe.getAbsolutePath() + "(or .exe) not found after extracting: " + platform.getAbsolutePath() + " to: " + output);
if (!exe.canExecute()) {
// Try first to set --x--x--x, then --x------ if we can't do the former
if (!exe.setExecutable(true, false) || !exe.setExecutable(true, true)) {
@@ -279,6 +301,9 @@ private File getPlatformZip() {
} catch (IOException e) {
// then use the non canonical one...
}
+ if (file.isDirectory()) {
+ return file;
+ }
}
StringBuilder detailedMessage = new StringBuilder(600);
detailedMessage.append(" propertyToPlatformArchive was ").append(propertyToPlatformArchive == null ? " not set " : propertyToPlatformArchive).append('\n');