+1 on this from me. I have a very large project with a large number of dependencies and just the size of the file makes things more complicated than it could be.

Is seems to be that expressing having fewer characters that same exactly the same thing would make large files much simpler.

Matt
On Dec 14, 2005, at 8:06 PM, Matt Raible wrote:

After seeing what the Spring Developers have done to simplify Spring
context files, I can't help but think the same thing is possible for
Maven 2's pom.xml.  Is it possible to add namespaces and make
something like the following possible?

Before:

    <dependency>
      <groupId>springframework</groupId>
      <artifactId>spring</artifactId>
      <version>1.2.6</version>
    </dependency>

After:

<dep:artifact name="org/springframework/spring" version="1.2.6"/>

Or just allow attributes to make things a bit cleaner?

<dependency groupId="org.springframework" artifactId="spring" version="1.2.6"/>

Allowing 1 line instead of 5-6 lines per dependency would allow me to
cut my dependencies listing from 140 lines of XML to 37 lines.  When
the Spring guys allows a couple of elements as attributes (<ref> and
<value>) - it made writing Spring context files *much* easier.

Here's an example of my simplified version:

  <dependencies>
<dependency groupId="cargo" artifactId="cargo" version="0.6" scope="test"/> <dependency groupId="commons-lang" artifactId="commons-lang" version="2.0"/>
    <dependency groupId="commons-logging" artifactId="commons-logging"
version="1.0.4"/>
    <dependency groupId="displaytag" artifactId="displaytag"
version="1.0" scope="runtime">
      <exclusions>
        <exclusion artifactId="xalan" groupId="xalan"/>
      </exclusions>
    </dependency>
    <dependency groupId="uk.ltd.getahead" artifactId="dwr"
version="1.0" scope="runtime"/>
<dependency groupId="org.hibernate" artifactId="hibernate" version="3.0.5">
      <exclusions>
        <exclusion artifactId="jta" groupId="javax.transaction"/>
      </exclusions>
    </dependency>
    <dependency groupId="geronimo-spec" artifactId="geronimo-spec-jta"
version="1.0.1B-rc4"/>
    <dependency groupId="jmock" artifactId="jmock" version="1.0.1"
scope="test"/>
    <dependency groupId="junit" artifactId="junit" version="3.8.1"
scope="test"/>
    <dependency groupId="jwebunit" artifactId="jwebunit" version="1.2"
scope="test"/>
    <dependency groupId="httpunit" artifactId="httpunit" version="1.6"
scope="test">
      <exclusions>
        <exclusion artifactId="js" groupId="rhino"/>
      </exclusions>
    </dependency>
    <dependency groupId="log4j" artifactId="log4j" version="1.2.11"/>
    <dependency groupId="postgresql" artifactId="postgresql"
version="8.1-404.jdbc3"/>
    <dependency groupId="javax.servlet" artifactId="servlet-api"
version="2.4" scope="provided"/>
    <dependency groupId="javax.servlet" artifactId="jstl"
version="1.1.2" scope="runtime"/>
    <dependency groupId="taglibs" artifactId="standard"
version="1.1.2" scope="runtime"/>
    <dependency groupId="opensymphony" artifactId="sitemesh"
version="2.2.1" scope="runtime"/>
    <dependency groupId="springmodules"
artifactId="springmodules-validator" version="0.1" scope="runtime"/>
<dependency groupId="springframework" artifactId="spring" version="1.2.6"/>
    <dependency groupId="springframework" artifactId="spring-mock"
version="1.2.6" scope="test">
      <exclusions>
        <exclusion artifactId="spring-jdbc" groupId="springframework"/>
        <exclusion artifactId="spring-web" groupId="springframework"/>
      </exclusions>
    </dependency>
  </dependencies>

Of course, Ivy's syntax is even simpler, so maybe that'll provide some
motivation. ;-)

    <dependencies>
        <dependency org="apache" name="commons-lang" rev="2.0" />
        <dependency org="apache" name="commons-cli" rev="1.0" />
    </dependencies>

Matt

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

________________________________________________________________________ ___
Matt Brozowski, OpenNMS Maintainer                      Main:   +1 919 812 4984
The OpenNMS Group, Inc.                                 Fax:            +1 503 
961 7746
Email: [EMAIL PROTECTED]                                        URL:    
http://www.opennms.com


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

Reply via email to