Brent,

If you haven't read the Sonatype link, it tells some important things
about how the version number is interpreted by Maven. The standard is
using 3 numbers, and it allows Maven to know that, for example, 1.3 <
1.4. But what happens if you version as "1.3-jdbc3"? Is anyone going
to confident in that 1.3 < 1.3-jdbc3? It's not a version number, but
clearly a different artifact. As the link says, Maven treats
non-standard version numbers as straight lexical comparisons.

For users who use employ version ranges in their POMs like "[1,3,)"
they are telling Maven they want >= 1.3. It is misleading -- I
actually believe wrong -- to say that the "1.3-jdbc3" version is less
than version "1.3".

I think it's clear you have separate artifacts because the "1.3-jdbc3"
incorrectly fit on the range of version numbers.

Paul

On Wed, Nov 25, 2009 at 4:56 PM, Brent Worden <[email protected]> wrote:
> On Wed, Nov 25, 2009 at 4:23 PM, Paul Benedict <[email protected]> wrote:
>>
>> Phil,
>>
>> I don't think you should be modifying the version (and groups, really)
>> here. All the artifacts belong to version 1.3.
>>
>> Maven does have a concept of a qualifier, but according to Sonatype,
>> it's only to capture milestone builds:
>> http://www.sonatype.com/books/maven-book/reference/pom-relationships-sect-pom-syntax.html
>>
>> What you have, simply, is, different artifacts. Keep the same groupId
>> and version, just alter the artifact names.
>>
>> JDBC 4 version (JDK 1.6)
>> groupId = org.apache.commons
>> artifactId = commons-dbcp
>> version = 1.3
>>
>> JDBC 3 version (JDK 1.4-1.5)
>> groupId = org.apache.commons
>> artifactId = commons-dbcp-jdbc3
>> version = 1.3
>>
>> Paul
>>
>
> I do not agree with the artifact/version statements.  In my mind,
> different artifactId's imply the jars are companion or supplementary
> artifacts.  The JDBC 3 and 4 version of commons-dbcp are drop in
> replacements of each other.  To me, this implies different artifact
> versions.
>
> I do agree, that the groupId should be constant.
>
> Also, if the multiple version approach is taken, I would explicitly
> call out the JDBC version in all artifacts in order to be consistent
> and eliminate user ambiguity.
>
> Brent
>
> ---------------------------------------------------------------------
> 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