Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Oberhuber2014-06-04 16:49:53 -0400
committerMartin Oberhuber2014-06-04 19:22:02 -0400
commit115fd9b1bca1fdd5272463c0c051906d29cc3ea1 (patch)
tree2df8b94dd2070bd4998a47d5dc08f94eecc0d0eb
parent0c6f46f57e124ee215275b8212b13ce3feb42e48 (diff)
downloadorg.eclipse.tcf-115fd9b1bca1fdd5272463c0c051906d29cc3ea1.tar.gz
org.eclipse.tcf-115fd9b1bca1fdd5272463c0c051906d29cc3ea1.tar.xz
org.eclipse.tcf-115fd9b1bca1fdd5272463c0c051906d29cc3ea1.zip
Terminals: Bug 435150 - Support CDT 8.3 minimal dependency via p2.infTCF_1_2_01.2_luna
This change makes sure that the Terminal can depend on a minimal subset of CDT functionality, imported by import-package in MANIFEST.MF plus fragment dependencies in p2.inf. The org.eclipse.cdt.core.native feature is pulled in if it's available, but we can also work on top of CDT 8.3 which didn't have the "native" feature yet. Cherry-pick from master, resolved conflicts: target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml Change-Id: Ibd2dbe1b971f52195aa28fdcdb7e1048ad1ed3cf Signed-off-by: Martin Oberhuber <martin.oberhuber@windriver.com>
-rw-r--r--target_explorer/features/org.eclipse.tcf.te.terminals.feature/build.properties3
-rw-r--r--target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml8
-rw-r--r--target_explorer/features/org.eclipse.tcf.te.terminals.feature/p2.inf22
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF3
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf82
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF4
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf82
7 files changed, 199 insertions, 5 deletions
diff --git a/target_explorer/features/org.eclipse.tcf.te.terminals.feature/build.properties b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/build.properties
index d9e56c50b..c8eb60109 100644
--- a/target_explorer/features/org.eclipse.tcf.te.terminals.feature/build.properties
+++ b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/build.properties
@@ -8,5 +8,6 @@
# Wind River Systems - initial API and implementation
###############################################################################
bin.includes = feature.xml,\
- feature.properties
+ feature.properties,\
+ p2.inf
src.includes = feature.properties
diff --git a/target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml
index 8cdf614b6..271afce67 100644
--- a/target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml
+++ b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/feature.xml
@@ -24,6 +24,12 @@
<update label="%updateSiteName" url="http://download.eclipse.org/releases/kepler"/>
</url>
+ <!-- For PTY.Modes.TERMINAL , we need minimum o.e.cdt.core_5.6 which is in CDT 8.3 -->
+ <!-- But we express this in bundle dependencies only in order to get a smaller install -->
+ <!-- The side-effect of depending on feature o.e.cdt.native is that it requires CDT 8.4 -->
+ <!-- This is OK for this "stand-alone" feature. Product builders who want CDT 8.3 can -->
+ <!-- Still get it by not using this feature but direct cdt.platform / bundle dependency -->
+ <!-- See https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 -->
<requires>
<import plugin="org.eclipse.core.expressions" version="3.4.400" match="greaterOrEqual"/>
<import plugin="org.eclipse.core.runtime" version="3.8.0" match="greaterOrEqual"/>
@@ -36,7 +42,6 @@
<import plugin="org.eclipse.tm.terminal" version="3.2.300" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui" version="3.8.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.ui.forms" version="3.5.200" match="greaterOrEqual"/>
- <import plugin="org.eclipse.cdt.core" version="5.6.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.tcf.te.ui.terminals" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.tcf.te.ui.terminals.process" version="1.2.0" match="greaterOrEqual"/>
<import plugin="org.eclipse.tcf.te.runtime.statushandler" version="1.2.0" match="greaterOrEqual"/>
@@ -48,7 +53,6 @@
<import feature="org.eclipse.tm.terminal.serial" version="2.1.300" match="greaterOrEqual"/>
<import feature="org.eclipse.tm.terminal.ssh" version="2.1.300" match="greaterOrEqual"/>
<import feature="org.eclipse.tm.terminal.telnet" version="2.1.300" match="greaterOrEqual"/>
- <import feature="org.eclipse.cdt.platform" version="8.3.0" match="greaterOrEqual"/>
</requires>
<plugin
diff --git a/target_explorer/features/org.eclipse.tcf.te.terminals.feature/p2.inf b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/p2.inf
new file mode 100644
index 000000000..86a0e388b
--- /dev/null
+++ b/target_explorer/features/org.eclipse.tcf.te.terminals.feature/p2.inf
@@ -0,0 +1,22 @@
+###############################################################################
+# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved.
+# This program and the accompanying materials are made available under the terms
+# of the Eclipse Public License v1.0 which accompanies this distribution, and is
+# available at http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Wind River Systems - initial API and implementation
+###############################################################################
+
+# Make the org.eclipse.cdt.native feature dependency "optional" since it didn't
+# exist in CDT 8.3 and we can also work on top of CDT 8.3.
+
+# The real dependencies are all properly managed via p2.inf in the
+# org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf file.
+# The only benefit of requesting the feature here is that it allow pulling in
+# additional fragments that we are not aware of in the bundle's p2.inf.
+
+requires.0.namespace = org.eclipse.equinox.p2.iu
+requires.0.name = org.eclipse.cdt.native.feature.group
+requires.0.greedy = true
+requires.0.optional = true
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF
index e71677ed4..99fbd1379 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF
@@ -5,7 +5,8 @@ Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.local;singleton:=true
Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin
Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0",
+Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native
+Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional,
org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional,
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.tcf.te.runtime;bundle-version="1.2.0",
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf
new file mode 100644
index 000000000..9bd5194fa
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf
@@ -0,0 +1,82 @@
+###############################################################################
+# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved.
+# This program and the accompanying materials are made available under the terms
+# of the Eclipse Public License v1.0 which accompanies this distribution, and is
+# available at http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Wind River Systems - initial API and implementation
+###############################################################################
+
+# Most of the dependencies exposed here are actually covered in the feature.xml
+# This file ensures that the current bundle has all it needs, even if installed
+# without the enclosing org.eclipse.tcf.te.terminals.feature .
+# See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 .
+
+# 1. Make the optional cdt.core dependency non-greedy: Use (or update to proper
+# version!) when installed, but do not install automatically since the newer
+# org.eclipse.cdt.core.native can satisfy the dependency better. We use this
+# trick since CDT 8.3 had no version on export-package yet but we do want
+# a version constraint.
+requires.0.namespace = org.eclipse.equinox.p2.iu
+requires.0.name = org.eclipse.cdt.core
+#requires.0.range = [5.6, 6.0)
+requires.0.greedy = false
+requires.0.optional = true
+
+#requires.1.namespace = org.eclipse.equinox.p2.iu
+#requires.1.name = org.eclipse.cdt.core.native
+#requires.1.range = [5.6, 6.0)
+#requires.1.greedy = true
+#requires.1.optional = true
+
+# 2. Add the required fragments for local terminal support with proper version.
+requires.2.namespace = org.eclipse.equinox.p2.iu
+requires.2.name = org.eclipse.cdt.core.aix
+#requires.2.range = [5.3, 6.0)
+requires.2.filter = (osgi.os=aix)
+
+requires.3.namespace = org.eclipse.equinox.p2.iu
+requires.3.name = org.eclipse.cdt.core.linux
+#requires.3.range = [5.2, 6.0)
+requires.3.filter = (osgi.os=linux)
+
+requires.4.namespace = org.eclipse.equinox.p2.iu
+requires.4.name = org.eclipse.cdt.core.linux.ppc64
+#requires.4.range = [5.1, 6.0)
+requires.4.filter = (&(osgi.os=linux)(osgi.arch=ppc64))
+
+requires.5.namespace = org.eclipse.equinox.p2.iu
+requires.5.name = org.eclipse.cdt.core.linux.x86
+#requires.5.range = [5.2, 6.0)
+requires.5.filter = (&(osgi.os=linux)(osgi.arch=x86))
+
+requires.6.namespace = org.eclipse.equinox.p2.iu
+requires.6.name = org.eclipse.cdt.core.linux.x86_64
+#requires.6.range = [5.2, 6.0)
+requires.6.filter = (&(osgi.os=linux)(osgi.arch=x86_64))
+
+requires.7.namespace = org.eclipse.equinox.p2.iu
+requires.7.name = org.eclipse.cdt.core.macosx
+#requires.7.range = [5.2, 6.0)
+requires.7.filter = (osgi.os=macosx)
+
+requires.8.namespace = org.eclipse.equinox.p2.iu
+requires.8.name = org.eclipse.cdt.core.solaris
+#requires.8.range = [5.2, 6.0)
+requires.8.filter = (&(osgi.os=solaris)(osgi.arch=sparc))
+
+requires.9.namespace = org.eclipse.equinox.p2.iu
+requires.9.name = org.eclipse.cdt.core.win32
+#requires.9.range = [5.3, 6.0)
+requires.9.filter = (osgi.os=win32)
+
+requires.10.namespace = org.eclipse.equinox.p2.iu
+requires.10.name = org.eclipse.cdt.core.win32.x86
+#requires.10.range = [5.2, 6.0)
+requires.10.filter = (&(osgi.os=win32)(osgi.arch=x86))
+
+requires.11.namespace = org.eclipse.equinox.p2.iu
+requires.11.name = org.eclipse.cdt.core.win32.x86_64
+#requires.11.range = [5.2, 6.0)
+requires.11.filter = (&(osgi.os=win32)(osgi.arch=x86_64))
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF
index 782dd87bb..6b00022d8 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF
@@ -5,7 +5,9 @@ Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.process;singleton:=true
Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.tcf.te.ui.terminals.process.activator.UIPlugin
Bundle-Vendor: %providerName
-Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0",
+Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native,
+ org.eclipse.cdt.utils.spawner;mandatory:=native
+Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional,
org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional,
org.eclipse.core.runtime;bundle-version="3.8.0",
org.eclipse.tcf.te.runtime;bundle-version="1.2.0",
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf
new file mode 100644
index 000000000..9bd5194fa
--- /dev/null
+++ b/target_explorer/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf
@@ -0,0 +1,82 @@
+###############################################################################
+# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved.
+# This program and the accompanying materials are made available under the terms
+# of the Eclipse Public License v1.0 which accompanies this distribution, and is
+# available at http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Wind River Systems - initial API and implementation
+###############################################################################
+
+# Most of the dependencies exposed here are actually covered in the feature.xml
+# This file ensures that the current bundle has all it needs, even if installed
+# without the enclosing org.eclipse.tcf.te.terminals.feature .
+# See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 .
+
+# 1. Make the optional cdt.core dependency non-greedy: Use (or update to proper
+# version!) when installed, but do not install automatically since the newer
+# org.eclipse.cdt.core.native can satisfy the dependency better. We use this
+# trick since CDT 8.3 had no version on export-package yet but we do want
+# a version constraint.
+requires.0.namespace = org.eclipse.equinox.p2.iu
+requires.0.name = org.eclipse.cdt.core
+#requires.0.range = [5.6, 6.0)
+requires.0.greedy = false
+requires.0.optional = true
+
+#requires.1.namespace = org.eclipse.equinox.p2.iu
+#requires.1.name = org.eclipse.cdt.core.native
+#requires.1.range = [5.6, 6.0)
+#requires.1.greedy = true
+#requires.1.optional = true
+
+# 2. Add the required fragments for local terminal support with proper version.
+requires.2.namespace = org.eclipse.equinox.p2.iu
+requires.2.name = org.eclipse.cdt.core.aix
+#requires.2.range = [5.3, 6.0)
+requires.2.filter = (osgi.os=aix)
+
+requires.3.namespace = org.eclipse.equinox.p2.iu
+requires.3.name = org.eclipse.cdt.core.linux
+#requires.3.range = [5.2, 6.0)
+requires.3.filter = (osgi.os=linux)
+
+requires.4.namespace = org.eclipse.equinox.p2.iu
+requires.4.name = org.eclipse.cdt.core.linux.ppc64
+#requires.4.range = [5.1, 6.0)
+requires.4.filter = (&(osgi.os=linux)(osgi.arch=ppc64))
+
+requires.5.namespace = org.eclipse.equinox.p2.iu
+requires.5.name = org.eclipse.cdt.core.linux.x86
+#requires.5.range = [5.2, 6.0)
+requires.5.filter = (&(osgi.os=linux)(osgi.arch=x86))
+
+requires.6.namespace = org.eclipse.equinox.p2.iu
+requires.6.name = org.eclipse.cdt.core.linux.x86_64
+#requires.6.range = [5.2, 6.0)
+requires.6.filter = (&(osgi.os=linux)(osgi.arch=x86_64))
+
+requires.7.namespace = org.eclipse.equinox.p2.iu
+requires.7.name = org.eclipse.cdt.core.macosx
+#requires.7.range = [5.2, 6.0)
+requires.7.filter = (osgi.os=macosx)
+
+requires.8.namespace = org.eclipse.equinox.p2.iu
+requires.8.name = org.eclipse.cdt.core.solaris
+#requires.8.range = [5.2, 6.0)
+requires.8.filter = (&(osgi.os=solaris)(osgi.arch=sparc))
+
+requires.9.namespace = org.eclipse.equinox.p2.iu
+requires.9.name = org.eclipse.cdt.core.win32
+#requires.9.range = [5.3, 6.0)
+requires.9.filter = (osgi.os=win32)
+
+requires.10.namespace = org.eclipse.equinox.p2.iu
+requires.10.name = org.eclipse.cdt.core.win32.x86
+#requires.10.range = [5.2, 6.0)
+requires.10.filter = (&(osgi.os=win32)(osgi.arch=x86))
+
+requires.11.namespace = org.eclipse.equinox.p2.iu
+requires.11.name = org.eclipse.cdt.core.win32.x86_64
+#requires.11.range = [5.2, 6.0)
+requires.11.filter = (&(osgi.os=win32)(osgi.arch=x86_64))

Back to the top