Yes, I started to look into that, but the versions of the plugins in eclipse don't follow maven convention, so for some of them I could tweak the versions during artifact install, but for others I'm not 100% sure yet if the maven could handle the version comparisons. I'd have to play around with it. But using version ranges I still have to manually open up and look at what the versions of a distribution are. Plugins jars only change versions if the content in them changes. So an eclipse feature X version 3.0.0 could have X number of plugins with versions 3.0.0 but one plugin could still be at 1.0.0. It stills introducing a maintainability issue when I move up builds frequently. I like having the idea of restriction be defined in the distribution URLs and not the content of the distribution. But then again, I'm always changing my mind :) so let me start with below just to get things building then we can see if it makes better sense to use version ranges.

Sound good?

- sachin



On Mar 6, 2006, at 7:33 PM, Dain Sundstrom wrote:

Why not just use maven 2 version ranges?

-dain

On Mar 6, 2006, at 4:18 PM, Sachin Patel wrote:

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