On Feb 10, 2008, at 10:57 AM, nicolas de loof wrote:

Using attributes in place of XML elements is not revolutionary. I don't
speak here about writting POMs in groovy !


That's the difference, I do. I think people should have the opportunity to replace the parser entirely and write custom implementations. Class POM + something more like what you propose. But I also don't think the door should be closed for someone to come along and write a parser that can read something like YAML or Groovy.

This is just about better use of XML, it requires only a "tweak" of the Xpp3Parser to handle attributes the same way it handles nested elements, and
maybe to change the install/deploy to convert the POM to "classic"
element-based format.


The problem here is that there is one way to parse a model, changing that one way to a different way isn't the fix. The fix is to provide more than one implementation.



Nico.

2008/2/10, Tim O'Brien <[EMAIL PROTECTED]>:

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]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to