Nicolas,
I agree that POM verbosity is a problem, but I also think that a lot
of people on this list are not going to want to introduce
revolutionary changes to POM structure without being convinced (as we
are) that it is a problem.
The first step to this would be to add the ability to plugin in
another parser implementation. Abstract both the pom and settings
parsing from the Xpp3 stuff generated by modello, and make the Xpp3
parsers the default implementation. At that point, it would be
easier to generate alternative parsers or preprocessors (like what
Redmond did with YAML). What can't change is the infoset of the
current POM, the current POM structure can't change because of
backwards compatibility, the POM that is generated in a repository
cannot change, but the format that people use to manage a project.
That should be pluggable and customizable, but any change introduced
can't break the current model.
But, I'm not optimisitc it is going to happen unless someone just does
it and writes a ranting blog entry about it.
Tim O'Brien
On Feb 10, 2008, at 3:34 AM, nicolas de loof wrote:
Hello,
Maven detractors blam maven POM.xml to become huge XML files even for
simple tasks.
Considering the comparison with ant, the latest use XML attributes
an few
XML elements, making tasks declaration consise.
Could we introduce a new XML schema (for maven 2.1) to support
simple types
elements as attributes, maybe using namespaces :
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.codehaus.mojo</groupId>
<artifactId>my-project</artifactId>
<version>1.0</version>
</project>
... could be written :
<project modelVersion="4.0.0"
groupId="org.codehaus.mojo" artifactId="my-project"
version="1.0">
</project>
We could use namespaces to avoid colision in maven schemas, and
support a mix of elements and attributs :
<project m2:groupId="org.codehaus.mojo" m2:artifactId="my-project"
m2:version="1.0">
<modelVersion>4.0.0</modelVersion>
</project>
The previous examples are just to fix the principle. Declaring
dependencies and plugins configuration could become really consice and
enhance readability.
Nico.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]