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