Eclipse plugin doesn't work in Ganymede but works in Galileo

I made a plugin in eclipse Galileo. my plugin has the following dependencies:

Require-Bundle: org.eclipse.ui;bundle-version="3.5.0",
 org.eclipse.core.runtime;bundle-version="3.5.0",
 org.eclipse.core.resources;bundle-version="3.5.0",
 org.eclipse.jdt.core;bundle-version="3.5.0",
 org.eclipse.jdt.ui;bundle-version="3.5.0"

      

but as Ganymede has different versions above, namely:

Require-Bundle: org.eclipse.ui;bundle-version="3.4.2",
 org.eclipse.core.runtime;bundle-version="3.4.0",
 org.eclipse.core.resources;bundle-version="3.4.2",
 org.eclipse.jdt.core;bundle-version="3.4.2",
 org.eclipse.jdt.ui;bundle-version="3.4.2"

      

The same plugin doesn't work in both. So far I have created two plugins for Galileo and one for Ganymede with the above difference in manifest.mf

Is it possible to make the plugin type independent of eclipse, because in the future when a newer version of eclipse is created my plugin will be useless. even though the required setting is small ... is it possible to somehow make it independent.

I thought about adding the required plugins (eg org.eclipse.core.runtime; bundle-version = "3.5.0") along with the plugin and instructing people to insert them along with my plugin jar in their plugin directory ... Is there a chance they might conflict with an existing lower version of plugin packages?

+2


source to share


1 answer


The problem arises because the dependency declarations declare the minimum version, so in Ganymede the requirements are not met and your plugin is not loaded. If the plugin is Ganymede compatible, specify the dependency versions as such, eg.

org.eclipse.ui;bundle-version="3.4.2"

      

And you will be able to use the plugin on both platforms (and in future versions). I would use this approach.

Note. You can also install dependencies as version ranges if you want to include a specific range of supported versions. For example:



[3.0.0, 4.0.0)

      

Allows any version from 3.0.0 inclusive to version 4.0.0 (i.e. any 3.x version)

As Eclipse 4 comes to a calculation, this can be a problem for you.

Whatever you do, do not include 3.5 plugins in your distribution, this will cause all problems for Ganymede users, as other plugins may not work correctly with them.

+3


source







All Articles