Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] Strange resolver behaviour when resolving PDE plugins - using "native" target platform

Hi.

I have found strange resolver behaviour when resolving standard PDE plugins.

1) Created empty target platform with minimal set of plugins ("org.eclipse.osgi", etc.)
2) Switched workspace to this new target platform
3) Created plugin named "org.apache.log4j" (version "1.0.0") and put it to SVN
4) Created RMAP and CQUERY to this materialize this plugin
5) Executed CQUERY and got strange "org.apache.log4j" with version "1.2.13" !!!

According to Buckminster log, there was no query to my SVN at all:

registered serializer org.jabsorb.serializer.impl.RawJSONArraySerializer
registered serializer org.jabsorb.serializer.impl.RawJSONObjectSerializer
registered serializer org.jabsorb.serializer.impl.BeanSerializer
registered serializer org.jabsorb.serializer.impl.ArraySerializer
registered serializer org.jabsorb.serializer.impl.DictionarySerializer
registered serializer org.jabsorb.serializer.impl.MapSerializer
registered serializer org.jabsorb.serializer.impl.SetSerializer
registered serializer org.jabsorb.serializer.impl.ListSerializer
registered serializer org.jabsorb.serializer.impl.DateSerializer
registered serializer org.jabsorb.serializer.impl.StringSerializer
registered serializer org.jabsorb.serializer.impl.NumberSerializer
registered serializer org.jabsorb.serializer.impl.BooleanSerializer
registered serializer org.jabsorb.serializer.impl.PrimitiveSerializer
org.apache.log4j:osgi.bundle: Using resolver rmap
Found two entries for component org.eclipse.equinox.registry:osgi.bundle. Version 3.3.0.v20070522 located at C:/Work/go-product/GO/platform/plugins/org.eclipse.equinox.registry_3.3.0.v20070522.jar and version 3.3.1.R33x_v20070802 at C:/Work/go-product/GO/platform/plugins/org.eclipse.equinox.registry_3.3.1.R33x_v20070802.jar
Found two entries for component org.eclipse.core.expressions:osgi.bundle. Version 3.2.2.r322_v20070109a located at C:/Work/go-product/GO/platform/plugins/org.eclipse.core.expressions_3.2.2.r322_v20070109a.jar and version 3.3.0.v20070606-0010 at C:/Work/go-product/GO/platform/plugins/org.eclipse.core.expressions_3.3.0.v20070606-0010.jar

6) Found "org.apache.log4j" with version "1.2.13" in my Eclipse installation target platform.
7) Changed "org.apache.log4j" version to "2.0.0" in SVN
8) Executed CQUERY and got my plugin from SVN


So I can made a conclusion, that Buckminster also searches his "native" target platform (target platform which was used to start Eclipse), and if it finds a match here, which has bigger version than others, it will try to materialize this plugin from "native" platform. As such plugin has no source code (most of the times), there will be nothing materialized to workspace and the whole project will fail to launch.

So the question now. How can I set Buckminster not to look in his "native" target platform for plugins?

Thanks.


ps By the way, can anyone provide example how "eclipse.platform" reader works? I've tried such RMAP but couldn't get it to work:

<provider readerType="eclipse.platform" componentTypes="osgi.bundle,buckminster">
  <uri format="plugins/{0}">
    <bc:propertyRef key="buckminster.component" />
  </uri>
</provider>


Back to the top