Design Considerations: Refactoring POM Loading and Building for Maven 2.1

Accommodating New POM Elements

Namespacing might be able to help here, since it could allow us to implement chain-of-command for XML parsing itself. Also, it could help us to provide better support to users for XML editing.

Replacing XPP3 for Parsing

XPP3 is a dead project, and the parser has some deficiencies (need details here).

POM Encoding Support

This is partially dependent on XPP3 replacement, but we need to support document encodings for POMs and other parsed models. This will most likely involve fixing Modello and/or providing other XML parser implementations, and making them encoding-aware.

Fixed by XML Encodingsolution.

Switching to Chain-of-Command for Project Loading

This will allow us to implement a more flexible approach to POM loading, and support customization of this process.

Accommodating ModelVersions above 4.0.0

Need to be able to load multiple versions of the POM from the same runtime.

Refactoring Interpolation

Avoid chicken-and-egg problems with interpolation. Provide better handling for path-alignment.

Refactoring Inheritance and Profile-injection

Need more information about what is needed here.