Bug 292935. [ds] need to add a p2.inf to set the equinox.use.ds property
diff --git a/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
index 77fc831..7dbd3d2 100644
--- a/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
@@ -20,6 +20,7 @@
org.eclipse.equinox.internal.util.timer;version="1.0",
org.eclipse.osgi.framework.console;version="1.0",
org.eclipse.osgi.service.debug;version="1.0",
+ org.eclipse.osgi.service.environment;version="1.2.0",
org.eclipse.osgi.util,
org.osgi.framework;version="1.3",
org.osgi.service.cm;version="1.2",
diff --git a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
index 47f79b6..12de53e 100644
--- a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
+++ b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
@@ -17,6 +17,7 @@
import org.eclipse.equinox.internal.util.ref.Log;
import org.eclipse.osgi.framework.console.CommandProvider;
import org.eclipse.osgi.service.debug.DebugOptions;
+import org.eclipse.osgi.service.environment.EnvironmentInfo;
import org.osgi.framework.*;
import org.osgi.service.cm.*;
import org.osgi.service.component.ComponentConstants;
@@ -167,6 +168,17 @@
// initialized yet
bundleContext.addBundleListener(this);
}
+ ServiceReference envInfoRef = bc.getServiceReference(EnvironmentInfo.class.getName());
+ EnvironmentInfo envInfo = null;
+ if (envInfoRef != null) {
+ envInfo = (EnvironmentInfo) bc.getService(envInfoRef);
+ }
+ if (envInfo != null) {
+ envInfo.setProperty("equinox.use.ds", "true"); //$NON-NLS-1$//$NON-NLS-2$
+ bc.ungetService(envInfoRef);
+ } else {
+ System.setProperty("equinox.use.ds", "true"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
if (startup) {
log.debug("[END - start method] Activator.start() method executed for " + String.valueOf(time[0] - time[2]), null); //$NON-NLS-1$
time = null;
@@ -197,6 +209,17 @@
} else {
bundleContext.removeBundleListener(this);
}
+ ServiceReference envInfoRef = bc.getServiceReference(EnvironmentInfo.class.getName());
+ EnvironmentInfo envInfo = null;
+ if (envInfoRef != null) {
+ envInfo = (EnvironmentInfo) bc.getService(envInfoRef);
+ }
+ if (envInfo != null) {
+ envInfo.setProperty("equinox.use.ds", "false"); //$NON-NLS-1$//$NON-NLS-2$
+ bc.ungetService(envInfoRef);
+ } else {
+ System.setProperty("equinox.use.ds", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
log.close();
log = null;