Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Buckminster » How to trace version restrictions with Buckminster
How to trace version restrictions with Buckminster [message #1338621] Wed, 07 May 2014 09:46 Go to next message
Dennis Hendriks is currently offline Dennis HendriksFriend
Messages: 63
Registered: January 2010
Location: Eindhoven, The Netherland...
Member
Today, after adding some new plug-in dependencies (a few org.eclipse.fx.* plug-ins) to one of our own plug-ins, building our update site using Buckminster lead to some errors for the 'org.eclipse.jdt.core' plug-in.

Three separate times Buckminster tries to resolve that plug-in. Once with version range [3.7.0,3.9.0) and twice with version range [3.8.0,3.9.0). It finds version 3.9.2.v20140114-1555 using provider 'local(target)', but rejects it, as it is not in the requested range.

I checked all the added plug-ins, and their dependencies manually, to see if they request specific versions of this plug-in. The org.eclipse.fx.* plug-ins request version 3.7.0 as minimum (single version specified, not a range). Other org.eclipse.* plug-ins request version range [3.2.0,4.00).

I have no idea why Buckminster tries to resolve the plug-in with range [3.7.0,3.9.0) or [3.8.0,3.9.0). Is there any way to get even more debug information, that indicates what plug-in adds dependencies on which other plug-ins, and which version constraints they impose, to see which components is/are the cause of these too strict version range?

Here is some detailed information about the resolving of the 'org.eclipse.jdt.core' plug-in, from the console output, obtained by using headless Buckminster (latest of Eclipse 4.3) with '-L DEBUG':

org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Using resolver Local resolver
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Trying provider local(materialized)
No materialization found for org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Trying provider local(workspace)
No open workspace project found that corresponds to org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Trying provider local(target)
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Version 3.9.2.v20140114-1555 rejected: not designated by [3.7.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Rejecting provider eclipse.platform(plugin/org.eclipse.jdt.core): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Using resource map file:/local/se-update-site/build-dir/build.rmap
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Using search path eclipse.org
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Trying provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/])
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0): No provider was found that could resolve the request
ERROR   [0088] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0) was found in resourceMap file:/local/se-update-site/build-dir/build.rmap
  ERROR   [0088] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.7.0,3.9.0) was found in searchPath eclipse.org
    ERROR   [0088] : Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found


org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using resolver Local resolver
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(materialized)
No materialization found for org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(workspace)
No open workspace project found that corresponds to org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(target)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Version 3.9.2.v20140114-1555 rejected: not designated by [3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Rejecting provider eclipse.platform(plugin/org.eclipse.jdt.core): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using resource map file:/local/se-update-site/build-dir/build.rmap
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using search path eclipse.org
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/])
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): No provider was found that could resolve the request
ERROR   [0118] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0) was found in resourceMap file:/local/se-update-site/build-dir/build.rmap
  ERROR   [0118] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0) was found in searchPath eclipse.org
    ERROR   [0118] : Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found


org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using resolver Local resolver
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(materialized)
No materialization found for org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(workspace)
No open workspace project found that corresponds to org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider local(target)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Version 3.9.2.v20140114-1555 rejected: not designated by [3.8.0,3.9.0)
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Rejecting provider eclipse.platform(plugin/org.eclipse.jdt.core): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using resource map file:/local/se-update-site/build-dir/build.rmap
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Using search path eclipse.org
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Trying provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/])
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found
org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0): No provider was found that could resolve the request
ERROR   [0118] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0) was found in resourceMap file:/local/se-update-site/build-dir/build.rmap
  ERROR   [0118] : No suitable provider for component org.eclipse.jdt.core:osgi.bundle/[3.8.0,3.9.0) was found in searchPath eclipse.org
    ERROR   [0118] : Rejecting provider p2(http://download.eclipse.org/releases/kepler/[http://download.eclipse.org/releases/kepler/]): No component match was found

[Updated on: Wed, 07 May 2014 09:47]

Report message to a moderator

Re: How to trace version restrictions with Buckminster [message #1339357 is a reply to message #1338621] Wed, 07 May 2014 16:41 Go to previous messageGo to next message
Lorenzo Bettini is currently offline Lorenzo BettiniFriend
Messages: 1395
Registered: July 2009
Senior Member
Hi

I had similar problems with Xtext after a new release was released, and
I had to specify advisor nodes for version ranges.

You can see the discussion, and Thomas' answer here:
http://www.eclipse.org/forums/index.php/mv/msg/632519/1227009/#msg_1227009

I followed his suggestion "I usually use the cquery editor and the
resolve wizard to find out what goes on." Using that wizard you'll get a
tree (resolution tree) with all resolved dependencies and you can find
who introduces those dependencies with ranges.

However, even without DEBUG information you should see at least which
one of your features/bundles "breaks" the materialization...

By the way, are you starting with an empty target platform, after you
added the new dependency?

cheers
orenzo

--
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
HOME: http://www.lorenzobettini.it
Xtext Book:
http://www.packtpub.com/implementing-domain-specific-languages-with-xtext-and-xtend/book
Re: How to trace version restrictions with Buckminster [message #1341291 is a reply to message #1339357] Thu, 08 May 2014 12:14 Go to previous message
Dennis Hendriks is currently offline Dennis HendriksFriend
Messages: 63
Registered: January 2010
Location: Eindhoven, The Netherland...
Member
Hi Lorenzo,

Thanks for the quick reply.

I tried resolving using the wizard. It indeed showed the same problem (after I told it to continue on errors). I traced it to an optional plug-in (org.eclipse.fx.ide.pde.adapter). The plug-in had the problematic version constraint. I used an exported BOM rather than the GUI display to find this problem, as I could do a search in the file more easily than in the GUI display.

This optional plug-in would not be resolved/materialized when installing e(fx)clipse into my IDE target platform, as the version would conflict. In the target platform of the headless Buckminster, it would for some reason include the optional plug-in, leading to these conflicts. So, I excluded that optional plug-in using an advisor node, and this solved the problem.

Thanks again for your help,
Dennis
Previous Topic:Organize manifest/Export-Package
Next Topic:Headless build without RCP
Goto Forum:
  


Current Time: Wed Nov 26 16:42:45 GMT 2014

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

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