I was in the process of writing a similar (but much longer) response, but Christian's covers most of the same ground. I've only got two points to add.

Point 1: I think it's important not to conflate identifiers with other attributes. In particular, "scope" and "optional" shouldn't be considered part of an identifier: foo:bar:1:jar is exactly the same thing whether it's in test scope or not. Reusing one of Christian's examples, you'd wind up with

<dependency id="org.easymock:easymock:2.4:jar" scope="test" optional="false"/>

(Ignoring the fact that attributes are un-Maveny, of course---since we're bringing up "annoying" things! Note that I've also updated the example slightly to use version:packaging, which is more sortable.)

Point 2: Using URI syntax would mean you can take advantage of the URI facilities that exist in pretty much every language used today. In Java, for example, it would be easy to add a handler that would be applied to anything that supports URIs; you'd then be able to use Maven's repository resolution to retrieve resources.

Peter J.

On 27/05/09 11:58 PM, Christian Edward Gruber wrote:
Fair comment. Not less annoying. It's less size (not bytes, but actual typing... and to Brett's point, in Eclipse, I would be typing in a form, not the raw pom.xml file, so it'd be the same regardless of how it's represented in the pom.

Having said that, the ?params annoy me too, but I was responding to the argument that it was non-deterministic to reverse-engineer. That was simply untrue. And there might be less annoying approaches.

Frankly, I'm just as happy with groupId:artifactId:packaging:version:scope. You could even have a collapse-order, so you can make terser expressions (which I think is the case now). I just want a clean, easy to human-read, not annoying to type approach, ideally that only takes one line. So I can read large batches of them in one glance, instead of having to scroll of the screen.

Are these dealbreakers? No. But they're slightly less annoying to me than XML.

Christian.

P.S.  Example of the above.  Really really easy to read.  Easy to sort,

<project>
    <modelVersion>5.0.0</modelVersion>
    <parent id="my.project:my-parent:1.5" />
<artifact id=":my-artifact-id:" /> <!-- inherits null entries from parent -->
    <packaging>war</packaging>
    <dependencies>
        <dependency id="org.springframework:spring-beans:2.5" />
        <dependency id="org.springframework:spring-something-other:2.5" />
        <dependency id="net.blah:blah-framework:3.3" />
        <dependency id="my.project:my-project-flash-application:swf:1.5" />
<dependency id="org.easymock:easymock::2.4:test" /> <!-- jar is default -->
    </dependencies>
</project>



On 27-May-09, at 23:35 , Brian Fox wrote:

That's less annoying than the current format? Not to me that's for sure.

On Wed, May 27, 2009 at 7:28 PM, Christian Edward Gruber <
christianedwardgru...@gmail.com> wrote:

I'm not sure how that pans out.


mvn://net.israfil.foundation/foundation-container/1.1?optional&packaging=pom&scope=test

Done.

And there's no issue with reverse engineering. The "host" is the groupid,
the first folder is the artifact, the last item is the version, and the
supplemental attributes are uri parameters. (maybe there's a terser wya to
do that, but it's the best I can think of off-hand.)  There's nothing
ambiguous there, is there?  It's also extensible.

cheers,
Christian.


On 27-May-09, at 22:24 , Brian Fox wrote:

The problem with this is two-fold actually,
The url representation currently doesn't encapsulate the other parts of
the
dependency declaration like optional or scope. Further, it is difficult to deterministically reverse a url like that back to the GAV components... we
struggle with this often in Nexus when people have unusual artifact or
group
ids that make it hard for example to separate the group from the artifact,
or the version from the classifier.

On Wed, May 27, 2009 at 2:06 PM, Jorg Heymans <jorg.heym...@gmail.com
wrote:

On Wed, May 27, 2009 at 3:55 PM, Christian Edward Gruber
<christianedwardgru...@gmail.com> wrote:

Anyway, I'm +1 on this.  It is clear, unambiguous, and terse.  Those
work
for me.


My thoughts exactly !

Jorg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



Christian Edward Gruber
e-mail: christianedwardgru...@gmail.com
weblog: http://www.geekinasuit.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



Christian Edward Gruber
e-mail: christianedwardgru...@gmail.com
weblog: http://www.geekinasuit.com/


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



--
Sometimes the Universe needs a change of perspective.
  --J. Michael Straczynski


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to