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 2008/01/04 12:41:15 UTC

svn commit: r608807 - in /maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng: ./ archetypeng-common/src/main/java/org/apache/maven/archetype/ archetypeng-common/src/main/java/org/apache/maven/archetype/creator/ archetypeng-common/src/test...

Author: rafale
Date: Fri Jan  4 03:41:10 2008
New Revision: 608807

URL: http://svn.apache.org/viewvc?rev=608807&view=rev
Log:
better unit testing and removing unusefull behaviour in archetype creation from project

Added:
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/
      - copied from r608804, maven/sandbox/trunk/archetypeng/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom   (with props)
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java   (with props)
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java   (with props)
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml   (with props)
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/1.0/
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/1.0/fileset-1.0.jar   (with props)
Modified:
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/ItTestAll.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/org/apache/maven/archetype/test/ItTest1.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/Main.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/org/apache/maven/archetype/test/application/Application.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/TestAll.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/org/apache/maven/archetype/test/application/ApplicationTest.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/archetype.properties.sample
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/main/java/org/apache/maven/archetype/test/com/Component.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/test/java/org/apache/maven/archetype/test/common/ComponentTest.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/pom.xml.sample
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/pom.xml
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeCreationConfigurator.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
    maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/pom.xml

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/ArchetypeCreationRequest.java Fri Jan  4 03:41:10 2008
@@ -36,7 +36,7 @@
 
     private MavenProject project;
 
-    private File propertyFile;
+//    private File propertyFile;
 
     private List languages = new ArrayList();
 
@@ -44,7 +44,7 @@
 
     private String defaultEncoding = "UTF-8";
 
-    private boolean ignoreReplica = true;
+//    private boolean ignoreReplica = true;
 
     private boolean preserveCData = false;
 
@@ -94,17 +94,17 @@
         return this;
     }
 
-    public File getPropertyFile()
-    {
-        return propertyFile;
-    }
-
-    public ArchetypeCreationRequest setPropertyFile( File propertyFile )
-    {
-        this.propertyFile = propertyFile;
-
-        return this;
-    }
+//    public File getPropertyFile()
+//    {
+//        return propertyFile;
+//    }
+//
+//    public ArchetypeCreationRequest setPropertyFile( File propertyFile )
+//    {
+//        this.propertyFile = propertyFile;
+//
+//        return this;
+//    }
 
     public List getLanguages()
     {
@@ -142,17 +142,17 @@
         return this;
     }
 
-    public boolean isIgnoreReplica()
-    {
-        return ignoreReplica;
-    }
-
-    public ArchetypeCreationRequest setIgnoreReplica( boolean ignoreReplica )
-    {
-        this.ignoreReplica = ignoreReplica;
-
-        return this;
-    }
+//    public boolean isIgnoreReplica()
+//    {
+//        return ignoreReplica;
+//    }
+//
+//    public ArchetypeCreationRequest setIgnoreReplica( boolean ignoreReplica )
+//    {
+//        this.ignoreReplica = ignoreReplica;
+//
+//        return this;
+//    }
 
     public boolean isPreserveCData()
     {

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/creator/FilesetArchetypeCreator.java Fri Jan  4 03:41:10 2008
@@ -97,7 +97,7 @@
     {
         MavenProject project = request.getProject();
 
-        File propertyFile = request.getPropertyFile();
+//        File propertyFile = request.getPropertyFile();
 
         List languages = request.getLanguages();
 
@@ -105,7 +105,7 @@
 
         String defaultEncoding = request.getDefaultEncoding();
 
-        boolean ignoreReplica = request.isIgnoreReplica();
+//        boolean ignoreReplica = request.isIgnoreReplica();
 
         boolean preserveCData = request.isPreserveCData();
 
@@ -148,7 +148,10 @@
         }
 
         Properties properties = new Properties();
-
+        if ( request.getProperties () != null )
+        {
+            properties.putAll ( request.getProperties () );
+        }
         properties.setProperty( Constants.GROUP_ID, ad.getGroupId() );
         ac.setProperty( Constants.GROUP_ID, ad.getGroupId() );
 
@@ -263,24 +266,24 @@
 
         getLogger().debug( "OldArchetype's files output directory " + archetypeFilesDirectory );
 
-        File replicaMainDirectory =
-            FileUtils.resolveFile(
-                generatedSourcesDirectory,
-                getReplicaOutputDirectory() + File.separator
-                    + ad.getArtifactId()
-            );
-
-        if ( !ignoreReplica )
-        {
-            replicaMainDirectory.mkdirs();
-        }
-
-        File replicaFilesDirectory = FileUtils.resolveFile( replicaMainDirectory, "reference" );
-
-        if ( !ignoreReplica )
-        {
-            replicaFilesDirectory.mkdirs();
-        }
+//        File replicaMainDirectory =
+//            FileUtils.resolveFile(
+//                generatedSourcesDirectory,
+//                getReplicaOutputDirectory() + File.separator
+//                    + ad.getArtifactId()
+//            );
+//
+//        if ( !ignoreReplica )
+//        {
+//            replicaMainDirectory.mkdirs();
+//        }
+//
+//        File replicaFilesDirectory = FileUtils.resolveFile( replicaMainDirectory, "reference" );
+//
+//        if ( !ignoreReplica )
+//        {
+//            replicaFilesDirectory.mkdirs();
+//        }
 
         File archetypeDescriptorFile = FileUtils.resolveFile( archetypeResourcesDirectory, Constants.ARCHETYPE_DESCRIPTOR );
 
@@ -334,16 +337,16 @@
 
             getLogger().debug( "Created files for " + archetypeDescriptor.getName() );
 
-            if ( !ignoreReplica )
-            {
-                createReplicaFiles( filesets, basedir, replicaFilesDirectory );
-
-                getLogger().debug( "Created replica files for " + archetypeDescriptor.getName() );
-
-                FileUtils.copyFile( propertyFile, new File( replicaMainDirectory, "archetype.properties" ) );
-
-                new File( replicaMainDirectory, "goal.txt" ).createNewFile();
-            }
+//            if ( !ignoreReplica )
+//            {
+//                createReplicaFiles( filesets, basedir, replicaFilesDirectory );
+//
+//                getLogger().debug( "Created replica files for " + archetypeDescriptor.getName() );
+//
+//                FileUtils.copyFile( propertyFile, new File( replicaMainDirectory, "archetype.properties" ) );
+//
+//                new File( replicaMainDirectory, "goal.txt" ).createNewFile();
+//            }
 
             setParentArtifactId(
                 reverseProperties,
@@ -365,11 +368,11 @@
                         packageName,
                         FileUtils.resolveFile( basedir, moduleId ),
                         FileUtils.resolveFile( archetypeFilesDirectory, moduleId ),
-                        FileUtils.resolveFile( replicaFilesDirectory, moduleId ),
+//                        FileUtils.resolveFile( replicaFilesDirectory, moduleId ),
                         languages,
                         filtereds,
                         defaultEncoding,
-                        ignoreReplica,
+//                        ignoreReplica,
                         preserveCData,
                         keepParent
                     );
@@ -1214,11 +1217,11 @@
         String packageName,
         File basedir,
         File archetypeFilesDirectory,
-        File replicaFilesDirectory,
+//        File replicaFilesDirectory,
         List languages,
         List filtereds,
         String defaultEncoding,
-        boolean ignoreReplica,
+//        boolean ignoreReplica,
         boolean preserveCData,
         boolean keepParent
     )
@@ -1270,11 +1273,11 @@
         );
         getLogger().debug( "Created files for module " + archetypeDescriptor.getName() );
 
-        if ( !ignoreReplica )
-        {
-            createReplicaFiles( filesets, basedir, replicaFilesDirectory );
-            getLogger().debug( "Created replica files for " + archetypeDescriptor.getName() );
-        }
+//        if ( !ignoreReplica )
+//        {
+//            createReplicaFiles( filesets, basedir, replicaFilesDirectory );
+//            getLogger().debug( "Created replica files for " + archetypeDescriptor.getName() );
+//        }
 
         String parentArtifactId = reverseProperties.getProperty( Constants.PARENT_ARTIFACT_ID );
         setParentArtifactId( reverseProperties, pom.getArtifactId() );
@@ -1294,11 +1297,11 @@
                     packageName,
                     FileUtils.resolveFile( basedir, subModuleId ),
                     FileUtils.resolveFile( archetypeFilesDirectory, subModuleId ),
-                    FileUtils.resolveFile( replicaFilesDirectory, subModuleId ),
+//                    FileUtils.resolveFile( replicaFilesDirectory, subModuleId ),
                     languages,
                     filtereds,
                     defaultEncoding,
-                    ignoreReplica,
+//                    ignoreReplica,
                     preserveCData,
                     keepParent
                 );

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java Fri Jan  4 03:41:10 2008
@@ -31,7 +31,6 @@
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.PropertyUtils;
-import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -42,6 +41,7 @@
 import java.util.Arrays;
 import java.util.List;
 import java.util.Properties;
+import org.apache.maven.archetype.common.ArchetypeRegistryManager;
 import org.apache.maven.project.MavenProjectBuildingResult;
 
 public class DefaultArchetypeCreatorTest
@@ -127,20 +127,32 @@
         filtereds.add( "html" );
         filtereds.add( "xhtml" );
         filtereds.add( "properties" );
-        filtereds.add( ".classpath" );
         filtereds.add( ".project" );
-
+        
+        Properties properties = new Properties();
+        properties.setProperty("someProperty", "A String to search for");
+
+        ArchetypeRegistryManager registryManager = (ArchetypeRegistryManager) lookup( ArchetypeRegistryManager.ROLE );
+        ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir(),
+            "target/test-classes/repositories/local" ).toURI().
+            toURL().
+            toExternalForm(),
+            "local-repo" );
+        
         ArchetypeCreationRequest request = new ArchetypeCreationRequest()
             .setProject( mavenProject )
             .setPackageName( p.getProperty( Constants.PACKAGE ) )
-            .setPropertyFile( propertyFile )
+//            .setPropertyFile( propertyFile )
             .setLanguages( languages )
             .setFiltereds( filtereds )
             .setDefaultEncoding( "UTF-8" )
-            .setIgnoreReplica( true )
+//            .setIgnoreReplica( true )
             .setPartialArchetype( false )
             .setPreserveCData( false )
-            .setKeepParent( false );
+            .setKeepParent( false )
+            .setProperties(properties)
+            .setLocalRepository(localRepository)
+            .setPackageName("org.apache.maven.archetype");
 
         ArchetypeCreationResult result = new ArchetypeCreationResult();
 
@@ -180,7 +192,7 @@
         assertContent( template, "${version}" );
         assertContent( template, "Maven ArchetypeNG Test create-3-libraries" );
         assertContent( template, "<packaging>pom</packaging>" );
-        assertNotContent( template, "<parent>" );
+        assertContent( template, "<parent>" );
 
         template = getTemplateFile( project, "libs/prj-a/pom.xml" );
         assertExists( template );
@@ -189,7 +201,7 @@
         assertContent( template, "${version}" );
         assertContent( template, "Maven ArchetypeNG Test create-3-libraries-project-a" );
         assertNotContent( template, "<packaging>pom</packaging>" );
-        assertNotContent( template, "<parent>" );
+        assertContent( template, "<parent>" );
 
         template = getTemplateFile( project, "libs/prj-a/src/main/mdo/descriptor.xml" );
         assertExists( template );
@@ -202,7 +214,7 @@
         assertContent( template, "${version}" );
         assertContent( template, "Maven ArchetypeNG Test create-3-libraries-project-b" );
         assertNotContent( template, "<packaging>pom</packaging>" );
-        assertNotContent( template, "<parent>" );
+        assertContent( template, "<parent>" );
 
         template = getTemplateFile( project, "libs/prj-b/src/main/java/test/com/Component.java" );
         assertExists( template );
@@ -224,7 +236,7 @@
         assertContent( template, "${version}" );
         assertContent( template, "Maven ArchetypeNG Test create-3-application" );
         assertNotContent( template, "<packaging>pom</packaging>" );
-        assertNotContent( template, "<parent>" );
+        assertContent( template, "<parent>" );
 
         template = getTemplateFile( project, "application/src/main/java/Main.java" );
         assertExists( template );
@@ -256,7 +268,7 @@
 
         template = getTemplateFile( project, "application/src/main/resources/META-INF/MANIFEST.MF" );
         assertExists( template );
-        assertContent( template, "${someProperty}" );
+        assertNotContent( template, "${someProperty}" );
 
         template = getTemplateFile( project, "application/src/main/resources/test/application/some/Gro.groovy" );
         assertExists( template );
@@ -327,14 +339,14 @@
             );
     }
 
-    private boolean assertContent( File template,
+    private void assertContent( File template,
                                    String content )
         throws
         FileNotFoundException,
         IOException
     {
         String templateContent = IOUtil.toString( new FileReader( template ) );
-        return StringUtils.countMatches( templateContent, content ) > 0;
+        assertTrue( templateContent.indexOf(content) >= 0);
     }
 
     private void assertExists( File file )
@@ -342,13 +354,14 @@
         assertTrue( "File doesn't exist:" + file.getAbsolutePath(), file.exists() );
     }
 
-    private boolean assertNotContent( File template,
+    private void assertNotContent( File template,
                                       String content )
         throws
         FileNotFoundException,
         IOException
     {
-        return !assertContent( template, content );
+        String templateContent = IOUtil.toString( new FileReader( template ) );
+        assertFalse( templateContent.indexOf(content) >= 0);
     }
 
     private void copy( File in,

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java Fri Jan  4 03:41:10 2008
@@ -57,7 +57,7 @@
 public class ArchetyperRoundtripTest
     extends PlexusTestCase
 {
-    private Jetty6xEmbeddedLocalContainer container;
+    private Jetty6xEmbeddedLocalContainer cargoContainer;
 
     public void testArchetyper()
         throws Exception
@@ -202,18 +202,18 @@
 
         System.setProperty( "org.apache.maven.archetype.reporitory.directory",
             getTestPath( "target/test-classes/repositories/central" ) );
-        container = new Jetty6xEmbeddedLocalContainer( configuration );
-        container.setTimeout( 180000L );
-        container.start();
+        cargoContainer = new Jetty6xEmbeddedLocalContainer( configuration );
+        cargoContainer.setTimeout( 180000L );
+        cargoContainer.start();
 
         DeployableFactory factory = new DefaultDeployableFactory();
-        WAR war = (WAR) factory.createDeployable( container.getId(),
+        WAR war = (WAR) factory.createDeployable( cargoContainer.getId(),
             "target/wars/archetype-repository.war",
             DeployableType.WAR );
 
         war.setContext( "/repo" );
 
-        Deployer deployer = new Jetty6xEmbeddedLocalDeployer( container );
+        Deployer deployer = new Jetty6xEmbeddedLocalDeployer( cargoContainer );
         deployer.deploy( war,
             new URLDeployableMonitor( new URL( "http://localhost:18881/repo/dummy" ) ) );
         deployer.start( war );
@@ -226,6 +226,6 @@
         super.tearDown();
         //        Stop Cargo
 
-        container.stop();
+        cargoContainer.stop();
     }
 }

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/ItTestAll.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/ItTestAll.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/ItTestAll.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/ItTestAll.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1 @@
-package projects.create-3.application.src.it-test.java;
-
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/org/apache/maven/archetype/test/ItTest1.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/org/apache/maven/archetype/test/ItTest1.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/org/apache/maven/archetype/test/ItTest1.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/it-test/java/org/apache/maven/archetype/test/ItTest1.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1,3 @@
-package projects.create-3.application.src.it-test.java.org.apache.maven.archetype.test;
+package org.apache.maven.archetype.test;
 
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/Main.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/Main.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/Main.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/Main.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1 @@
-package projects.create-3.application.src.main.java;
-
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/org/apache/maven/archetype/test/application/Application.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/org/apache/maven/archetype/test/application/Application.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/org/apache/maven/archetype/test/application/Application.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/main/java/org/apache/maven/archetype/test/application/Application.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1,3 @@
-package projects.create-3.application.src.main.java.org.apache.maven.archetype.test.application;
+package org.apache.maven.archetype.test.application;
 
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/TestAll.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/TestAll.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/TestAll.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/TestAll.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1 @@
-package projects.create-3.application.src.test.java;
-
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/org/apache/maven/archetype/test/application/ApplicationTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/org/apache/maven/archetype/test/application/ApplicationTest.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/org/apache/maven/archetype/test/application/ApplicationTest.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/application/src/test/java/org/apache/maven/archetype/test/application/ApplicationTest.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1,3 @@
-package projects.create-3.application.src.test.java.org.apache.maven.archetype.test.application;
+package org.apache.maven.archetype.test.application;
 
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/archetype.properties.sample
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/archetype.properties.sample?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/archetype.properties.sample (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/archetype.properties.sample Fri Jan  4 03:41:10 2008
@@ -1,10 +1,10 @@
-archetype.groupId=org.codehaus.mojo.archetypes
-archetype.artifactId=maven-archetype-test
-archetype.version=1.0
-
-groupId=org.apache.maven.archetype.test
-artifactId=test-create-3
-version=1.0-SNAPSHOT
-package=org.apache.maven.archetype
-
-someProperty=A String to search for
+#archetype.groupId=org.codehaus.mojo.archetypes
+#archetype.artifactId=maven-archetype-test
+#archetype.version=1.0
+#
+#groupId=org.apache.maven.archetype.test
+#artifactId=test-create-3
+#version=1.0-SNAPSHOT
+#package=org.apache.maven.archetype
+#
+#someProperty=A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/main/java/org/apache/maven/archetype/test/com/Component.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/main/java/org/apache/maven/archetype/test/com/Component.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/main/java/org/apache/maven/archetype/test/com/Component.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/main/java/org/apache/maven/archetype/test/com/Component.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1,3 @@
-package projects.create-3.libs.prj-b.src.main.java.org.apache.maven.archetype.test.com;
+package org.apache.maven.archetype.test.com;
 
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/test/java/org/apache/maven/archetype/test/common/ComponentTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/test/java/org/apache/maven/archetype/test/common/ComponentTest.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/test/java/org/apache/maven/archetype/test/common/ComponentTest.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/libs/prj-b/src/test/java/org/apache/maven/archetype/test/common/ComponentTest.java Fri Jan  4 03:41:10 2008
@@ -1,3 +1,3 @@
-package projects.create-3.libs.prj-b.src.test.java.org.apache.maven.archetype.test.common;
+package org.apache.maven.archetype.test.common;
 
 A String to search for

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/pom.xml.sample
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/pom.xml.sample?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/pom.xml.sample (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/projects/create-3/pom.xml.sample Fri Jan  4 03:41:10 2008
@@ -19,6 +19,12 @@
   -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.maven.archetype.test</groupId>
+        <artifactId>test-parent</artifactId>
+        <version>1.0</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
     <groupId>org.apache.maven.archetype.test</groupId>
     <artifactId>test-create-3</artifactId>
     <version>1.0-SNAPSHOT</version>

Added: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom?rev=608807&view=auto
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom (added)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom Fri Jan  4 03:41:10 2008
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+  -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.archetype.test</groupId>
+    <artifactId>test-parent</artifactId>
+    <version>1.0</version>
+    <name>Maven ArchetypeNG Test Parent</name>
+    <packaging>pom</packaging>
+</project>

Propchange: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-common/src/test/resources/repositories/local/org/apache/maven/archetype/test/test-parent/1.0/test-parent-1.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/pom.xml?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/pom.xml (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/pom.xml Fri Jan  4 03:41:10 2008
@@ -16,86 +16,110 @@
   ~ KIND, either express or implied.  See the License for the
   ~ specific language governing permissions and limitations
   ~ under the License.
-  -->
+-->
 <project
     xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-  <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.maven.archetype</groupId>
-    <artifactId>maven-archetypeng</artifactId>
-    <version>2.0-SNAPSHOT</version>
-  </parent>
-
-  <!--
+    
+    <modelVersion>4.0.0</modelVersion>
+    
+    <parent>
+        <groupId>org.apache.maven.archetype</groupId>
+        <artifactId>maven-archetypeng</artifactId>
+        <version>2.0-SNAPSHOT</version>
+    </parent>
+    
+    <!--
     The purpose of having groupId different from other
     modules is to call mvn archetypeng:*
     w/out the need to add a plugin group in settings
   -->
-  <groupId>org.apache.maven.plugins</groupId>
-  <artifactId>maven-archetypeng-plugin</artifactId>
-
-  <name>Maven Archetype Plugin</name>
-  <packaging>maven-plugin</packaging>
-
-  <prerequisites>
-    <maven>2.0.7</maven>
-  </prerequisites>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.archetype</groupId>
-      <artifactId>archetypeng-common</artifactId>
-      <version>2.0-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.artifact</groupId>
-      <artifactId>maven-artifact</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.shared</groupId>
-      <artifactId>maven-invoker</artifactId>
-      <version>2.0.6</version>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <configuration>
-          <goalPrefix>archetypeng</goalPrefix>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-plugin-plugin</artifactId>
-        <version>2.2</version>
-        <reportSets>
-          <reportSet>
-            <reports>
-              <report>report</report>
-            </reports>
-          </reportSet>
-        </reportSets>
-      </plugin>
-    </plugins>
-  </reporting>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-archetypeng-plugin</artifactId>
+    
+    <name>Maven Archetype Plugin</name>
+    <packaging>maven-plugin</packaging>
+    
+    <prerequisites>
+        <maven>2.0.7</maven>
+    </prerequisites>
+    
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.maven.archetype</groupId>
+            <artifactId>archetypeng-common</artifactId>
+            <version>2.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-plugin-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven</groupId>
+            <artifactId>maven-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.artifact</groupId>
+            <artifactId>maven-artifact</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.shared</groupId>
+            <artifactId>maven-invoker</artifactId>
+            <version>2.0.6</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.apache.maven</groupId>
+                    <artifactId>maven-artifact</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency> 
+        <dependency>
+            <groupId>org.apache.maven.shared</groupId>
+            <artifactId>maven-plugin-testing-harness</artifactId>
+            <version>1.2-SNAPSHOT</version>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.codehaus.plexus</groupId>
+                    <artifactId>plexus-archiver</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.wagon</groupId>
+            <artifactId>wagon-http</artifactId>
+            <version>1.0-beta-2</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <configuration>
+                    <goalPrefix>archetypeng</goalPrefix>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-plugin-plugin</artifactId>
+                <version>2.2</version>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>report</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
+            </plugin>
+        </plugins>
+    </reporting>
 </project>

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateArchetypeFromProjectMojo.java Fri Jan  4 03:41:10 2008
@@ -89,13 +89,6 @@
     private String defaultEncoding;
 
     /**
-     * Ignore the replica creation.
-     *
-     * @parameter expression="${archetype.ignoreReplica}"
-     */
-    private boolean ignoreReplica = true;
-
-    /**
      * Create a partial archetype.
      *
      * @parameter expression="${archetype.partialArchetype}"
@@ -137,15 +130,12 @@
      */
     private File propertyFile;
 
-    /** @parameter expression="${basedir}/target" */
-    private File outputDirectory;
+//    /** @parameter expression="${basedir}/target" */
+//    private File outputDirectory;
 
     /** @parameter expression="${testMode}" */
     private boolean testMode;
 
-    /** @parameter expression="${packageName}" */
-    private String packageName;//Find a better way to resolve the package!!! enforce usage of the configurator
-
     public void execute()
         throws
         MojoExecutionException,
@@ -160,10 +150,10 @@
 
             List languages = archetypeRegistryManager.getLanguages( archetypeLanguages, archetypeRegistryFile );
 
-            configurator.configureArchetypeCreation(
+            ArchetypeCreationRequest request = configurator.configureArchetypeCreation(
                 project,
                 new Boolean( interactive ),
-                System.getProperties(),
+//                System.getProperties(),
                 propertyFile,
                 languages
             );
@@ -173,25 +163,15 @@
                     archetypeFilteredExtentions,
                     archetypeRegistryFile
                 );
-
-            ArchetypeCreationRequest request = new ArchetypeCreationRequest()
-                .setProject( project )
-                /*Used when in interactive mode*/
-                .setPropertyFile( propertyFile )
-                .setLanguages( languages )
+            
+                request
                 /*Should be refactored to use some ant patterns*/
                 .setFiltereds( filtereds )
-                /*Should be removed*/
-                .setIgnoreReplica( ignoreReplica )
                 /*This should be correctly handled*/
                 .setPreserveCData( preserveCData )
                 .setKeepParent( keepParent )
                 .setPartialArchetype( partialArchetype )
-                /*This should be used before there and use only languages and filtereds*/
-                .setArchetypeRegistryFile( archetypeRegistryFile )
-                .setLocalRepository( localRepository )
-                /*this should be resolved and asked for user to verify*/
-                .setPackageName(packageName);
+                .setLocalRepository( localRepository );
 
             ArchetypeCreationResult result = archetype.createArchetypeFromProject( request );
 
@@ -200,7 +180,7 @@
                 throw new MojoExecutionException( result.getCause().getMessage(), result.getCause() );
             }
 
-            getLog().info( "OldArchetype created in target/generated-sources/archetypeng" );
+            getLog().info( "Archetype created in target/generated-sources/archetypeng" );
 
             if ( testMode )
             {

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/mojos/CreateProjectFromArchetypeMojo.java Fri Jan  4 03:41:10 2008
@@ -66,8 +66,8 @@
     /** @component */
     ArchetypeGenerationConfigurator configurator;
 
-    /** @component */
-    ArchetypeGenerator generator;
+//    /** @component */
+//    ArchetypeGenerator generator;
 
     /** @component */
     private Invoker invoker;

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeCreationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeCreationConfigurator.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeCreationConfigurator.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/ArchetypeCreationConfigurator.java Fri Jan  4 03:41:10 2008
@@ -30,15 +30,17 @@
 import java.io.IOException;
 import java.util.List;
 import java.util.Properties;
+import org.apache.maven.archetype.ArchetypeCreationRequest;
+import org.apache.maven.archetype.common.ArchetypeConfiguration;
 
 public interface ArchetypeCreationConfigurator
 {
     String ROLE = ArchetypeCreationConfigurator.class.getName();
 
-    void configureArchetypeCreation(
+    ArchetypeCreationRequest configureArchetypeCreation(
         MavenProject project,
         Boolean interactiveMode,
-        Properties commandLineProperties,
+//        Properties commandLineProperties,
         File propertyFile,
         List languages
     )

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeCreationConfigurator.java Fri Jan  4 03:41:10 2008
@@ -42,6 +42,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
+import org.apache.maven.archetype.ArchetypeCreationRequest;
 import org.codehaus.plexus.util.IOUtil;
 
 /** @plexus.component */
@@ -58,10 +59,10 @@
     /** @plexus.requirement */
     private ArchetypeFilesResolver archetypeFilesResolver;
 
-    public void configureArchetypeCreation(
+    public ArchetypeCreationRequest configureArchetypeCreation(
         MavenProject project,
         Boolean interactiveMode,
-        Properties commandLineProperties,
+//        Properties commandLineProperties,
         File propertyFile,
         List languages
     )
@@ -71,10 +72,12 @@
         ArchetypeNotConfigured,
         PrompterException,
         TemplateCreationException
-    {
+    {        
+        ArchetypeCreationRequest request = new ArchetypeCreationRequest();
+            
         Properties properties =
-            initialiseArchetypeProperties( commandLineProperties, propertyFile );
-
+            initialiseArchetypeProperties( propertyFile );
+        
         ArchetypeDefinition archetypeDefinition =
             archetypeFactory.createArchetypeDefinition( properties );
 
@@ -113,7 +116,7 @@
             {
                 if ( !archetypeDefinition.isDefined() )//<editor-fold text="...">
                 {
-                    getLogger().debug( "OldArchetype is not defined" );
+                    getLogger().debug( "Archetype is not defined" );
                     if ( !archetypeDefinition.isGroupDefined() )
                     {
                         getLogger().debug( "Asking for archetype's groupId" );
@@ -146,7 +149,7 @@
 
                 if ( !archetypeConfiguration.isConfigured() )//<editor-fold text="...">
                 {
-                    getLogger().debug( "OldArchetype is not configured" );
+                    getLogger().debug( "Archetype is not configured" );
                     if ( !archetypeConfiguration.isConfigured( Constants.GROUP_ID ) )
                     {
                         getLogger().debug( "Asking for project's groupId" );
@@ -225,7 +228,7 @@
                     archetypeConfiguration.reset();
                     archetypeDefinition.reset();
                 }
-            } // end while
+            }
         }
         else
         {
@@ -238,12 +241,14 @@
             {
                 throw new ArchetypeNotConfigured( "The archetype is not configured" );
             }
-        } // end if
+        }
 
-        writeProperties(
-            archetypeConfiguration.toProperties(),
-            propertyFile
-        );
+        request.setProject(project)
+                .setLanguages( languages )
+                .setPackageName(archetypeConfiguration.getProperty(Constants.PACKAGE))
+                .setProperties(archetypeConfiguration.getProperties());
+        
+        return request;        
     }
 
     private ArchetypeDefinition defineDefaultArchetype(
@@ -316,7 +321,6 @@
             /*properties.setProperty ( Constants.PACKAGE_NAME, resolvedPackage );*/
             properties.setProperty( Constants.PACKAGE, resolvedPackage );
         }
-
         return
             archetypeFactory.createArchetypeConfiguration(
                 project,
@@ -337,7 +341,6 @@
         try
         {
             properties.load( is );
-
             getLogger().debug( "Read " + properties.size() + " properties" );
         }
         finally
@@ -385,7 +388,7 @@
     }
     
     private Properties initialiseArchetypeProperties(
-        Properties commandLineProperties,
+//        Properties commandLineProperties,
         File propertyFile
     )
         throws
@@ -402,17 +405,17 @@
             getLogger().debug( "archetype.properties does not exist" );
         }
 
-        Iterator commandLinePropertiesIterator =
-            new ArrayList( commandLineProperties.keySet() ).iterator();
-        while ( commandLinePropertiesIterator.hasNext() )
-        {
-            String propertyKey = (String) commandLinePropertiesIterator.next();
-
-            properties.setProperty(
-                propertyKey,
-                commandLineProperties.getProperty( propertyKey )
-            );
-        }
+//        Iterator commandLinePropertiesIterator =
+//            new ArrayList( commandLineProperties.keySet() ).iterator();
+//        while ( commandLinePropertiesIterator.hasNext() )
+//        {
+//            String propertyKey = (String) commandLinePropertiesIterator.next();
+//
+//            properties.setProperty(
+//                propertyKey,
+//                commandLineProperties.getProperty( propertyKey )
+//            );
+//        }
 
         return properties;
     }

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeFactory.java Fri Jan  4 03:41:10 2008
@@ -67,7 +67,7 @@
                 );
             }
         }
-
+        
         return configuration;
     }
 
@@ -359,6 +359,22 @@
                 "Setting property " + Constants.PACKAGE + "="
                     + configuration.getProperty( Constants.PACKAGE )
             );
+        }
+        Iterator propertiesIterator = properties.keySet().iterator();
+        while ( propertiesIterator.hasNext() )
+        {
+            String property = (String) propertiesIterator.next();
+            if ( !Constants.ARCHETYPE_GROUP_ID.equals( property )
+                && !Constants.ARCHETYPE_ARTIFACT_ID.equals( property )
+                && !Constants.ARCHETYPE_VERSION.equals( property )
+                )
+            {
+                configuration.setProperty( property, properties.getProperty( property ) );
+
+                getLogger().debug(
+                    "Adding property " + property + "=" + properties.getProperty( property )
+                );
+            }
         }
 
         return configuration;

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java Fri Jan  4 03:41:10 2008
@@ -78,7 +78,8 @@
 
         List repositories = new ArrayList();
 
-        Properties properties = new Properties( executionProperties );
+        Properties properties = new Properties();
+        properties.putAll(executionProperties);
 
         ArchetypeDefinition ad = new ArchetypeDefinition();
 
@@ -118,7 +119,8 @@
                 archetypeArtifactManager.getFileSetArchetypeDescriptor( ad.getGroupId(),
                 ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository,
                 repositories );
-
+System.err.println("properties"+properties);
+System.err.println("archetypeDescriptor"+archetypeDescriptor);
             archetypeConfiguration = archetypeFactory.createArchetypeConfiguration( archetypeDescriptor,
                 properties );
         }
@@ -170,12 +172,12 @@
                 }
                 else if ( !archetypeGenerationQueryer.confirmConfiguration( archetypeConfiguration ) )
                 {
-                    getLogger().debug( "OldArchetype generation configuration not confirmed" );
+                    getLogger().debug( "Archetype generation configuration not confirmed" );
                     archetypeConfiguration.reset();
                 }
                 else
                 {
-                    getLogger().debug( "OldArchetype generation configuration confirmed" );
+                    getLogger().debug( "Archetype generation configuration confirmed" );
 
                     confirmed = true;
                 }

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java Fri Jan  4 03:41:10 2008
@@ -228,9 +228,9 @@
                 archetypes.put("remote", archetype.getRemoteCatalog().getArchetypes());
             } else if (catalog.startsWith("file://")) {
                 String path = catalog.substring(7);
-                archetypes.put("local", archetype.getLocalCatalog(path).getArchetypes());
+                archetypes.put(catalog, archetype.getLocalCatalog(path).getArchetypes());
             } else if (catalog.startsWith("http://")) {
-                archetypes.put("remote", archetype.getRemoteCatalog(catalog));
+                archetypes.put(catalog, archetype.getRemoteCatalog(catalog));
             }
         }
 

Added: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java?rev=608807&view=auto
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java (added)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java Fri Jan  4 03:41:10 2008
@@ -0,0 +1,256 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype;
+
+import org.apache.maven.archetype.common.ArchetypeRegistryManager;
+import org.apache.maven.archetype.common.Constants;
+import org.apache.maven.archetype.mojos.CreateProjectFromArchetypeMojo;
+import org.apache.maven.archetype.ui.ArchetypeGenerationConfigurator;
+import org.apache.maven.archetype.ui.ArchetypeSelector;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.apache.maven.shared.invoker.Invoker;
+
+import java.io.File;
+
+import java.util.Properties;
+
+/**
+ * @author  rafale
+ */
+public class CreateProjectFromArchetypeMojoTest
+extends AbstractMojoTestCase
+{
+    public void testAllPrompted ()
+    throws Exception
+    {
+        String projectName = "project-1";
+
+        MockPrompter prompter = new MockPrompter ();
+        prompter.addAnswer ( "1" );
+        prompter.addAnswer ( "value-1" );
+        prompter.addAnswer ( "value-2" );
+        prompter.addAnswer ( "value-3" );
+        prompter.addAnswer ( "value-4" );
+        prompter.addAnswer ( "com.company" );
+        prompter.addAnswer ( projectName );
+        prompter.addAnswer ( "1.0" );
+        prompter.addAnswer ( "com.company.project1" );
+        prompter.addAnswer ( "Y" );
+
+        CreateProjectFromArchetypeMojo mojo = lookupCreateProjectFromArchetypeMojo ( prompter );
+
+        String archetypeGroupId = null;
+        String archetypeArtifactId = null;
+        String archetypeVersion = null;
+        String archetypeRepository = null;
+        String archetypeCatalog =
+            "file://"
+            + new File ( getBasedir (), "target/test-classes/local-repository" ).getAbsolutePath ();
+        ArtifactRepository localRepository =
+            ( (ArchetypeRegistryManager) lookup ( ArchetypeRegistryManager.class ) )
+            .createRepository (
+                new File ( getBasedir (), "target/test-classes/local-repository" ).toURI ().toURL ()
+                .toExternalForm (),
+                "local-repo"
+            );
+        Boolean interactiveMode = Boolean.TRUE;
+        File basedir = new File ( getBasedir (), "target/projects" );
+        basedir.mkdirs ();
+
+        Properties executionProperties = new Properties ();
+        String goals = null;
+        configureCreateProjectFromArchetypeMojo (
+            mojo,
+            archetypeGroupId,
+            archetypeArtifactId,
+            archetypeVersion,
+            archetypeRepository,
+            archetypeCatalog,
+            localRepository,
+            interactiveMode,
+            basedir,
+            executionProperties,
+            goals
+        );
+
+        mojo.execute ();
+
+        assertTrue ( new File ( basedir, projectName + "/pom.xml" ).exists () );
+    }
+
+    public void testBatchMode ()
+    throws Exception
+    {
+        String projectName = "project-2";
+
+        CreateProjectFromArchetypeMojo mojo = lookupCreateProjectFromArchetypeMojo ( null );
+
+        String archetypeGroupId = "archetypes";
+        String archetypeArtifactId = "fileset";
+        String archetypeVersion = null;
+        String archetypeRepository = null;
+        String archetypeCatalog =
+            "file://"
+            + new File ( getBasedir (), "target/test-classes/local-repository" ).getAbsolutePath ();
+        ArtifactRepository localRepository =
+            ( (ArchetypeRegistryManager) lookup ( ArchetypeRegistryManager.class ) )
+            .createRepository (
+                new File ( getBasedir (), "target/test-classes/local-repository" ).toURI ().toURL ()
+                .toExternalForm (),
+                "local-repo"
+            );
+        Boolean interactiveMode = Boolean.FALSE;
+        File basedir = new File ( getBasedir (), "target/projects" );
+        basedir.mkdirs ();
+
+        Properties executionProperties = new Properties ();
+        executionProperties.setProperty ( "property-without-default-1", "value-1" );
+        executionProperties.setProperty ( "property-without-default-2", "value-2" );
+        executionProperties.setProperty ( "property-without-default-3", "value-3" );
+        executionProperties.setProperty ( "property-without-default-4", "value-4" );
+        executionProperties.setProperty ( Constants.GROUP_ID, "com.company" );
+        executionProperties.setProperty ( Constants.ARTIFACT_ID, projectName );
+        executionProperties.setProperty ( Constants.VERSION, "1" );
+        executionProperties.setProperty ( Constants.PACKAGE, "com.company." + projectName );
+
+        String goals = null;
+        configureCreateProjectFromArchetypeMojo (
+            mojo,
+            archetypeGroupId,
+            archetypeArtifactId,
+            archetypeVersion,
+            archetypeRepository,
+            archetypeCatalog,
+            localRepository,
+            interactiveMode,
+            basedir,
+            executionProperties,
+            goals
+        );
+
+        mojo.execute ();
+
+        assertTrue ( new File ( basedir, projectName + "/pom.xml" ).exists () );
+    }
+
+    protected void tearDown ()
+    throws Exception
+    {
+        super.tearDown ();
+    }
+
+    protected void setUp ()
+    throws Exception
+    {
+        super.setUp ();
+
+//        start mock repository to target/remote-repository
+    }
+
+    private void configureCreateProjectFromArchetypeMojo (
+        CreateProjectFromArchetypeMojo mojo,
+        String archetypeGroupId,
+        String archetypeArtifactId,
+        String archetypeVersion,
+        String archetypeRepository,
+        String archetypeCatalog,
+        ArtifactRepository localRepository,
+        Boolean interactiveMode,
+        File basedir,
+        Properties executionProperties,
+        String goals
+    )
+    throws IllegalAccessException
+    {
+        setVariableValueToObject ( mojo, "archetypeGroupId", archetypeGroupId );
+        setVariableValueToObject ( mojo, "archetypeArtifactId", archetypeArtifactId );
+        setVariableValueToObject ( mojo, "archetypeVersion", archetypeVersion );
+        setVariableValueToObject ( mojo, "archetypeRepository", archetypeRepository );
+        setVariableValueToObject ( mojo, "archetypeCatalog", archetypeCatalog );
+        setVariableValueToObject ( mojo, "localRepository", localRepository );
+        setVariableValueToObject ( mojo, "interactiveMode", interactiveMode );
+        setVariableValueToObject ( mojo, "basedir", basedir );
+        setVariableValueToObject ( mojo, "session", new MockMavenSession ( executionProperties ) );
+        setVariableValueToObject ( mojo, "goals", goals );
+    }
+
+    private CreateProjectFromArchetypeMojo lookupCreateProjectFromArchetypeMojo (
+        MockPrompter prompter
+    )
+    throws Exception, IllegalAccessException
+    {
+        ArchetypeSelector selector = (ArchetypeSelector) lookup ( ArchetypeSelector.class );
+        ArchetypeRegistryManager archetypeRegistryManager =
+            (ArchetypeRegistryManager) lookup ( ArchetypeRegistryManager.class );
+        Archetype archetype = (Archetype) lookup ( Archetype.class );
+        ArchetypeGenerationConfigurator configurator =
+            (ArchetypeGenerationConfigurator) lookup ( ArchetypeGenerationConfigurator.class );
+        Invoker invoker = (Invoker) lookup ( Invoker.class );
+
+        CreateProjectFromArchetypeMojo mojo = new CreateProjectFromArchetypeMojo ();
+
+        setVariableValueToObject (
+            getVariableValueFromObject ( selector, "archetypeSelectionQueryer" ),
+            "prompter",
+            prompter
+        );
+        setVariableValueToObject (
+            getVariableValueFromObject ( configurator, "archetypeGenerationQueryer" ),
+            "prompter",
+            prompter
+        );
+        setVariableValueToObject ( mojo, "selector", selector );
+        setVariableValueToObject ( mojo, "archetypeRegistryManager", archetypeRegistryManager );
+        setVariableValueToObject ( mojo, "archetype", archetype );
+        setVariableValueToObject ( mojo, "configurator", configurator );
+        setVariableValueToObject ( mojo, "invoker", invoker );
+
+//        System.err.println ( "selector " + selector );
+//        System.err.println ( "archetypeRegistryManager " + archetypeRegistryManager );
+//        System.err.println ( "archetype " + archetype );
+//        System.err.println ( "configurator " + configurator );
+//        System.err.println ( "invoker " + invoker );
+        return mojo;
+    }
+
+    protected class MockMavenSession
+    extends MavenSession
+    {
+        Properties executionProperties = new Properties ();
+
+        public MockMavenSession ( Properties executionProperties )
+        {
+            super ( null, null, null, null );
+            setExecutionProperties ( executionProperties );
+        }
+
+        public Properties getExecutionProperties ()
+        {
+            return this.executionProperties;
+        }
+
+        public void setExecutionProperties ( Properties executionProperties )
+        {
+            this.executionProperties = executionProperties;
+        }
+    }
+}

Propchange: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/CreateProjectFromArchetypeMojoTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java?rev=608807&view=auto
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java (added)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java Fri Jan  4 03:41:10 2008
@@ -0,0 +1,100 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.maven.archetype;
+
+import java.util.ArrayList;
+import org.codehaus.plexus.components.interactivity.Prompter;
+import org.codehaus.plexus.components.interactivity.PrompterException;
+
+import java.util.List;
+
+/**
+ * @author  rafale
+ */
+public class MockPrompter
+implements Prompter
+{    List prompts = new ArrayList ();
+
+    public void addAnswer ( String prompt )
+    {
+        prompts.add ( prompt );
+    }
+
+    public String prompt ( String string )
+    throws PrompterException
+    {
+        System.err.println ( string );
+
+        String answer = (String) prompts.remove ( 0 );
+        System.err.println ( "answer = " + answer );
+        return answer;
+    }
+
+    public String prompt ( String string, String string0 )
+    throws PrompterException
+    {
+        System.err.println ( string );
+        System.err.println ( string0 );
+
+        String answer = (String) prompts.remove ( 0 );
+        System.err.println ( "answer = " + answer );
+        return answer;
+    }
+
+    public String prompt ( String string, List list )
+    throws PrompterException
+    {
+        System.err.println ( string );
+        System.err.println ( list );
+
+        String answer = (String) prompts.remove ( 0 );
+        System.err.println ( "answer = " + answer );
+        return answer;
+    }
+
+    public String prompt ( String string, List list, String string0 )
+    throws PrompterException
+    {
+        System.err.println ( string );
+        System.err.println ( list );
+        System.err.println ( string0 );
+
+        String answer = (String) prompts.remove ( 0 );
+        System.err.println ( "answer = " + answer );
+        return answer;
+    }
+
+    public String promptForPassword ( String string )
+    throws PrompterException
+    {
+        System.err.println ( string );
+
+        String answer = (String) prompts.remove ( 0 );
+        System.err.println ( "answer = " + answer );
+        return answer;
+    }
+
+    public void showMessage ( String string )
+    throws PrompterException
+    {
+        System.err.println ( string );
+    }
+
+}

Propchange: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/java/org/apache/maven/archetype/MockPrompter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml?rev=608807&view=auto
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml (added)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml Fri Jan  4 03:41:10 2008
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<archetype-catalog>
+  <archetypes>
+    <archetype>
+      <groupId>archetypes</groupId>
+      <artifactId>fileset</artifactId>
+      <version>1.0</version>
+      <description>fileset</description>
+    </archetype>
+  </archetypes>
+</archetype-catalog>
\ No newline at end of file

Propchange: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetype-catalog.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/1.0/fileset-1.0.jar
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/1.0/fileset-1.0.jar?rev=608807&view=auto
==============================================================================
Binary file - no diff available.

Propchange: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/archetypeng-plugin/src/test/resources/local-repository/archetypes/fileset/1.0/fileset-1.0.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/pom.xml?rev=608807&r1=608804&r2=608807&view=diff
==============================================================================
--- maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/pom.xml (original)
+++ maven/sandbox/branches/archetypeng-rafale-experiment/archetypeng/pom.xml Fri Jan  4 03:41:10 2008
@@ -174,7 +174,7 @@
       <dependency>
         <groupId>org.apache.maven.shared</groupId>
         <artifactId>maven-plugin-testing-harness</artifactId>
-        <version>1.0-beta-1</version>
+        <version>1.2-SNAPSHOT</version>
         <scope>test</scope>
       </dependency>
       <dependency>