Restrict installation of RAP e4 platform bundles to RAP environment
Use Require-Capability: org.eclipse.rap to make sure that the modified
RAP incarnations of these copies of the Platform bundles are only used
together with the correct RAP bundles.
During p2 installations require the existence of RWT, and prevent the
installations as soon as the SWT installable unit had been installed.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
Change-Id: I1accaab38c5d0e67860c6b2267b8aa17db10ee44
Signed-off-by: Markus Knauer <mknauer@eclipsesource.com>
diff --git a/bundles/org.eclipse.e4.core.commands/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.core.commands/META-INF/MANIFEST.MF
index f4fc252..b6f1066 100644
--- a/bundles/org.eclipse.e4.core.commands/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.core.commands/META-INF/MANIFEST.MF
@@ -27,3 +27,4 @@
org.eclipse.e4.core.commands.internal;x-friends:="org.eclipse.e4.ui.bindings,org.eclipse.ui.workbench"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.6.0,4.0.0)",
org.eclipse.e4.core.di;bundle-version="0.9.0"
+Require-Capability: org.eclipse.rap
diff --git a/bundles/org.eclipse.e4.core.commands/META-INF/p2.inf b/bundles/org.eclipse.e4.core.commands/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.core.commands/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0
diff --git a/bundles/org.eclipse.e4.ui.bindings/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.ui.bindings/META-INF/MANIFEST.MF
index 59680cf..2d5f844 100644
--- a/bundles/org.eclipse.e4.ui.bindings/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.ui.bindings/META-INF/MANIFEST.MF
@@ -22,6 +22,7 @@
org.eclipse.e4.core.contexts;bundle-version="1.0.0",
org.eclipse.e4.core.di;bundle-version="1.1.0",
org.eclipse.rap.rwt
+Require-Capability: org.eclipse.rap
Export-Package: org.eclipse.e4.ui.bindings;
x-friends:="org.eclipse.e4.ui.workbench,
org.eclipse.e4.ui.workbench.renderers.swt,
diff --git a/bundles/org.eclipse.e4.ui.bindings/META-INF/p2.inf b/bundles/org.eclipse.e4.ui.bindings/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.bindings/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/MANIFEST.MF
index 1cf356d..e032b52 100644
--- a/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/MANIFEST.MF
@@ -18,6 +18,7 @@
org.eclipse.emf.ecore.xmi;bundle-version="2.7.0",
org.eclipse.rap.rwt;bundle-version="2.3.0",
org.eclipse.rap.jface;bundle-version="2.3.0"
+Require-Capability: org.eclipse.rap
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Import-Package: javax.annotation;version="1.0.0",
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/p2.inf b/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/MANIFEST.MF
index a8c16a1..cbbdef3 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/MANIFEST.MF
@@ -26,6 +26,7 @@
org.eclipse.rap.jface,
org.eclipse.e4.core.di.extensions;bundle-version="0.12.0",
org.eclipse.equinox.preferences;bundle-version="3.5.200"
+Require-Capability: org.eclipse.rap
Export-Package: org.eclipse.e4.ui.internal.workbench.renderers.swt;x-friends:="org.eclipse.ui.workbench",
org.eclipse.e4.ui.workbench.renderers.swt;x-friends:="org.eclipse.e4.ui.workbench.addons.swt,org.eclipse.ui.workbench"
Bundle-ActivationPolicy: lazy
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/p2.inf b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0
diff --git a/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/MANIFEST.MF
index daa1ba4..db9c90e 100644
--- a/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/MANIFEST.MF
@@ -30,6 +30,7 @@
org.eclipse.rap.jface,
org.eclipse.rap.jface.databinding,
org.eclipse.e4.core.di.extensions
+Require-Capability: org.eclipse.rap
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.eclipse.e4.ui.internal.workbench.swt;x-friends:="org.eclipse.e4.ui.workbench.addons.swt,org.eclipse.e4.ui.workbench.renderers.swt,org.eclipse.ui.workbench",
diff --git a/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/p2.inf b/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.workbench.swt/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0
diff --git a/bundles/org.eclipse.e4.ui.workbench/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.ui.workbench/META-INF/MANIFEST.MF
index fcf9be0..c70754b 100644
--- a/bundles/org.eclipse.e4.ui.workbench/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.e4.ui.workbench/META-INF/MANIFEST.MF
@@ -22,6 +22,7 @@
org.eclipse.e4.ui.di;bundle-version="0.9.0",
org.eclipse.emf.ecore.xmi;bundle-version="2.7.0",
org.eclipse.e4.core.di.extensions
+Require-Capability: org.eclipse.rap
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Export-Package: org.eclipse.e4.ui.internal.workbench;
diff --git a/bundles/org.eclipse.e4.ui.workbench/META-INF/p2.inf b/bundles/org.eclipse.e4.ui.workbench/META-INF/p2.inf
new file mode 100644
index 0000000..f4e1a27
--- /dev/null
+++ b/bundles/org.eclipse.e4.ui.workbench/META-INF/p2.inf
@@ -0,0 +1,13 @@
+# Ensure that modified RAP e4 platform bundles are only installed in RAP environment
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=491177
+# https://bugs.eclipse.org/bugs/show_bug.cgi?id=490922
+
+# Make sure that a RAP RWT implementation is available
+requires.0.namespace = org.eclipse.rap
+requires.0.name = org.eclipse.rap.rwt
+
+# Do not allow to install this IU in case the SWT bundle is available
+requires.1.namespace = org.eclipse.equinox.p2.iu
+requires.1.name = org.eclipse.swt
+requires.1.min = 0
+requires.1.max = 0