You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Poul Bildsøe (JIRA)" <ji...@codehaus.org> on 2011/07/05 12:30:42 UTC

[jira] Created: (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
-------------------------------------------------------------------------------------

                 Key: MENFORCER-118
                 URL: https://jira.codehaus.org/browse/MENFORCER-118
             Project: Maven 2.x Enforcer Plugin
          Issue Type: Improvement
          Components: Standard Rules
    Affects Versions: 1.0.1
            Reporter: Poul Bildsøe
            Priority: Trivial


The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Raman Gupta (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Raman Gupta updated MENFORCER-118:
----------------------------------

    Attachment: menforcer-118.patch

Patch as suggested by OP.
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>         Attachments: menforcer-118.patch
>
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Paul Gier (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Gier updated MENFORCER-118:
--------------------------------

         Priority: Major  (was: Trivial)
    Fix Version/s: 1.1
         Assignee: Robert Scholte
    
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Assignee: Robert Scholte
>             Fix For: 1.1
>
>         Attachments: menforcer-118.patch
>
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Raman Gupta (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=287092#comment-287092 ] 

Raman Gupta commented on MENFORCER-118:
---------------------------------------

Agree with Erik, this is a show-stopper for timestamped snapshot use. See my StackOverflow question here for a repeatable test scenario: http://stackoverflow.com/questions/8662129/maven-unique-snapshots-and-dependency-convergence
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] Commented: (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Erik Godding Boye (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=279297#comment-279297 ] 

Erik Godding Boye commented on MENFORCER-118:
---------------------------------------------

I think this should be reported as a bug, and not an improvement. Maven 3 enforces timestamped versions, which makes the dependency converge rule almost useless with Maven 3 - because of this bug. The priority could also be lifted....

> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Raman Gupta (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=296123#comment-296123 ] 

Raman Gupta commented on MENFORCER-118:
---------------------------------------

In the meantime, until this is fixed I have forked the Maven enforcer plugin trunk, and applied the change suggested by the OP. The source is available here:

https://github.com/vivosys/maven-enforcer-plugin/tree/menforcer-118
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>         Attachments: menforcer-118.patch
>
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Marek Kasztelnik (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=295987#comment-295987 ] 

Marek Kasztelnik commented on MENFORCER-118:
--------------------------------------------

+1
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Raman Gupta (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=294579#comment-294579 ] 

Raman Gupta commented on MENFORCER-118:
---------------------------------------

Is there a particular reason this change isn't being made?
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Raman Gupta (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=296120#comment-296120 ] 

Raman Gupta commented on MENFORCER-118:
---------------------------------------

Of course, the other question is: why does Maven resolve some snapshot dependencies to a timestamped version, and others not? It seems to resolve direct dependencies on "-SNAPSHOT" to a unique timestamped version, but transitive dependencies to a non-unique version. Perhaps that is the real bug that needs to be fixed?
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Paul Gier (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Gier closed MENFORCER-118.
-------------------------------

    Resolution: Fixed

Fixed in [r1335761|http://svn.apache.org/viewvc?view=revision&revision=1335761]
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Assignee: Robert Scholte
>             Fix For: 1.1
>
>         Attachments: menforcer-118.patch
>
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] (MENFORCER-118) DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion

Posted by "Stephan Schroevers (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MENFORCER-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=288864#comment-288864 ] 

Stephan Schroevers commented on MENFORCER-118:
----------------------------------------------

And another +1. Indeed, this is a show-stopper when using Maven 3.
                
> DependencyConvergence gets better if it doesn't fail on snapshots of same baseVersion
> -------------------------------------------------------------------------------------
>
>                 Key: MENFORCER-118
>                 URL: https://jira.codehaus.org/browse/MENFORCER-118
>             Project: Maven 2.x Enforcer Plugin
>          Issue Type: Improvement
>          Components: Standard Rules
>    Affects Versions: 1.0.1
>            Reporter: Poul Bildsøe
>            Priority: Trivial
>
> The DependencyVersionMap used by DependencyConvergense uses node.getArtifact().getVersion() when comparing versions. This makes the rule fail more often than needed because the version compare doens't ignore the fact that some snapshots may have been resolved to timestamp. If the code was node.getArtifact().getBaseVersion() instead then DependencyConvergense would only fail on real version mismatches.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira