You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ra...@apache.org on 2009/03/24 20:59:51 UTC
svn commit: r757987 - in
/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype:
mojos/CreateProjectFromArchetypeMojo.java ui/DefaultArchetypeSelector.java
Author: rafale
Date: Tue Mar 24 19:59:51 2009
New Revision: 757987
URL: http://svn.apache.org/viewvc?rev=757987&view=rev
Log:
Using remote catalog preferably, but defaulting to internal when remote don't exists (remote = http://repo1.maven.org/maven2/archetype-catalog.xml)
Modified:
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java?rev=757987&r1=757986&r2=757987&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java Tue Mar 24 19:59:51 2009
@@ -131,7 +131,7 @@
* @required
*/
private List remoteArtifactRepositories;
-
+
/**
* User settings use to check the interactiveMode.
*
@@ -143,8 +143,8 @@
/** @parameter expression="${basedir}" */
private File basedir;
- /**
- * @parameter expression="${session}"
+ /**
+ * @parameter expression="${session}"
* @readonly
*/
private MavenSession session;
@@ -157,9 +157,9 @@
public void execute()
throws MojoExecutionException, MojoFailureException
- {
+ {
Properties executionProperties = session.getExecutionProperties();
-
+
ArchetypeGenerationRequest request = new ArchetypeGenerationRequest()
.setArchetypeGroupId( archetypeGroupId )
.setArchetypeArtifactId( archetypeArtifactId )
@@ -179,7 +179,7 @@
{
getLog().info( "Generating project in Batch mode" );
}
-
+
selector.selectArchetype( request, interactiveMode, archetypeCatalog );
configurator.configureArchetype( request, interactiveMode, executionProperties );
Modified: maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
URL: http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java?rev=757987&r1=757986&r2=757987&view=diff
==============================================================================
--- maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java (original)
+++ maven/archetype/trunk/archetype-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java Tue Mar 24 19:59:51 2009
@@ -54,7 +54,7 @@
/** @plexus.requirement */
private org.apache.maven.archetype.Archetype archetype;
- public void selectArchetype( ArchetypeGenerationRequest request,
+ public void selectArchetype( ArchetypeGenerationRequest request,
Boolean interactiveMode, String catalogs )
throws
ArchetypeNotDefined,
@@ -62,7 +62,7 @@
UnknownGroup,
IOException,
PrompterException,
- ArchetypeSelectionFailure
+ ArchetypeSelectionFailure
{
//This should be an internal class
ArchetypeDefinition definition = new ArchetypeDefinition();
@@ -70,7 +70,7 @@
definition.setGroupId( request.getArchetypeGroupId() );
definition.setArtifactId( request.getArchetypeArtifactId() );
definition.setVersion( request.getArchetypeVersion() );
-
+
Map archetypes = getArchetypesByCatalog ( catalogs );
if ( definition.isDefined ()
@@ -109,7 +109,7 @@
else if ( keySplitted.length > 1 )
{
int lastIndex = catalogKey.lastIndexOf("/");
- String catalogBase = catalogKey.substring(0,
+ String catalogBase = catalogKey.substring(0,
(lastIndex > 7 ? lastIndex : catalogKey.length()));
definition.setRepository ( catalogBase );
}
@@ -124,7 +124,7 @@
{
getLogger ().warn ( "No archetype repository found. Falling back to central repository (http://repo1.maven.org/maven2). " );
getLogger ().warn ( "Use -DarchetypeRepository=<your repository> if archetype's repository is elsewhere." );
-
+
definition.setRepository("http://repo1.maven.org/maven2");
}
}
@@ -157,7 +157,7 @@
else if ( keySplitted.length > 1 )
{
int lastIndex = catalogKey.lastIndexOf("/");
- String catalogBase = catalogKey.substring(0,
+ String catalogBase = catalogKey.substring(0,
(lastIndex > 7 ? lastIndex : catalogKey.length()));
definition.setRepository ( catalogBase );
}
@@ -197,7 +197,7 @@
if ( !definition.isDefined() && !definition.isPartiallyDefined() )
{
- // if artifact ID is set to it's default, we still prompt to confirm
+ // if artifact ID is set to it's default, we still prompt to confirm
if ( definition.getArtifactId() == null )
{
getLogger().info( "No archetype defined. Using " + DEFAULT_ARCHETYPE_ARTIFACTID + " ("
@@ -225,7 +225,7 @@
else if ( keySplitted.length > 1 )
{
int lastIndex = catalogKey.lastIndexOf("/");
- String catalogBase = catalogKey.substring(0,
+ String catalogBase = catalogKey.substring(0,
(lastIndex > 7 ? lastIndex : catalogKey.length()));
definition.setRepository ( catalogBase );
}
@@ -275,7 +275,13 @@
} else if ("local".equalsIgnoreCase(catalog)) {
archetypes.put("local", archetype.getDefaultLocalCatalog().getArchetypes());
} else if ("remote".equalsIgnoreCase(catalog)) {
- archetypes.put("remote", archetype.getRemoteCatalog().getArchetypes());
+ List archetypesFromRemote = archetype.getRemoteCatalog().getArchetypes();
+ if(archetypesFromRemote.size() > 0) {
+ archetypes.put("remote", archetypesFromRemote);
+ } else {
+ getLogger().warn("No archetype found in Remote catalog. Defaulting to internal Catalog");
+ archetypes.put("internal", archetype.getInternalCatalog().getArchetypes());
+ }
} else if (catalog.startsWith("file://")) {
String path = catalog.substring(7);
archetypes.put(catalog, archetype.getLocalCatalog(path).getArchetypes());