Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Equinox doesn't declare a Provide-Capability header for osgi.ee

Hi Christian,

Neil is correct, the framework has to compute the osgi.ee capability at runtime.  I'm not sure how you are getting the Resource to represent the system bundle for your repository.  I suspect you are parsing the bundle manifest that the org.eclipse.osgi jar just happens to include as an implementation detail.  This is an implementation detail of Equinox.  The specification does not require that framework implementation jars have a real bundle manifest.

No matter how you are generation the Resource that represents the system bundle, you likely are going to need a supplement resource that provides capabilities for the environment you are provisioning to or you are going to have to augment the system bundle resource to include additional capabilities for the environment.  This includes the osgi.ee capability but also includes other capabilities such as the system packages which are available from the VM and exported by the system bundle at runtime.  These are similar to the osgi.ee capability since they are computed at runtime after the framework has determined the level of the VM it is running on.

Tom



Inactive hide details for Neil Bartlett ---02/20/2013 03:04:52 AM---Christian, the osgi.ee capability can only be published at Neil Bartlett ---02/20/2013 03:04:52 AM---Christian, the osgi.ee capability can only be published at runtime, i.e. when Equinox works out what

From: Neil Bartlett <njbartlett@xxxxxxxxx>
To: Equinox development mailing list <equinox-dev@xxxxxxxxxxx>,
Date: 02/20/2013 03:04 AM
Subject: Re: [equinox-dev] Equinox doesn't declare a Provide-Capability header for osgi.ee
Sent by: equinox-dev-bounces@xxxxxxxxxxx





Christian, the osgi.ee capability can only be published at runtime, i.e. when Equinox works out what EE it's actually running on.

When performing resolution against a repository prior to runtime, you have to assume which EE you are targeting and handle the osgi.ee requirements from within your ResolveContext implementation.

Neil



On Wed, Feb 20, 2013 at 8:49 AM, Christian Berger <C.Berger@xxxxxxxxxxxxxxxxx> wrote:
    Hi @all,

     

    I was just wondering why Equinox exports org.osgi.framework in version 1.7 which indicates OSGi R5 support but does not provide any capability header for execution environments as described in the core specification (chapter 8.2). Since I’m using Equinox in conjunction with an implementation of the Repository Service I would need such a header.  This results from my requirements of my resources, because each Bundle-RequiredExecutionEnvironment will be transformed to a requirement like

     

    Require-Capability:

    osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"

     

    However, although Equinox is compatible with this execution environment the resolver process will fail because nobody provides this capability explicitly.

     

    It would be nice if somebody can give a statement on this.

     

    Thanks in advance

     

    Cheers Christian

    _______________________________________________
    equinox-dev mailing list

    equinox-dev@xxxxxxxxxxx
    https://dev.eclipse.org/mailman/listinfo/equinox-dev

_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/equinox-dev

GIF image


Back to the top