[ http://jira.codehaus.org/browse/MNG-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_121117 ]
Richard Ziegler commented on MNG-3092: -------------------------------------- We have worked around this issue in the following way: # Setup multiple repositories internally - one for SNAPSHOT builds, and one for release builds. (We use Artifactory) # Configured maven profiles to select whether the SNAPSHOT repository is active. # Created scripts to rid the local repository of SNAPSHOTS under certain conditions, like when performing a release. Here is the script we use to perform a release of an artifact. Notice it just moves one small part of the local repo out of the way. {code} #!/bin/zsh [ -z "$2" ] && { echo echo "Usage: $0 scmCommentPrefix tag [additional maven opts]" echo echo "Where:" echo " scmCommentPrefix should be the JIRA ID of the release issue, like KWE-55" echo " tag is the release number, like 1.1" echo " optional additional maven opts, like -Paxis" exit 1; } d=$(dirname `which $0`) . $d/fixenv.sh # maven chokes on cygwin svn in path prior to native port... so fix path if on cygwin [ -d /cygdrive/c/opt/svn-win32-1.4.5/bin ] && PATH="/cygdrive/c/opt/svn-win32-1.4.5/bin:$PATH" pre=$1 tag=$2 shift 2 # Swap out qa dir of local repo that may have snapshots for one that doesn't qar=${qar:-~/.qa-release} qas=${qas:-~/.qa-snaps} ciq="$ILM2_REPO/com/company/qa" echo MOVING AWAY SNAPSHOT CONTAMINATED LOCAL REPO [ -d $qas -a -d $ciq ] && rm -rf $qas [ -d $ciq ] && mv -v $ciq $qas [ -d $qar ] && mv -v $qar $ciq export MAVEN_OPTS="$MAVEN_OPTS -DSNAPS=false" mvn clean install ${=*} && \ mvn release:prepare -DscmCommentPrefix="$pre " -Dtag=$tag ${=*} && \ mvn release:perform -DscmCommentPrefix="$pre " -Dtag=$tag -Dgoals=deploy ${=*} # restore qa dir of local repo echo RESTORING SNAPSHOTS TO LOCAL REPO [ -d $qar -a -d $ciq ] && rm -rf $qar [ -d $ciq ] && mv -v $ciq $qar [ -d $qas ] && mv -v $qas {code} Good luck- > Version ranges with non-snapshot bounds can contain snapshot versions > --------------------------------------------------------------------- > > Key: MNG-3092 > URL: http://jira.codehaus.org/browse/MNG-3092 > Project: Maven 2 > Issue Type: Bug > Components: Dependencies > Reporter: Mark Hobson > Assignee: Mark Hobson > Fix For: 2.0.x > > 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