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