Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 136681 - Need to update manifests with ExecutionEnvironment header
Summary: Need to update manifests with ExecutionEnvironment header
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Runtime (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2 RC2   Edit
Assignee: platform-runtime-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 136733
Blocks:
  Show dependency tree
 
Reported: 2006-04-13 12:38 EDT by DJ Houghton CLA
Modified: 2013-01-10 04:18 EST (History)
4 users (show)

See Also:


Attachments
patch (8.04 KB, patch)
2006-04-13 12:47 EDT, DJ Houghton CLA
no flags Details | Diff
patch (9.00 KB, patch)
2006-04-13 16:39 EDT, Thomas Watson CLA
no flags Details | Diff
patch (25.90 KB, patch)
2006-04-19 14:52 EDT, Thomas Watson CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description DJ Houghton CLA 2006-04-13 12:38:18 EDT
We need to update the manifest files for our bundles with the header indicating the execution environment.

We also need to update the build.properties for those plug-ins (org.eclipse.osgi) that require a different class library to compile against, than it needs to run.

Will attach patch.
Comment 1 DJ Houghton CLA 2006-04-13 12:47:26 EDT
Created attachment 38527 [details]
patch

Here is a patch for the following projects:

org.eclipse.core.contenttype
org.eclipse.core.runtime
org.eclipse.core.runtime.compatibility
org.eclipse.core.runtime.compatibility.auth
org.eclipse.core.runtime.compatibility.registry
org.eclipse.equinox.common
org.eclipse.equinox.preferences
org.eclipse.equinox.registry
org.eclipse.equinox.supplement
org.eclipse.osgi
org.eclipse.osgi.services
org.eclipse.osgi.util
Comment 2 Thomas Watson CLA 2006-04-13 15:01:51 EDT
This patch has flushed out a bug:

Here is the situation.  The equinox.registry bundle should be able to run on Foundation 1.0 or J2SE-1.3 as long as there is a bundle installed which exports the JAXP packages.  The equinox.registry bundle imports the following JAXP packages:

 org.xml.sax,
 org.xml.sax.helpers,
 javax.xml.parsers

If we add the following to the manifest then the bundle will not resolve because these packages are not provided by J2SE-1.3 or Foundation-1.0:

Bundle-RequiredExecutionEnvironment: CDC-1.0/Foundation-1.0, J2SE-1.3

Adding the jre.compilation.profile = J2SE-1.4 to the build.properties does not help because PDE will not (and IMO should not) substitute the value for the EE header in the manifest.  So in the state we will not allow the package imports to resolve because the EE for the bundle does not provide the packages and there is no other bundle in the system which exports the packages.  I thought that adding J2SE-1.4 to the front of the EE list would help but the State currently will resolve the EE to the "smallest" possible EE no matter what the order of the EE specified in the manifest.  Changing the state to pay attention to the order the EEs are specified is an easy fix but it would require us to put J2SE-1.4 as the first EE in registry and other bundles that import JAXP packages.

Thoughts?
Comment 3 DJ Houghton CLA 2006-04-13 15:12:09 EDT
Comment on attachment 38527 [details]
patch

Just realized we need a new patch here.
Comment 4 Thomas Watson CLA 2006-04-13 16:39:13 EDT
Created attachment 38552 [details]
patch

new patch with updated build.properties for contenttype and registry to specify jre.compilation.profile = J2SE-1.4

These also have J2SE-1.4 specified first so that the resolver will prefer that profile when resolving the bundle.  (this will not work until bug 136733 is released)

If at all possible we should try to release bug 136733 for RC1 so that we can have releng move up to RC1 to build.  Otherwise we have a chicken and egg problem getting stuff built with the new manfests ...
Comment 5 Thomas Watson CLA 2006-04-17 16:39:48 EDT
bug 136733 has been released for RC2.  Before this bug is fixed we need releng to move up to a version of PDE-Build that includes this fix in org.eclipse.osgi.

Kim, would it be possible to move up to the PDE-Build (including org.eclipse.osgi) from tonights N-Build N20050418-0010 or later?  We need releng to use the fix in org.eclipse.osgi in order to release the the updated manifest files for the equinox bundles.
Comment 6 Kim Moir CLA 2006-04-18 11:32:32 EDT
I've released the new version of pde build to HEAD and we'll be starting a test build shortly.

Also, if you need a releng person on a bug, please cc   	platform-releng-inbox@eclipse.org instead of our email addresses directly.  

In case one of us is on a fantastic tropical island vacation, this will ensure that the other person sees the bug :-)
Comment 7 Kim Moir CLA 2006-04-18 17:21:20 EDT
Version 3.2.0.N20060418-0010 of pde build tested and released for tonight's build.
Comment 8 Thomas Watson CLA 2006-04-19 14:52:36 EDT
Created attachment 38968 [details]
patch

New patch against head.  This patch also updates the .classpath files and project compiler settings for each project to reflect the EE.  DJ please review and release.  Note that you must use N20060418-0010 or later as your development eclipse for the patch to work in your workspace.
Comment 9 DJ Houghton CLA 2006-04-19 18:05:08 EDT
Looks good.
Released.
Comment 10 Gunnar Wagenknecht CLA 2013-01-10 04:18:05 EST
I know this is a very old bug but I'm wondering if it's related to an issue we are seeing.

We have a workspace with a Java 7 JDK setup as only JRE. We also have a product definition that include equinox.registry through a feature.

PDE product export fails because of the following missing packages:
 org.xml.sax,
 org.xml.sax.helpers,
 javax.xml.parsers

However, launching the product using the product launch configuration link in the product editor is successfully. The packages are provided by org.eclipse.osgi (i.e. from the JRE).

Any ideas why PDE fails to resolve the packages?