Skip to main content



      Home
Home » Archived » Buckminster » Getting older versions from p2
Getting older versions from p2 [message #744130] Fri, 21 October 2011 19:59 Go to next message
Eclipse UserFriend
I'm trying to specify a lower version number for a particular feature and/or plugin, and having trouble getting bucky to accept it. I've tried specifying the version in both the plugin MANIFESTs and in the feature.xml. In both cases I get my favorite message, e.g. "No suitable provider for component org.eclipse.emf.edit:eclipse.feature/[2.7.0,2.7.0]"

I know the artifacts are in there. I can get them using P2 UI by deselecting the "Show only latest versions" checkbox. Is there some equivalent property I need to set for buckminster in order to force it to search earlier versions, or am I likely doing something else wrong? I would think that this would work OOTB..
Re: Getting older versions from p2 [message #744567 is a reply to message #744130] Sat, 22 October 2011 03:09 Go to previous messageGo to next message
Eclipse UserFriend
On 2011-10-22 01:59, Miles Parker wrote:
> I'm trying to specify a lower version number for a particular feature and/or plugin, and having trouble getting bucky to
> accept it. I've tried specifying the version in both the plugin MANIFESTs and in the feature.xml. In both cases I get my
> favorite message, e.g. "No suitable provider for component org.eclipse.emf.edit:eclipse.feature/[2.7.0,2.7.0]"
>
Which is probably correct unless there's an artifact out there that has no qualifier. The qualifier segment is just as
valid as the three digit segments. If you want a constraint that selects 2.7.0.<don't care about qualifier> then you
must use a range like:

[2.7.0,2.7.1)

This range will give you all versions that start with 2.7.0 regardless of qualifier and it will exclude 2.7.1 and above.
Re: Getting older versions from p2 [message #745128 is a reply to message #744567] Sat, 22 October 2011 12:02 Go to previous messageGo to next message
Eclipse UserFriend
Right. I specified [2.7.0,2.7.1) in the plugin manifest, but it became 2.7.0 under resolution even if I don't specify a version in the feature.xml. I also tried specifying the exact version in the feature.xml.
Re: Getting older versions from p2 [message #745474 is a reply to message #745128] Sat, 22 October 2011 17:14 Go to previous message
Eclipse UserFriend
OK, I finally figured it out. I got the message above when I tried to specify a specific version from feature.xml. Here's what I'd tried..

1. All plugin MANIFEST.MF that reference the bundle have the version range specified, that is: org.eclipse.emf.edit;bundle-version="[2.7.0,2.7.1)"
2. My feature.xml includes the containing features without any version qualifiers, e.g. <includes id="org.eclipse.emf.edit" version="0.0.0"/>

But *that* didn't work. It then grabbed both 2.7.0 and 2.7.1 and failed during the build with an unsatisifed depenendency, presumably because emf.edit is a singleton and it had already loaded 2.7.1. Why is not exactly clear. But I have a theory why it grabbed 2.7.1 in the first place... Even though the current version of emf.edit.ui is still 2.7.0, the build for emf.edit.ui was created for Indigo SR1, which assumes the emf.edit 2.7.1 version. When I:

3. Removed both the emf.edit.ui and emf.edit features and instead used the plugin dependencies.

Buckminster then grabbed the emf.edit 2.7.0 and not the 2.7.1. I'm not sure my theory is correct though, because it was the SR1 build version of emf.edit.ui that ended up in the build. The only other explanation is that Buckminster pulled the emf.edit 2.7.1 feature even though I had requested the 2.7.0 emf.edit plugin.

whew...

[Updated on: Sat, 22 October 2011 17:15] by Moderator

Previous Topic:Buckminster article in Dr.Dobb's
Next Topic:Buckminster 3.6 - Headless - customize products
Goto Forum:
  


Current Time: Tue Jul 22 14:23:10 EDT 2025

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

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

Back to the top