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

Sergei Ivanov commented on MNG-3092:
------------------------------------

Joniec,

Firstly, I do not see any point in asking IDE vendors for permission. It is 
their job to follow the trends and changes in the software landscape and 
constantly adapting to the changes. Can you imagine people from Spring or 
Hibernate projects begging IDE vendors for permission to make changes in their 
products? This would be plain silly.

Secondly, if an organisation has a complicated web of project dependencies and 
they are not willing to invest in a proper repository set-up and management, 
then they are not doing themselves any favour. I am myself working in a large 
organisation, and we have tens of teams, lots of projects, and we do maintain 
many separate Maven repositories. Suppose our team is responsible for a 
financial application that handles transactions worth £1bn daily, then we would 
want a complete control over the artifacts that we integrate from other teams, 
would not we?

I firmly believe that the use case you described can be (and perhaps should be) 
handled through proper repository set-up. If your project C depends on 
A:[1.0,1.1) and B:[2.3,2.4), and you do actually need to include snapshots for 
A, but not for B, then my proposal will not work for you with a vanilla 
repository set-up. In that case you will need a fine-grained resolution policy 
on the individual dependency level. And that does not solve the problem with 
releasing projects when snapshot dependencies are present. If we are forced to 
edit POM files before release, then what is the point in having version ranges?
                
> Version ranges with non-snapshot bounds can contain snapshot versions
> ---------------------------------------------------------------------
>
>                 Key: MNG-3092
>                 URL: https://jira.codehaus.org/browse/MNG-3092
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Dependencies
>            Reporter: Mark Hobson
>            Assignee: Jason van Zyl
>             Fix For: 3.1.1
>
>         Attachments: MNG-3092.patch, 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, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to