You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stephan Krull (JIRA)" <ji...@codehaus.org> on 2011/02/28 15:01:23 UTC

[jira] Created: (MRELEASE-659) snapshot dependency check on preparation of release: check artifacts WITH versions

snapshot dependency check on preparation of release: check artifacts WITH versions
----------------------------------------------------------------------------------

                 Key: MRELEASE-659
                 URL: http://jira.codehaus.org/browse/MRELEASE-659
             Project: Maven 2.x Release Plugin
          Issue Type: Bug
    Affects Versions: 2.1, 2.0
         Environment: maven 2.2.1, jdk1.6, release-plugin 2.1, preparationGoals="clean compile", goals="clean install", maven call: "clean dependency:resolve release:prepare release:perform"
            Reporter: Stephan Krull


running a release on a project with the following dependency declaration:
{noformat}
<dependency>
	<groupId>abc</groupId>
	<artifactId>myartifact</artifactId>
	<version>1.0.0-SNAPSHOT</version>
</dependency>
<dependency>
	<groupId>abc</groupId>
	<artifactId>myartifact</artifactId>
	<version>1.0.0</version>
	<type>test-jar</type>
	<scope>test</scope>
</dependency>
{noformat}

we all would expect the plugin to fail the release because the dependency snapshot detection should find the SNAPSHOT artifact. with further checks i found that when using "dependency:resolve" no snapshot-artifact will be found in the checking phase. i did some more analysis and think that the cause is in "org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.checkArtifact(Artifact, Map, Map, ReleaseDescriptor)". there the artifact to check is again initialized by getting it from the "ArtifactUtils.artifactMapByVersionlessId( project.getArtifacts() )"-Map. this map, unfortunately, doesn't keep both dependencies from above. so the check fails and the release plugin wrongly succeedes.

i guess that there is more than this pain with dependency resolution. just want to let you know. as a workaround i just skip executing the "dependency:resolve" goal while releasing.

-- 
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

        

[jira] (MRELEASE-659) snapshot dependency check on preparation of release: check artifacts WITH versions

Posted by "Robert Scholte (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MRELEASE-659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Scholte closed MRELEASE-659.
-----------------------------------

    Resolution: Duplicate
    
> snapshot dependency check on preparation of release: check artifacts WITH versions
> ----------------------------------------------------------------------------------
>
>                 Key: MRELEASE-659
>                 URL: https://jira.codehaus.org/browse/MRELEASE-659
>             Project: Maven 2.x Release Plugin
>          Issue Type: Bug
>    Affects Versions: 2.0, 2.1
>         Environment: maven 2.2.1, jdk1.6, release-plugin 2.1, preparationGoals="clean compile", goals="clean install", maven call: "clean dependency:resolve release:prepare release:perform"
>            Reporter: Stephan Krull
>
> running a release on a project with the following dependency declaration:
> {noformat}
> <dependency>
> 	<groupId>abc</groupId>
> 	<artifactId>myartifact</artifactId>
> 	<version>1.0.0-SNAPSHOT</version>
> </dependency>
> <dependency>
> 	<groupId>abc</groupId>
> 	<artifactId>myartifact</artifactId>
> 	<version>1.0.0</version>
> 	<type>test-jar</type>
> 	<scope>test</scope>
> </dependency>
> {noformat}
> we all would expect the plugin to fail the release because the dependency snapshot detection should find the SNAPSHOT artifact. with further checks i found that when using "dependency:resolve" no snapshot-artifact will be found in the checking phase. i did some more analysis and think that the cause is in "org.apache.maven.shared.release.phase.CheckDependencySnapshotsPhase.checkArtifact(Artifact, Map, Map, ReleaseDescriptor)". there the artifact to check is again initialized by getting it from the "ArtifactUtils.artifactMapByVersionlessId( project.getArtifacts() )"-Map. this map, unfortunately, doesn't keep both dependencies from above. so the check fails and the release plugin wrongly succeedes.
> i guess that there is more than this pain with dependency resolution. just want to let you know. as a workaround i just skip executing the "dependency:resolve" goal while releasing.

--
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