Author: hboutemy
Date: Sun Nov 28 22:46:54 2010
New Revision: 1039970
URL: http://svn.apache.org/viewvc?rev=1039970&view=rev
Log:
[ARCHETYPE-351] don't override archetype version when detecting catalog to use
Modified:
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
Modified:
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
URL:
http://svn.apache.org/viewvc/maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java?rev=1039970&r1=1039969&r2=1039970&view=diff
==============================================================================
---
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
(original)
+++
maven/archetype/trunk/maven-archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
Sun Nov 28 22:46:54 2010
@@ -67,7 +67,7 @@ public class DefaultArchetypeSelector
Map<String, List<Archetype>> archetypes = getArchetypesByCatalog(
catalogs );
- if ( definition.isDefined() )
+ if ( definition.isDefined() && StringUtils.isEmpty(
request.getArchetypeRepository() ) )
{
Map.Entry<String, Archetype> found =
findArchetype( archetypes, request.getArchetypeGroupId(),
request.getArchetypeArtifactId() );
@@ -77,7 +77,7 @@ public class DefaultArchetypeSelector
String catalogKey = found.getKey();
Archetype archetype = found.getValue();
- updateDefinition( definition, archetype, catalogKey );
+ updateRepository( definition, archetype, catalogKey );
getLogger().info( "Archetype repository missing. Using the one
from " + archetype
+ " found in catalog " + catalogKey );
@@ -90,7 +90,8 @@ public class DefaultArchetypeSelector
definition.setRepository( "http://repo1.maven.org/maven2" );
}
}
- else if ( definition.isPartiallyDefined() )
+
+ if ( !definition.isDefined() && definition.isPartiallyDefined() )
{
Map.Entry<String, Archetype> found =
findArchetype( archetypes, request.getArchetypeGroupId(),
request.getArchetypeArtifactId() );
@@ -210,13 +211,8 @@ public class DefaultArchetypeSelector
return archetypes;
}
- private void updateDefinition( ArchetypeDefinition definition, Archetype
archetype, String catalogKey )
+ private void updateRepository( ArchetypeDefinition definition, Archetype
archetype, String catalogKey )
{
- definition.setGroupId( archetype.getGroupId() );
- definition.setArtifactId( archetype.getArtifactId() );
- definition.setVersion( archetype.getVersion() );
- definition.setName( archetype.getArtifactId() );
-
String repository = archetype.getRepository();
if ( StringUtils.isNotEmpty( repository ) )
{
@@ -229,7 +225,15 @@ public class DefaultArchetypeSelector
String catalogBase = catalogKey.substring( 0, ( lastIndex > 7 ?
lastIndex : catalogKey.length() ) );
definition.setRepository( catalogBase );
}
+ }
+ private void updateDefinition( ArchetypeDefinition definition, Archetype
archetype, String catalogKey )
+ {
+ definition.setGroupId( archetype.getGroupId() );
+ definition.setArtifactId( archetype.getArtifactId() );
+ definition.setVersion( archetype.getVersion() );
+ definition.setName( archetype.getArtifactId() );
+ updateRepository( definition, archetype, catalogKey );
definition.setGoals( StringUtils.join(
archetype.getGoals().iterator(), "," ) );
}