Hi,

I wanted to bring this up before we go too far down the rabbit hole WRT "shading" plexus-utils in the new releases of maven (2.1.x).

Right now, there are some mojos (eclipse:eclipse being one of them) that extract information from project.build.plugins.plugin.configuration. When these mojos try to cast that configuration object as an Xpp3Dom (admittedly, this is a *bad* thing to make them do, but otherwise they're left with a useless java.lang.Object instance), they come up with a ClassCastException. The reason is that the Xpp3Dom they're using isn't loaded from the same place as the one used by maven when the POM is read.

The way I see it, we have only a very few options here. We need to hide the version of plexus-utils used in Maven, so plugins can make use of new features in subsequent p-u releases. However, without reverting to a javax.xml DOM, we're going to have a CCE problem when we do this and plugins try to access raw configuration info. Even if we did go to a DOM implementation for the configuration, it will still leave plenty of plugins in the lurch.

I'm not happy with continuing to filter plexus-utils out of plugin dependency sets (as 2.0.x does). So, what else can we do to solve this issue?

-john
---
John Casey
Committer and PMC Member, Apache Maven
mail: jdcasey at commonjava dot org
blog: http://www.ejlife.net/blogs/john


Reply via email to