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()