So I've been banging my head over the weekend on how best to handle eclipse plugin dependencies in M2. And I think I just realized my answer on my way home. Whenever you're building a eclipse plugin using PDE you're always building against a target distribution and the plugin jars that are in that distribution. A plugin developer wouldn't pick to build against version A of this plugin, version B of another plugin, basically they wouldn't be mixing and matching. Rather you build against a "target workbench" and the plugins and the versions of those plugins that come with a given build. So the question I was trying to figure out was how to manage the versions of the plugins as every build of eclipse, wtp, emf... etc have different versions of plugins due to the introduction of qualifier builds. The answer I think is that I shouldn't be looking at the individual versions of the jars as this greatly complicates things especially from a maintainability perspective, and I should only need to deal with building against a given distribution. And from that perspective the the answer is easy, and I can programatically set the versions of the plugins during build time depending on what distribution I'm pointing at.

So for any eclipse plugin dependencies declared in my pom's I'm thinking I'll introduce a "DISTRO" keyword for the version element. Then at build time, any eclipse dependency with a version set to DISTRO will be set to the exact version of the dependency inside the targeted distribution. This makes things much much simpler. Anytime I want to move up to a different build, only the build URL would need to change.

If anyone has any other ideas let me know.

- sachin



Reply via email to