This is not a trivial task so I would suggest the following:
1) find out what the ideal representation would be
2) determine what would be needed in modello to generate the reader/
writer (this will actually be a lot of work)
3) try the changes out in the core
Dealing with 1) should be relatively straight forward in collecting
something in the Wiki, and you can look historically at what Spring
did with their descriptors which is exactly what we're talking about.
Find out how they dealt with it.
I think most of your time will be spent with 2). Basically you just
need to ensure that the object model ends up being the same regardless
of what read/writer you generate and use.
Right now in the core the Xpp3Reader is hard-coded but in the CAP
branch I've already started working on figuring out how to figure out
the version of the POM being used and use that information to select
the right reader. But I think you're going to be busy with 1) and 2)
for a while.
I don't think mixed versions are wise. You use one version of the
other. Also I don't see scripting ever getting into the reader/
writers. The POM is data and for Maven proper I would never support
scripting in the POM. That's not to say sibling projects can't use
groovy builders, or ruby scripting. I think creating a attributed
based POM will be hard enough.
Once 1) and 2) are done we can talk about integrating it into the
core. But 1) and 2) can be completely done and tested before trying to
push it into the core. If you push this into the dashboard and design
proposals it's something I can bring up with the folks that show up to
the Maven day next week. I can show them your proposal whatever state
it is in next Friday to get some feedback for you.
On 10-Feb-08, at 1: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.
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
jason at sonatype dot com
----------------------------------------------------------
A party which is not afraid of letting culture,
business, and welfare go to ruin completely can
be omnipotent for a while.
-- Jakob Burckhardt
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]