brett 2005/04/12 16:51:21
Modified: maven-core/src/main/java/org/apache/maven/project/inheritance
DefaultModelInheritanceAssembler.java
maven-core/src/test/java/org/apache/maven/project/inheritance
DefaultModelInheritanceAssemblerTest.java
maven-artifact/src/main/java/org/apache/maven/artifact/transform
SnapshotTransformation.java
Log:
PR: MNG-297
Make sure that the base version is correctly set to -SNAPSHOT instead of a
resolved timestamp when appropriate
Revision Changes Path
1.28 +4 -4
maven-components/maven-core/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
Index: DefaultModelInheritanceAssembler.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- DefaultModelInheritanceAssembler.java 6 Apr 2005 01:28:29 -0000
1.27
+++ DefaultModelInheritanceAssembler.java 12 Apr 2005 23:51:21 -0000
1.28
@@ -31,8 +31,6 @@
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -60,7 +58,9 @@
// currentVersion
if ( child.getVersion() == null )
{
- child.setVersion( parent.getVersion() );
+ // The parent version may have resolved to something different,
so we take what we asked for...
+ // instead of - child.setVersion( parent.getVersion() );
+ child.setVersion( child.getParent().getVersion() );
}
// inceptionYear
@@ -158,7 +158,7 @@
// Plugin Repositories :: aggregate
List parentPluginRepositories = parent.getPluginRepositories();
List childPluginRepositories = child.getPluginRepositories();
-
+
for ( Iterator iterator = parentPluginRepositories.iterator();
iterator.hasNext(); )
{
Repository repository = (Repository) iterator.next();
1.12 +9 -0
maven-components/maven-core/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java
Index: DefaultModelInheritanceAssemblerTest.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/test/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssemblerTest.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- DefaultModelInheritanceAssemblerTest.java 10 Mar 2005 01:35:14 -0000
1.11
+++ DefaultModelInheritanceAssemblerTest.java 12 Apr 2005 23:51:21 -0000
1.12
@@ -19,6 +19,7 @@
import junit.framework.TestCase;
import org.apache.maven.model.Build;
import org.apache.maven.model.Model;
+import org.apache.maven.model.Parent;
import org.apache.maven.model.Resource;
import org.apache.maven.model.Scm;
@@ -61,6 +62,12 @@
Model child = new Model();
+ Parent parentElement = new Parent();
+ parentElement.setArtifactId( parent.getArtifactId() );
+ parentElement.setGroupId( parent.getGroupId() );
+ parentElement.setVersion( parent.getVersion() );
+ child.setParent( parentElement );
+
child.setPackaging( "plugin" );
Build childBuild = new Build();
@@ -257,6 +264,8 @@
model.setArtifactId( artifactId );
+ model.setVersion( "1.0" );
+
if ( connection != null || developerConnection != null || url !=
null )
{
Scm scm = new Scm();
1.20 +13 -1
maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java
Index: SnapshotTransformation.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-artifact/src/main/java/org/apache/maven/artifact/transform/SnapshotTransformation.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- SnapshotTransformation.java 7 Apr 2005 02:28:25 -0000 1.19
+++ SnapshotTransformation.java 12 Apr 2005 23:51:21 -0000 1.20
@@ -57,6 +57,7 @@
Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher(
artifact.getBaseVersion() );
if ( m.matches() )
{
+ // This corrects the base version, but ensure it is not resolved
again
artifact.setBaseVersion( m.group( 1 ) + "-SNAPSHOT" );
}
else if ( isSnapshot( artifact ) )
@@ -205,6 +206,11 @@
public void transformForInstall( Artifact artifact, ArtifactRepository
localRepository )
throws ArtifactMetadataRetrievalException
{
+ Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher(
artifact.getBaseVersion() );
+ if ( m.matches() )
+ {
+ artifact.setBaseVersion( m.group( 1 ) + "-SNAPSHOT" );
+ }
try
{
SnapshotArtifactMetadata metadata =
SnapshotArtifactMetadata.readFromLocalRepository( artifact,
@@ -228,7 +234,13 @@
public void transformForDeployment( Artifact artifact,
ArtifactRepository remoteRepository )
throws ArtifactMetadataRetrievalException
{
- if ( isSnapshot( artifact ) )
+ Matcher m = SnapshotArtifactMetadata.VERSION_FILE_PATTERN.matcher(
artifact.getBaseVersion() );
+ if ( m.matches() )
+ {
+ // This corrects the base version, but ensure it is not updated
again
+ artifact.setBaseVersion( m.group( 1 ) + "-SNAPSHOT" );
+ }
+ else if ( isSnapshot( artifact ) )
{
SnapshotArtifactMetadata metadata =
SnapshotArtifactMetadata.retrieveFromRemoteRepository( artifact,
remoteRepository,