Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » using jar packed bundles in rmap
using jar packed bundles in rmap [message #520970] Tue, 16 March 2010 01:02 Go to next message
Flavio Donze is currently offline Flavio Donze
Messages: 159
Registered: July 2009
Location: Switzerland
Senior Member
Hello

Since I can not use a directory location as part of my target definition (should I add a feature request?):
http://www.eclipse.org/forums/index.php?t=msg&th=163429& amp;start=0&

I'm trying to add a local directory provider in my rmap. The directory contains a bunch of springsource bundles (normal OSGi bundles) which are packed as jars.

It seems that buckminster is not able to read those bundles. Is this so? If yes why and is there a workaround? Or is just my configuration wrong....

here part of my rmap file:

    <searchPath name="bundlepool">
		<provider readerType="local" componentTypes="osgi.bundle,buckminster"
                  mutable="false" source="false">
            <uri format="C:/Programme/Hudson/bundlepool/{0}">
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
    </searchPath>

    <locator searchPathRef="resources" pattern="^com\.softmodeler\.*"/>
    <locator searchPathRef="resources" pattern="^ch\.scodi\.*"/>
    <locator searchPathRef="bundlepool" pattern="^com\.springsource\.*"/>



Here the messages I get for each bundle:

ERROR [0000] : No suitable provider for component com.springsource.ch.qos.logback.classic:osgi.bundle was found in resourceMap file:/C:/Programme/Hudson/workspace/jobs/scodi.client/worksp ace/scodi-rcp/features/ch.scodi.client.site/site.rmap

ERROR [0000] : No suitable provider for component com.springsource.ch.qos.logback.classic:osgi.bundle was found in searchPath bundlepool

ERROR [0000] : Resolution attempt ended with exception: Provider local(C:/Programme/Hudson/bundlepool/com.springsource.ch.qos .logback.classic): Missing CSpec source required by component type osgi.bundle

greets
flavio


Organisations- und Prozessdokumentation Software
Qualität Management QMS :: Information Management IMS
http://www.scodi.ch
Re: using jar packed bundles in rmap [message #521005 is a reply to message #520970] Tue, 16 March 2010 07:56 Go to previous messageGo to next message
Thomas Hallgren is currently offline Thomas Hallgren
Messages: 3229
Registered: July 2009
Senior Member
Hi Flavio,
The 'local' reader type assumes that the phase generally referred to as 'materialization' has taken place already and
that things are where they are supposed to be. In most cases, the 'local' reader is used by Buckminster internals only
but you can also use it when Buckminster can expect that a workspace has been checked out prior to the import.
Buckminster is then able to 'bind' things into the workspace. This however, assumes that the components found are projects.

In your case, I think you should use the 'url' reader type with the 'file:' protocol instead. That way, you give
Buckminster a chance to materialize the found material and copy it to your target platform (or import it into your
workspace). Example:

<provider readerType="url" componentTypes="osgi.bundle,buckminster" mutable="false" source="false">
<uri format="file:/C:/Programme/Hudson/bundlepool/{0}">
<bc:propertyRef key="buckminster.component" />
</uri>
</provider>

HTH,
- thomas


On 03/16/2010 02:02 AM, Flavio Donzé wrote:
> Hello
>
> Since I can not use a directory location as part of my target definition
> (should I add a feature request?):
> http://www.eclipse.org/forums/index.php?t=msg&th=163429& amp;start=0&
>
> I'm trying to add a local directory provider in my rmap. The directory
> contains a bunch of springsource bundles (normal OSGi bundles) which are
> packed as jars.
>
> It seems that buckminster is not able to read those bundles. Is this so?
> If yes why and is there a workaround? Or is just my configuration wrong....
>
> here part of my rmap file:
>
>
> <searchPath name="bundlepool">
> <provider readerType="local" componentTypes="osgi.bundle,buckminster"
> mutable="false" source="false">
> <uri format="C:/Programme/Hudson/bundlepool/{0}">
> <bc:propertyRef key="buckminster.component" />
> </uri>
> </provider>
> </searchPath>
>
> <locator searchPathRef="resources" pattern="^com\.softmodeler\.*"/>
> <locator searchPathRef="resources" pattern="^ch\.scodi\.*"/>
> <locator searchPathRef="bundlepool" pattern="^com\.springsource\.*"/>
>
>
>
> Here the messages I get for each bundle:
>
> ERROR [0000] : No suitable provider for component
> com.springsource.ch.qos.logback.classic:osgi.bundle was found in
> resourceMap file:/C:/Programme/Hudson/workspace/jobs/scodi.client/worksp
> ace/scodi-rcp/features/ch.scodi.client.site/site.rmap
>
> ERROR [0000] : No suitable provider for component
> com.springsource.ch.qos.logback.classic:osgi.bundle was found in
> searchPath bundlepool
>
> ERROR [0000] : Resolution attempt ended with exception: Provider
> local(C:/Programme/Hudson/bundlepool/com.springsource.ch.qos
> .logback.classic): Missing CSpec source required by component type
> osgi.bundle
>
> greets
> flavio
Re: using jar packed bundles in rmap [message #521076 is a reply to message #520970] Tue, 16 March 2010 12:20 Go to previous messageGo to next message
Flavio Donze is currently offline Flavio Donze
Messages: 159
Registered: July 2009
Location: Switzerland
Senior Member
Hey Thomas

Thanks a lot for your reply!!
It seems that buckminster now does go into the directory, but since the bundles are versioned they can't be found.

I found some infos about the matcher in the BuckyBook but I somehow can't get it to work.

Is there an easy way to do this without a matcher, something like:

    <searchPath name="bundlepool">
		<provider readerType="url" componentTypes="jar,osgi.bundle,buckminster" mutable="false" source="false">
			<uri format="file:/C:/Programme/Hudson/bundlepool/{0}*.jar">
				<bc:propertyRef key="buckminster.component"/>
			</uri>
		</provider>
	</searchPath>


some bundles differ in the bundle pool:
au.com.swz.swttocom.swt_1.0.4.jar (special: underscore)
com.springsource.bsh-2.0.0.b4.jar (special: b4)
com.springsource.ch.qos.logback.classic-0.9.9.jar (normal bundle)

greets and thanks
flavio


Organisations- und Prozessdokumentation Software
Qualität Management QMS :: Information Management IMS
http://www.scodi.ch
Re: using jar packed bundles in rmap [message #521150 is a reply to message #520970] Tue, 16 March 2010 15:08 Go to previous message
Flavio Donze is currently offline Flavio Donze
Messages: 159
Registered: July 2009
Location: Switzerland
Senior Member
Hey Thomas

I have found a workaround.
I created a new feature containing all the bundles form the external directory.
Used Eclipse "Export"=>"Deployable features".
Uploaded the export on the server and added this update site to the target definition.
Now the target definition handles those bundles.

A nice side effect, the whole team now shares the same bundle pool, no more copying the bundles around.

Thanks for your help!
greets
flavio


Organisations- und Prozessdokumentation Software
Qualität Management QMS :: Information Management IMS
http://www.scodi.ch
Previous Topic:"Cannot satisfy dependency" of target platform
Next Topic:Downloading/installing buckminster through the director: Unpack facility not configured
Goto Forum:
  


Current Time: Fri Oct 31 08:49:56 GMT 2014

Powered by FUDForum. Page generated in 0.01713 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software