diff options
Diffstat (limited to 'bundles')
3 files changed, 12 insertions, 1 deletions
diff --git a/bundles/org.eclipse.osgi.compatibility.state/META-INF/MANIFEST.MF b/bundles/org.eclipse.osgi.compatibility.state/META-INF/MANIFEST.MF index 02641aeed..61fe6aa1f 100644 --- a/bundles/org.eclipse.osgi.compatibility.state/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.osgi.compatibility.state/META-INF/MANIFEST.MF @@ -3,6 +3,6 @@ Bundle-ManifestVersion: 2 Bundle-Name: State Bundle-SymbolicName: org.eclipse.osgi.compatibility.state Bundle-Version: 1.0.0.qualifier -Bundle-Activator: org.eclipse.osgi.compatibility.state.Activator +ExtensionBundle-Activator: org.eclipse.osgi.compatibility.state.Activator Fragment-Host: org.eclipse.osgi;bundle-version="3.10.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java index 12fd02911..c4c688961 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/builders/OSGiManifestBuilderFactory.java @@ -522,6 +522,12 @@ public final class OSGiManifestBuilderFactory { // Get the activator String activator = manifest.get(Constants.BUNDLE_ACTIVATOR); + if (activator == null && manifest.get(Constants.FRAGMENT_HOST) != null) { + // we look for the extension activator for fragments + // probably should do this only for framework extensions, but there is no harm to check for others + // it is only acted upon for framework extension fragments + activator = manifest.get(EquinoxModuleDataNamespace.EXTENSION_ACTIVATOR_HEADER); + } if (activator != null) { attributes.put(EquinoxModuleDataNamespace.CAPABILITY_ACTIVATOR, activator); } diff --git a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java index 4866efcc2..3c1dc9021 100644 --- a/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java +++ b/bundles/org.eclipse.osgi/container/src/org/eclipse/osgi/container/namespaces/EquinoxModuleDataNamespace.java @@ -69,6 +69,11 @@ public class EquinoxModuleDataNamespace extends Namespace { public static final String AUTOSTART_HEADER = "Eclipse-AutoStart"; //$NON-NLS-1$ /** + * The Equinox specific header that framework extension can used to specify an activator class. + */ + public static final String EXTENSION_ACTIVATOR_HEADER = "ExtensionBundle-Activator"; //$NON-NLS-1$ + + /** * Namespace name for equinox module data. Unlike typical name spaces * this namespace is not intended to be used as an attribute. */ |