Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Archived » Buckminster » Using "buckminster.version" in a rmap
Using "buckminster.version" in a rmap [message #381049] Wed, 12 November 2008 14:51 Go to next message
Eclipse UserFriend
Originally posted by: jdu.mikrosimage.eu

Hi,
I'm trying to set a default searchPath for all the third-party libs (c++) I link against in my projects,
and it seems I can use the buckminster.component attribute as a propertyRef in the uri, but not the buckminster.version attribute.
I don't really know if it's a bug or if the buckminster.version attribute should not be used in a rmap, so here's what I've wrote.

* The cspecs of the libs are versioned under svn for each version of a lib, in a folder named:
external_lib/component_name/component_version/component_name .cspec

* Here's the searchPath I use:

<searchPath name="default">
<provider readerType="svn" componentTypes="buckminster" mutable="true" source="true">
<uri format="https://{0}:{1}@svn.mikros.fr/trunk/external_lib/{2}/{3}">
<bc:propertyRef key="svn.login"/>
<bc:propertyRef key="svn.passwd"/>
<bc:propertyRef key="buckminster.component"/>
<bc:propertyRef key="buckminster.version"/>
</uri>
</provider>
</searchPath>

* And the error log I get:

Downloading http://wiki.mikros.fr/mikros.rmap
myLib:buckminster/[5.0.44,5.0.44]#OSGi: Using resource map http://wiki.mikros.fr/mikros.rmap
myLib:buckminster/[5.0.44,5.0.44]#OSGi: Using search path default
myLib:buckminster/[5.0.44,5.0.44]#OSGi: Trying provider svn(https://{0}:{1}@wiki.mikros.fr/trunk/external_lib/{2}/{3})
myLib:buckminster/[5.0.44,5.0.44]#OSGi: trunk/head will be searched
Listing remote folder https://wiki.mikros.fr/trunk/external_lib/myLib#HEAD
Obtaining remote folder https://wiki.mikros.fr/trunk/external_lib/myLib/null[HEAD]
myLib:buckminster/[5.0.44,5.0.44]#OSGi: Rejecting provider svn(https://{0}:{1}@wiki.mikros.fr/trunk/external_lib/{2}/{3}): No
component match was found
myLib:buckminster/[5.0.44,5.0.44]#OSGi: No provider was found that could resolve the request
ERROR [0002] : No suitable provider for component myLib:buckminster/[5.0.44,5.0.44]#OSGi was found in searchPath default
ERROR [0002] : Rejecting provider svn(https://{0}:{1}@wiki.mikro.fr/trunk/external_lib/{2}/{3}): No component match was found

* When in the URI I replace {3} with the actual version number, everything is ok and the materialization process runs fine.

I can handle that problem naming the buckminster component "myLib_version", and then using a specific searchPath to match the
version number with a Replace component. But I really want to separate the component name from the version number, and avoid to
rewrite my rmap each time I need a new library.

Have you got any idea?


Regards

Julien Dubuisson
Re: Using "buckminster.version" in a rmap [message #381052 is a reply to message #381049] Wed, 12 November 2008 15:39 Go to previous message
Thomas Hallgren is currently offline Thomas HallgrenFriend
Messages: 3240
Registered: July 2009
Senior Member
Hi Julien,
The provider is used for finding the correct version. Buckminster does not know what
version it will find and hence, no "buckminster.version" property can be set. The
component request (or cquery) might have a version designator (available in the property
"buckminster.version.designator") to limit the search but they are probably not very
useful in this context since they typically denote ranges, i.e. "[5.0.44,5.0.44]".

Why not tag your versions instead and use a VersionConverter that scans the existing tags?

Regards,
Thomas Hallgren


Julien Dubuisson wrote:
> Hi,
> I'm trying to set a default searchPath for all the third-party libs
> (c++) I link against in my projects,
> and it seems I can use the buckminster.component attribute as a
> propertyRef in the uri, but not the buckminster.version attribute.
> I don't really know if it's a bug or if the buckminster.version
> attribute should not be used in a rmap, so here's what I've wrote.
>
> * The cspecs of the libs are versioned under svn for each version of a
> lib, in a folder named:
> external_lib/component_name/component_version/component_name .cspec
>
> * Here's the searchPath I use:
>
> <searchPath name="default">
> <provider readerType="svn" componentTypes="buckminster" mutable="true"
> source="true">
> <uri format="https://{0}:{1}@svn.mikros.fr/trunk/external_lib/{2}/{3}">
> <bc:propertyRef key="svn.login"/>
> <bc:propertyRef key="svn.passwd"/>
> <bc:propertyRef key="buckminster.component"/>
> <bc:propertyRef key="buckminster.version"/>
> </uri>
> </provider>
> </searchPath>
>
> * And the error log I get:
>
> Downloading http://wiki.mikros.fr/mikros.rmap
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: Using resource map
> http://wiki.mikros.fr/mikros.rmap
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: Using search path default
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: Trying provider
> svn(https://{0}:{1}@wiki.mikros.fr/trunk/external_lib/{2}/{3})
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: trunk/head will be searched
> Listing remote folder https://wiki.mikros.fr/trunk/external_lib/myLib#HEAD
> Obtaining remote folder
> https://wiki.mikros.fr/trunk/external_lib/myLib/null[HEAD]
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: Rejecting provider
> svn(https://{0}:{1}@wiki.mikros.fr/trunk/external_lib/{2}/{3}): No
> component match was found
> myLib:buckminster/[5.0.44,5.0.44]#OSGi: No provider was found that could
> resolve the request
> ERROR [0002] : No suitable provider for component
> myLib:buckminster/[5.0.44,5.0.44]#OSGi was found in searchPath default
> ERROR [0002] : Rejecting provider
> svn(https://{0}:{1}@wiki.mikro.fr/trunk/external_lib/{2}/{3}): No
> component match was found
>
> * When in the URI I replace {3} with the actual version number,
> everything is ok and the materialization process runs fine.
>
> I can handle that problem naming the buckminster component
> "myLib_version", and then using a specific searchPath to match the
> version number with a Replace component. But I really want to separate
> the component name from the version number, and avoid to rewrite my rmap
> each time I need a new library.
>
> Have you got any idea?
>
>
> Regards
>
> Julien Dubuisson
Previous Topic:Proposal: Build source plugins for buckminster
Next Topic:Bug in VersionFinder
Goto Forum:
  


Current Time: Wed Sep 25 19:01:34 GMT 2024

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

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

Back to the top