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





From:   Neil Bartlett <njbartl...@gmail.com>
To:     Equinox development mailing list <equinox-dev@eclipse.org>,
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-boun...@eclipse.org



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.ber...@mwaysolutions.com> 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@eclipse.org
  https://dev.eclipse.org/mailman/listinfo/equinox-dev

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

<<inline: graycol.gif>>

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

Reply via email to