fix incorrect feature detection when running in PDe
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
index c20dc3d..e4cbb83 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
@@ -258,16 +258,20 @@
if (config == null)
config = new Configuration();
- SiteEntry defaultSite = config.getSiteEntry(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR + "/" + "base" + "/");
- if (defaultSite != null) {
- defaultSite.addFeatureEntry(entry);
- } else {
- // pick up the first site
- SiteEntry[] sites = config.getSites();
- if (sites.length > 0) {
- sites[0].addFeatureEntry(entry);
+ SiteEntry[] sites = config.getSites();
+ for (int i=0; i<sites.length; i++) {
+ // find out what site contains the feature and configure it
+ try {
+ URL url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier()+ "_" + entry.getFeatureVersion() + "/");
+ if (new File(url.getFile()).exists())
+ sites[i].addFeatureEntry(entry);
+ else {
+ url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier() + "/");
+ if (new File(url.getFile()).exists())
+ sites[i].addFeatureEntry(entry);
+ }
+ } catch (MalformedURLException e) {
}
- // else, do nothing (we need a site)
}
}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
index e4ee916..bf6d8d8 100644
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
+++ b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
@@ -542,9 +542,9 @@
}
public FeatureEntry[] getFeatureEntries() {
-// if PDE generated config, don't detect anything.
- if (featureEntries == null && (config == null || !config.isTransient()))
+ if (featureEntries == null)
detectFeatures();
+
if (featureEntries == null)
return new FeatureEntry[0];
else