331baf8
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
331baf8
index 5fc0e73..ed7e4fa 100644
331baf8
--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
331baf8
+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/EngineActivator.java
331baf8
@@ -144,7 +144,20 @@ public class EngineActivator implements BundleActivator {
331baf8
 						}
331baf8
 						continue;
331baf8
 					}
331baf8
-					File[] listFiles = extension.listFiles();
331baf8
+
331baf8
+					// Support the additional 'eclipse' directory if it exists.
331baf8
+					File[] extensionFiles = extension.listFiles(new FilenameFilter() {
331baf8
+						public boolean accept(File dir, String name) {
331baf8
+							return name.equals("eclipse");
331baf8
+						}
331baf8
+					});
331baf8
+
331baf8
+					File[] listFiles;
331baf8
+					if (extensionFiles.length == 1) {
331baf8
+						listFiles = extensionFiles[0].listFiles();
331baf8
+					} else {
331baf8
+						listFiles = extension.listFiles();
331baf8
+					}
331baf8
 					// new magic - multiple info files, f.e.
331baf8
 					//   egit.info (git feature)
331baf8
 					//   cdt.linkĀ (properties file containing link=path) to other info file
da94d71
diff --git rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
da94d71
index 12e4d89..77945ef 100644
da94d71
--- rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
da94d71
+++ rt.equinox.p2/bundles/org.eclipse.equinox.simpleconfigurator/src/org/eclipse/equinox/internal/simpleconfigurator/utils/SimpleConfiguratorUtils.java
da94d71
@@ -156,7 +156,20 @@ public class SimpleConfiguratorUtils {
da94d71
 						}
da94d71
 						continue;
da94d71
 					}
da94d71
-					File[] listFiles = extension.listFiles();
da94d71
+
da94d71
+					// Support the additional 'eclipse' directory if it exists.
da94d71
+					File[] extensionFiles = extension.listFiles(new FilenameFilter() {
da94d71
+						public boolean accept(File dir, String name) {
da94d71
+							return name.equals("eclipse");
da94d71
+						}
da94d71
+					});
da94d71
+
da94d71
+					File[] listFiles;
da94d71
+					if (extensionFiles.length == 1) {
da94d71
+						listFiles = extensionFiles[0].listFiles();
da94d71
+					} else {
da94d71
+						listFiles = extension.listFiles();
da94d71
+					}
da94d71
 					// new magic - multiple info files, f.e.
da94d71
 					//   egit.info (git feature)
da94d71
 					//   cdt.linkĀ (properties file containing link=path) to other info file