Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

xpp3 intentionally leaks from core

Maven core provides internally uses Xpp3Dom objects to plugins, created by Modello's code generated from pom's model for configuration DOM fields: see ConfigurationContainer.getConfiguration().

This internal representation leaks later in Maven public API: MavenProject.getGoalConfiguration for example.

Then it has to let Xpp3Dom leak for plugins to be able to cast these Objects to Xpp3Domuse this API: http://maven.apache.org/ref/3.0.4/maven-core/xref/org/apache/maven/classrealm/DefaultClassRealmManager.html#196Image Removed

(example yet to be shown of plugins getting the configuration from core as Object then casting to Xpp3Dom)

...

  1. MODELLO-260: Modello support to represent DOM content in another format than Xpp3Dom: still need to choose the best one (DOM's Element as it is in JDK since 1.4? Another because of DOM limitations?)
  2. MODELLO-262: add location tracking feature to StaX reader, since it is actually only available for Xpp3
  3. MSHARED-255: Maven XML merge feature for these DOM objects
  4. Plexus container support for these DOM objects?
  5. a helper for these plugins that will support both xpp3 and the new DOM representation and protect them from core move from one to the other.

...