You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Mark Derricutt (JIRA)" <ji...@codehaus.org> on 2010/08/17 03:45:33 UTC

[jira] Commented: (MNG-3092) Version ranges with non-snapshot bounds can contain snapshot versions

    [ http://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=232184#action_232184 ] 

Mark Derricutt commented on MNG-3092:
-------------------------------------

Further to this, as I've mentioned previously this currently breaks both our build, and our integration tests.  The ITs I think I can handle differently, but the build I think should still work.

In our POMs, we refer to say [2.0.0,3.0.0) for all our project dependencies, this is the output of our current build:

{code}

[INFO] ------------------------------------------------------------------------
[INFO] Building smx3.statistics.standard 2.1.11-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] artifact smx3:smx3.statistics.api: checking for updates from Nexus
[INFO] artifact smx3:smx3.reporting: checking for updates from Nexus
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] smx3.parent ....................................... SUCCESS [0.590s]
[INFO] smx3.cachesupport ................................. SUCCESS [6.520s]
[INFO] smx3.util ......................................... SUCCESS [8.716s]
[INFO] smx3.rest ......................................... SUCCESS [5.671s]
[INFO] smx3.hibernate .................................... SUCCESS [4.273s]
[INFO] smx3.schema ....................................... SUCCESS [8.838s]
[INFO] smx3.api .......................................... SUCCESS [4.376s]
[INFO] smx3.schema.provider .............................. SUCCESS [1.692s]
[INFO] smx3.entity ....................................... SUCCESS [3.033s]
[INFO] smx3.testing ...................................... SUCCESS [2.681s]
[INFO] smx3.ldap ......................................... SUCCESS [1.865s]
[INFO] smx3.mounting ..................................... SUCCESS [3.074s]
[INFO] smx3.email ........................................ SUCCESS [1.701s]
[INFO] smx3.translation .................................. SUCCESS [3.944s]
[INFO] smx3.validation ................................... SUCCESS [2.773s]
[INFO] smx3.rules ........................................ SUCCESS [9.373s]
[INFO] smx3.partyresource ................................ SUCCESS [16.961s]
[INFO] smx3.statistics.api ............................... SUCCESS [2.117s]
[INFO] smx3.pdf .......................................... SUCCESS [3.588s]
[INFO] smx3.reporting .................................... SUCCESS [6.325s]
[INFO] smx3.statistics.standard .......................... FAILURE [0.900s]
[INFO] smx3.agreement .................................... SKIPPED
[INFO] smx3.statistics.resources ......................... SKIPPED
[INFO] smx3.template ..................................... SKIPPED
[INFO] mock-template-service ............................. SKIPPED
[INFO] smx3.invoicing .................................... SKIPPED
[INFO] smx3.monitoring ................................... SKIPPED
[INFO] smx3.defaultconfiguration ......................... SKIPPED
[INFO] smx3.restfulobr ................................... SKIPPED
[INFO] smx3.mailhosting .................................. SKIPPED
[INFO] smx3.agreement.reports ............................ SKIPPED
[INFO] smx3.entitysearch ................................. SKIPPED
[INFO] smx3.smartrules ................................... SKIPPED
[INFO] smx3.email.resources .............................. SKIPPED
[INFO] SMX3 Maven Modules ................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:41.178s
[INFO] Finished at: Tue Aug 10 12:49:42 NZST 2010
[INFO] Final Memory: 44M/123M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project smx3.statistics.standard: Couldn't find a version in [1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.1.6, 1.1.7, 1.1.8, 1.1.9, 1.1.10, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.2.6, 1.2.7, 1.2.8, 2.0.1, 2.0.2, 2.1.1, 2.1.2, 2.2.1, 2.3.1, 2.4.1-SNAPSHOT] to match range [2.4.0,3.0.0)
  smx3:smx3.statistics.api:jar:null
{code}

In this instance, smx3.statistics.standard-2.4.1-SNAPSHOT is being built as part of a reactor-build, and the unreleased changes in this artifact are being used by later artifacts.

IMHO, a solution to this version range issue would be to have maven resolve a -SNAPSHOT as part of a range ( original behaviour ) IF that artifact is currently involved in the current reactor process.

This way, the build process here would work fine, but releasing each artifact individually would look for the non-SNAPSHOT as its not part of a reactor process.

Would this be an acceptable change?


> Version ranges with non-snapshot bounds can contain snapshot versions
> ---------------------------------------------------------------------
>
>                 Key: MNG-3092
>                 URL: http://jira.codehaus.org/browse/MNG-3092
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>            Assignee: Mark Hobson
>             Fix For: 3.0-beta-1
>
>         Attachments: MNG-3092.patch
>
>
> Contrary to the 2.0 design docs:
> "Resolution of dependency ranges should not resolve to a snapshot (development version) unless it is included as an explicit boundary."
> -- from http://docs.codehaus.org/display/MAVEN/Dependency+Mediation+and+Conflict+Resolution#DependencyMediationandConflictResolution-Incorporating%7B%7BSNAPSHOT%7D%7Dversionsintothespecification
> The following is equates to true:
> VersionRange.createFromVersionSpec( "[1.0,1.1]" ).containsVersion( new DefaultArtifactVersion( "1.1-SNAPSHOT" ) )
> The attached patch only allows snapshot versions to be contained in a range if they are equal to one of the boundaries.  Note that this is a strict equality, so [1.0,1.2-SNAPSHOT] will not contain 1.1-SNAPSHOT.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira