Atlassian is hiring ... :)

On 2/12/08, Jason Dillon <[EMAIL PROTECTED]> wrote:
> IMO we should strive to make the pom even more verbose... So all us maven 
> folk can keep our jobbies :-P
>
> --jason
>
>
> -----Original Message-----
> From: Brett Porter <[EMAIL PROTECTED]>
>
> Date: Tue, 12 Feb 2008 16:35:35
> To:"Maven Developers List" <dev@maven.apache.org>
> Subject: Re: An Attribute Based POM
>
>
> Yes, I happen to agree with the theory Shane and Jason outlined and is
> why I accepted the status quo for 5 years :) But I always thought the
> Maven dependencies tag in Ant looked better and was easier to read. I
> think the expanded format makes more sense for machine-generated and -
> read documents.
>
> Perhaps XML isn't the right choice in the first place - but it is well
> tooled and familiar to Java weenies. Maybe one day IDE support will be
> ubiquitously used and it won't matter, but for now a lot of people
> look at POMs and edit them in vim and would like them to be simpler.
> The more important thing is remaining consistent throughout the change
> IMO.
>
> - Brett
>
> On 12/02/2008, at 4:22 PM, Don Brown wrote:
>
> > Whether an attribute-based design is "proper" is a less important
> > question than what makes Maven more usable.  Form should follow
> > function.  What users care about is more readable POMs, less typing,
> > and less clutter.  I've been really impressed with the Maven team
> > adopting a more programmatic approach to Maven recently, and this
> > change will go a long way to making Maven more usable and less
> > curse-worthy.
> >
> > Don
> >
> > On 2/12/08, Shane Isbell <[EMAIL PROTECTED]> wrote:
> >> I know that it is not always clear when to use and attribute and
> >> when to use
> >> an element; but typically, attributes are used to attach metadata or
> >> nonessential information about an element, while subelements are
> >> essential
> >> parts of the parent element. To me, the groupId, artifactId and
> >> version
> >> would be essential parts of a dependency element.
> >>
> >> Shane
> >>
> >> On Feb 10, 2008 10:45 PM, Brett Porter <[EMAIL PROTECTED]> wrote:
> >>
> >>> Hi,
> >>>
> >>> I've always wanted to see an attribute based POM, so based on
> >>> Nicolas'
> >>> suggestion I killed some time after waking up early this morning
> >>> to do
> >>> it.
> >>>
> >>> JIRA: http://jira.codehaus.org/browse/MNG-3397
> >>>
> >>> Here is a build to try:
> >>> http://people.apache.org/~brett/apache-maven-2.0.9-SNAPSHOT-terse-bin.tar.gz
> >>> and svn branch:
> >>> http://svn.apache.org/repos/asf/maven/components/branches/maven-2.0.x-terse
> >>>
> >>> Here are two different files for comparison (it halved the size):
> >>>
> >>> http://svn.apache.org/viewvc/maven/archiva/trunk/pom.xml?content-type=text%2Fplain&view=co
> >>>
> >>> http://svn.apache.org/viewvc/maven/archiva/trunk/pom-4.1.0.xml?content-type=text%2Fplain&view=co
> >>>
> >>> What I did is basically convert all the primitive types in the model
> >>> to attributes. I think more could be done (flattening lists, doing
> >>> the
> >>> same for plugin configuration elements), but this gets a big win at
> >>> least in the dependencies section for minimal work.
> >>>
> >>> It should be completely backwards compatible. It detects v4.0.0 and
> >>> reads it like it used to (then internally converts to the 4.1.0 Java
> >>> model).
> >>>
> >>> Here's some notes on the implementation so far (again, go easy, I
> >>> just
> >>> whipped this up today and it's not production ready):
> >>> - I see this as a stepping stone to the final solution. I've said
> >>> this
> >>> before, but I think the POM should separate the build information
> >>> from
> >>> the project metadata (particularly that stored in the repository). I
> >>> think we need to take baby steps towards that though.
> >>> - this could feasibly be applied to the settings and profile files
> >>> too.
> >>> - I switched to StAX in the process. This is likely going to
> >>> introduce
> >>> some small quirks we need to iron out (like the hack I added to
> >>> parse
> >>> Trygve's name - why did we ever allow that!) I think ideally we'd
> >>> use
> >>> the Xpp3Reader for 4.0.0 and the StaxReader for 4.1.0 for best
> >>> compatibility. This would also fix the problem in that I've just
> >>> removed the Xpp3Reader and so some plugins may choke. I'm sure the
> >>> release plugin won't be happy, for example.
> >>> - There is probably a slight performance overhead in reading v4 POMs
> >>> since it repopulates the model twice. I haven't measured it but if
> >>> it's an issue we could optimise the reader/converter. It also adds
> >>> about 200k to the maven-model JAR.
> >>> - It is very close to detecting based on namespace so we could
> >>> enforce
> >>> the use of that instead.
> >>>
> >>> Enjoy!
> >>>
> >>> Cheers,
> >>> Brett
> >>>
> >>> --
> >>> Brett Porter
> >>> [EMAIL PROTECTED]
> >>> http://blogs.exist.com/bporter/
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> 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]
> >
>
> --
> Brett Porter
> [EMAIL PROTECTED]
> http://blogs.exist.com/bporter/
>
>
> ---------------------------------------------------------------------
> 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