[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Execution Environments of Equinox

equinox-dev-bounces@xxxxxxxxxxx wrote on 10/26/2006 04:28:20 AM:

> Reading various Manifest of equinox bundles I obtain:
> - Some bundles runs on OSGi Minimum and J2SE 1.4. is this a
> contradiction? This means that I can't run my bundle on J2ME

The Bundle-RequireExecutionEnvironment header can specify multiple EEs without contradiction.  The least common denominator is the smallest EE that that bundle can run on.  For example, the org.eclipse.osgi (system bundle) has the following header

Bundle-RequiredExecutionEnvironment: J2SE-1.4, OSGi/Minimum-1.0

This means it can run on OSGi/Minimum-1.0 VM or any super set of the VM profile.  In this case J2SE-1.4 is a superset of OSGi/Minimum-1.0 so we really did not need to specify it in the manifest.  The Eclipse build process does pay attention to the order of this header though.  In this case we use this to indicate that the org.eclipse.osgi bundle needs to build against J2SE-1.4 but it can run on OSGi/Minimum-1.0.  This allows us to use more advanced features of the VM if we are running on a 1.4 vm, but we can still run on OSGi/Minimum-1.0.

> - Reading here ( http://www.eclipse.
> org/eclipse/development/eclipse_project_plan_3_2.html#Appendix1)
> instead I say that some basic bundles (core framework) requires only
> OSGI Minimum (which allows me to run bundles on J2ME devices)
> - Some Complendium Bundles don't have execution environment
> specification in Manifest.

Which bundles specifically?  Bug reports should be opened so that we accurately state our requirements.

> What does it mean? Excluding the contradiction I can say that:
> - Equinox framework runs on J2ME, J2SE VM

This is accurate, we can run way down on OSGi/Minimum-1.0

> - Some Compendium Frameworks can run only on a J2SE VM

I suspect most of the bundles in Equinox can run on at least Foundation-1.0 and probably down on OSGi/Minimum-1.0.  But from what you say we may be missing some Bundle-RequiredExecutionEnvironment headers.