You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/10/06 09:32:33 UTC
svn commit: r582465 - in
/maven/sandbox/trunk/archetypeng/archetypeng-common/src:
main/java/org/apache/maven/archetype/common/
main/java/org/apache/maven/archetype/generator/
test/java/org/apache/maven/archetype/generator/
Author: jvanzyl
Date: Sat Oct 6 00:32:31 2007
New Revision: 582465
URL: http://svn.apache.org/viewvc?rev=582465&view=rev
Log:
o some bridges for the testing code that requires the old generator code
Modified:
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java?rev=582465&r1=582464&r2=582465&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeFactory.java Sat Oct 6 00:32:31 2007
@@ -365,12 +365,6 @@
public ArchetypeDefinition createArchetypeDefinition( Properties properties )
{
ArchetypeDefinition definition = new ArchetypeDefinition();
- getLogger().debug(
- "Creating ArchetypeDefinition ("
- + properties.getProperty( Constants.ARCHETYPE_GROUP_ID, null ) + ":"
- + properties.getProperty( Constants.ARCHETYPE_ARTIFACT_ID, null ) + ":"
- + properties.getProperty( Constants.ARCHETYPE_VERSION, null ) + ")"
- );
definition.setGroupId( properties.getProperty( Constants.ARCHETYPE_GROUP_ID, null ) );
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java?rev=582465&r1=582464&r2=582465&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/ArchetypeGenerator.java Sat Oct 6 00:32:31 2007
@@ -21,7 +21,6 @@
import org.apache.maven.archetype.ArchetypeGenerationRequest;
import org.apache.maven.archetype.ArchetypeGenerationResult;
-import org.apache.maven.archetype.common.ArchetypeDefinition;
import org.apache.maven.archetype.exception.ArchetypeGenerationFailure;
import org.apache.maven.archetype.exception.ArchetypeNotConfigured;
import org.apache.maven.archetype.exception.ArchetypeNotDefined;
@@ -35,7 +34,6 @@
import org.dom4j.DocumentException;
import java.io.File;
-import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.List;
@@ -45,4 +43,23 @@
void generateArchetype( ArchetypeGenerationRequest request,
ArchetypeGenerationResult result );
+
+ void generateArchetype(
+ File propertyFile,
+ ArtifactRepository localRepository,
+ List repositories,
+ String basedir )
+ throws
+ IOException,
+ ArchetypeNotDefined,
+ UnknownArchetype,
+ ArchetypeNotConfigured,
+ ProjectDirectoryExists,
+ PomFileExists,
+ OutputFileExists,
+ XmlPullParserException,
+ DocumentException,
+ InvalidPackaging,
+ ArchetypeGenerationFailure;
+
}
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java?rev=582465&r1=582464&r2=582465&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java Sat Oct 6 00:32:31 2007
@@ -30,6 +30,7 @@
import org.apache.maven.archetype.common.ArchetypeDefinition;
import org.apache.maven.archetype.common.ArchetypeFactory;
import org.apache.maven.archetype.common.ArchetypePropertiesManager;
+import org.apache.maven.archetype.common.ArchetypeRegistryManager;
import org.apache.maven.archetype.common.Constants;
import org.apache.maven.archetype.exception.ArchetypeGenerationFailure;
import org.apache.maven.archetype.exception.ArchetypeNotConfigured;
@@ -41,18 +42,19 @@
import org.apache.maven.archetype.exception.UnknownArchetype;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.codehaus.plexus.logging.AbstractLogEnabled;
+import org.codehaus.plexus.util.PropertyUtils;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import org.dom4j.DocumentException;
import java.io.File;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
-import org.apache.maven.archetype.common.ArchetypeRegistryManager;
/** @plexus.component */
public class DefaultArchetypeGenerator
@@ -77,6 +79,30 @@
/** @plexus.requirement */
private Archetype oldArchetype;
+ //TODO: This is required for test and needs to be converted over to using the request
+ public void generateArchetype(
+ File propertyFile,
+ ArtifactRepository localRepository,
+ List repositories,
+ String basedir )
+ throws
+ IOException,
+ ArchetypeNotDefined,
+ UnknownArchetype,
+ ArchetypeNotConfigured,
+ ProjectDirectoryExists,
+ PomFileExists,
+ OutputFileExists,
+ XmlPullParserException,
+ DocumentException,
+ InvalidPackaging,
+ ArchetypeGenerationFailure
+ {
+ Properties properties = PropertyUtils.loadProperties( propertyFile );
+
+ generateArchetype( null, properties, localRepository, repositories, basedir );
+ }
+
private void generateArchetype(
ArchetypeGenerationRequest request,
Properties properties,
@@ -106,7 +132,17 @@
throw new ArchetypeNotDefined( "The archetype is not defined" );
}
- if ( !archetypeArtifactManager.exists( archetypeDefinition, localRepository, repositories ) )
+ List repos = new ArrayList( repositories );
+
+ if ( request != null )
+ {
+ ArtifactRepository remoteRepo = archetypeRegistryManager.createRepository( request.getRemoteRepository(),
+ archetypeDefinition.getArtifactId() + "-repo" );
+
+ repos.add( remoteRepo );
+ }
+
+ if ( !archetypeArtifactManager.exists( archetypeDefinition, localRepository, repos ) )
{
throw new UnknownArchetype(
"The desired archetype does not exist (" + archetypeDefinition.getGroupId() + ":"
@@ -120,7 +156,7 @@
archetypeDefinition.getArtifactId(),
archetypeDefinition.getVersion(),
localRepository,
- repositories
+ repos
)
)
{
@@ -128,7 +164,7 @@
properties,
localRepository,
basedir,
- repositories,
+ repos,
archetypeDefinition
);
}
@@ -138,14 +174,14 @@
archetypeDefinition.getArtifactId(),
archetypeDefinition.getVersion(),
localRepository,
- repositories ) )
+ repos ) )
{
processOldArchetype(
localRepository,
properties,
basedir,
archetypeDefinition,
- repositories
+ repos
);
}
else
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java?rev=582465&r1=582464&r2=582465&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/generator/DefaultArchetypeGeneratorTest.java Sat Oct 6 00:32:31 2007
@@ -70,6 +70,7 @@
DefaultArchetypeGenerator instance =
(DefaultArchetypeGenerator) lookup( ArchetypeGenerator.ROLE );
+
instanceDefined( instance );
try
@@ -531,37 +532,6 @@
assertEquals( "file-value", model.getGroupId() );
assertEquals( "file-value", model.getArtifactId() );
assertEquals( "file-value", model.getVersion() );
- }
-
- public void testNoPropertyFile()
- throws
- Exception
- {
- System.out.println( "testNoPropertyFile" );
-
- String project = "generate-1";
- File propertyFile = getPropertiesFile( project );
- String basedir = propertyFile.getParent();
-
- DefaultArchetypeGenerator instance =
- (DefaultArchetypeGenerator) lookup( ArchetypeGenerator.ROLE );
- instanceDefined( instance );
-
- try
- {
- instance.generateArchetype( propertyFile, localRepository, repositories, basedir );
-
- fail( "Exception must be thrown" );
- }
- catch ( FileNotFoundException e )
- {
- /* Commented out as error messages are localised by default, and I (rafale)
- * don't know how to have unlocalised messages from the exception object. String
- * errorMessage = e.getMessage (); assertTrue ( "Exception not correct",
- * errorMessage.contains ( "No such file or directory" ) || errorMessage.contains (
- * "The system cannot find the file specified" ) );
- */
- }
}
public void testPropertiesNotDefined()