Looking in the archives, it is clear that Buckminster
supports only specified dependencies (in the manifest.mf file) during its
actions.
Hi Ikuo,
We are currently looking at how we can improve the Buckminster search
algorithms so that it
will be able to find bundles based on a need to import specific packages.
Someone must
provide a list of bundles that can be searched for exports that match. The
problem is a bit
similar to finding a suitable runtime implementation for something that
implements an
interface that you have expressed a dependency towards.
The design is not yet finished, so the current answer to your question is no,
we cannot
resolve these dependencies today. You will need to add a bundle requirement or
a feature
that will bring the providing bundles into the graph somehow in order for it to
build properly.
Kind Regards,
Thomas Hallgren
Due to this, I decided that I would create a cspex extension
file and add the dependencies directly:
<?xml
version="1.0" encoding="UTF-8"?>
<cspecExtension
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
<dependencies>
<!-- Place
your Dependencies here -->
<dependency name="OSGi_Project" componentType="osgi.bundle"
versionDesignator="1.0.0" versionType="OSGi"/>
</dependencies>
</cspecExtension>
Strangely, this doesn’t work (the dependency
isn’t resolved). It still doesn’t work if I add the
OSGi_Project to my manifest file as a dependency. It does work if I
remove my extension file and keep the OSGi_Project in my manifest file.
Is this a bug? Should this work? I note that in
the response above, the solution was not to create an extension file (which
seemed the obvious solution to me, but then, what do I know), but rather to add
the dependency to the manifest or to create a feature.
Joseph Campolongo
Charles River Analytics, Inc.