Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[epp-dev] Using p2.inf to optionally import Linux Tools features in CPP package

If there are no objections or technical issues, I would like to apply the attached patch to the CPP package feature so that the Linux Tools features are optionally imported as opposed to included. The features were included because some of them have filters so they cannot be imported by some of the supported CPP platform/OS combinations. This wasn't a problem when Linux Tools had its own EPP package and restricted supported platforms to Linux x86 and x86_64. The import statement does not support use of an "optional" flag so an include statement was used.

The change would have the benefit that those features imported this way should be able to be updated in the future. Without this patch, those included features can only be updated by an update to the parent CPP package feature.

IMO, this meshes better with the other features that are required by the CPP package (such as CDT features) that can be updated.

-- Jeff J.
commit b2906d2e87e10150b38f1de7397db89d719a91bd
Author: Jeff Johnston <jjohnstn@xxxxxxxxxx>
Date:   Wed May 16 14:12:00 2012 -0400

    In CPP feature, use p2.inf to optionally import Linux Tool features.

diff --git a/packages/org.eclipse.epp.package.cpp.feature/feature.xml b/packages/org.eclipse.epp.package.cpp.feature/feature.xml
index 7e27c58..121f29c 100644
--- a/packages/org.eclipse.epp.package.cpp.feature/feature.xml
+++ b/packages/org.eclipse.epp.package.cpp.feature/feature.xml
@@ -19,72 +19,7 @@
       <discovery label="Eclipse Platform 4.2" url="http://download.eclipse.org/eclipse/updates/4.2"/>
    </url>
 
-   <!-- Optionally include the Linux Tools features -->
-   <includes 
-         id="org.eclipse.linuxtools.cdt.libhover.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.cdt.libhover.devhelp.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.changelog"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.gprof.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.oprofile.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.perf.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.rpm"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.rpm.ui.editor.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.systemtap"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.callgraph.feature"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.valgrind"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.gcov"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
-   <includes 
-         id="org.eclipse.linuxtools.lttng"
-         version="0.0.0"
-         optional="true"
-         search-location="both"/>
+   <!-- see p2.inf file for optionally imported Linux Tools features -->
 
    <requires>
       <import feature="org.eclipse.cvs"/>
diff --git a/packages/org.eclipse.epp.package.cpp.feature/p2.inf b/packages/org.eclipse.epp.package.cpp.feature/p2.inf
index d19b410..e8d611a 100644
--- a/packages/org.eclipse.epp.package.cpp.feature/p2.inf
+++ b/packages/org.eclipse.epp.package.cpp.feature/p2.inf
@@ -7,5 +7,67 @@ requires.1.name=org.eclipse.platform.ide
 #requires.1.range=[3.5.0.I20090522-1710,3.5.0.I20090522-1710]
 requires.1.greedy=true
 
+#      <import feature="org.eclipse.linuxtools.cdt.libhover.feature"/>
+requires.2.namespace=org.eclipse.equinox.p2.iu
+requires.2.name=org.eclipse.linuxtools.cdt.libhover.feature.feature.group
+requires.2.optional=true
 
+#      <import feature="org.eclipse.linuxtools.cdt.libhover.devhelp.feature"/>
+requires.3.namespace=org.eclipse.equinox.p2.iu
+requires.3.name=org.eclipse.linuxtools.cdt.libhover.devhelp.feature.feature.group
+requires.3.optional=true
 
+#      <import feature="org.eclipse.linuxtools.changelog"/>
+requires.4.namespace=org.eclipse.equinox.p2.iu
+requires.4.name=org.eclipse.linuxtools.changelog.feature.group
+requires.4.optional=true
+
+#      <import feature="org.eclipse.linuxtools.gprof.feature"/>
+requires.5.namespace=org.eclipse.equinox.p2.iu
+requires.5.name=org.eclipse.linuxtools.gprof.feature.feature.group
+requires.5.optional=true
+
+#      <import feature="org.eclipse.linuxtools.oprofile.feature"/>
+requires.6.namespace=org.eclipse.equinox.p2.iu
+requires.6.name=org.eclipse.linuxtools.oprofile.feature.feature.group
+requires.6.optional=true
+
+#      <import feature="org.eclipse.linuxtools.perf.feature"/>
+requires.7.namespace=org.eclipse.equinox.p2.iu
+requires.7.name=org.eclipse.linuxtools.perf.feature.feature.group
+requires.7.optional=true
+
+#      <import feature="org.eclipse.linuxtools.rpm"/>
+requires.8.namespace=org.eclipse.equinox.p2.iu
+requires.8.name=org.eclipse.linuxtools.rpm.feature.group
+requires.8.optional=true
+
+#      <import feature="org.eclipse.linuxtools.rpm.ui.editor.feature"/>
+requires.9.namespace=org.eclipse.equinox.p2.iu
+requires.9.name=org.eclipse.linuxtools.rpm.ui.editor.feature.feature.group
+requires.9.optional=true
+
+#      <import feature="org.eclipse.linuxtools.systemtap"/>
+requires.10.namespace=org.eclipse.equinox.p2.iu
+requires.10.name=org.eclipse.linuxtools.systemtap.feature.group
+requires.10.optional=true
+
+#      <import feature="org.eclipse.linuxtools.callgraph.feature"/>
+requires.11.namespace=org.eclipse.equinox.p2.iu
+requires.11.name=org.eclipse.linuxtools.callgraph.feature.feature.group
+requires.11.optional=true
+
+#      <import feature="org.eclipse.linuxtools.valgrind"/>
+requires.12.namespace=org.eclipse.equinox.p2.iu
+requires.12.name=org.eclipse.linuxtools.valgrind.feature.group
+requires.12.optional=true
+
+#      <import feature="org.eclipse.linuxtools.gcov"/>
+requires.13.namespace=org.eclipse.equinox.p2.iu
+requires.13.name=org.eclipse.linuxtools.gcov.feature.group
+requires.13.optional=true
+
+#      <import feature="org.eclipse.linuxtools.lttng"/>
+requires.14.namespace=org.eclipse.equinox.p2.iu
+requires.14.name=org.eclipse.linuxtools.lttng.feature.group
+requires.14.optional=true

Back to the top