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 2007/10/14 15:47:13 UTC
svn commit: r584546 - in /maven/sandbox/trunk/archetypeng:
archetype-old/src/test/repository/org/
archetype-old/src/test/repository/org/apache/
archetype-old/src/test/repository/org/apache/maven/
archetype-old/src/test/repository/org/apache/maven/arche...
Author: rafale
Date: Sun Oct 14 06:47:11 2007
New Revision: 584546
URL: http://svn.apache.org/viewvc?rev=584546&view=rev
Log:
Roundtrip test is now working
Added:
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/archetypes/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/archetypes/maven-archetype-quickstart/1.0-alpha-1-SNAPSHOT/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/archetypes/maven-archetypes/
maven/sandbox/trunk/archetypeng/archetype-old/src/test/repository/org/apache/maven/archetypes/maven-archetypes/1.0-alpha-1-SNAPSHOT/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java (with props)
Removed:
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/projects/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-1/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-2/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-3/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-4/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-5/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-6/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-7/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-8/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-9/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-1/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-2/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-3/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-4/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-5/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-6/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-7/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/configure-creation-8/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-1/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-10/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-2/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-3/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-4/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-5/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-6/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-7/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-8/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/select-9/
Modified:
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java?rev=584546&r1=584545&r2=584546&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java Sun Oct 14 06:47:11 2007
@@ -46,6 +46,7 @@
import java.util.Arrays;
import java.util.Properties;
import org.apache.maven.archiver.MavenArchiveConfiguration;
+import org.codehaus.plexus.util.StringUtils;
/** @author Jason van Zyl */
public class ArchetyperRoundtripTest
@@ -60,7 +61,7 @@
MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
- ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir( ), "target/local-repo" ).toURI( ).
+ ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir( ), "target/test-classes/repositories/local" ).toURI( ).
toURL( ).toExternalForm( ), "local-repo" );
// (1) create a project from scratch
@@ -73,16 +74,16 @@
//
// ------------------------------------------------------------------------
// (1) create a project from scratch
- File sourceProject = new File( getBasedir( ), "src/test/projects/test-project" );
+// File sourceProject = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-project" );
- File workingProject = new File( getBasedir( ), "target/projects/test-project" );
+ File workingProject = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-project" );
- if ( !workingProject.exists( ) )
- {
- workingProject.mkdirs( );
- }
+// if ( !workingProject.exists( ) )
+// {
+// workingProject.mkdirs( );
+// }
- FileUtils.copyDirectoryStructure( sourceProject, workingProject );
+// FileUtils.copyDirectoryStructure( sourceProject, workingProject );
// (2) create an archetype from the project
File pom = new File( workingProject, "pom.xml" );
@@ -109,92 +110,66 @@
catalogDirectory.mkdirs( );
Properties p = new Properties( );
-
p.setProperty( "sources", "catalog" );
-
p.setProperty( "catalog.file", catalogFile.getAbsolutePath( ) );
-
OutputStream os = new FileOutputStream( catalogProperties );
-
p.store( os, "Generated catalog properties" );
- // (4) create our own archetype catalog describing the archetype we just created
- ArchetypeCatalog catalog = new ArchetypeCatalog( );
-
- Archetype generatedArchetype = new Archetype( );
-
- generatedArchetype.setGroupId( project.getGroupId( ) );
-
- generatedArchetype.setArtifactId( project.getArtifactId( ) );
-
- generatedArchetype.setVersion( project.getVersion( ) );
-
- catalog.addArchetype( generatedArchetype );
-
- ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer( );
-
- Writer writer = new FileWriter( catalogFile );
-
- catalogWriter.write( writer, catalog );
-
- IOUtils.closeQuietly( writer );
-
// (5) install the archetype we just created
File generatedArchetypeDirectory = new File( project.getBasedir( ), "target/generated-sources/archetypeng" );
-
File generatedArchetypePom = new File( generatedArchetypeDirectory, "pom.xml" );
-
MavenProject generatedArchetypeProject = projectBuilder.build( generatedArchetypePom, localRepository, null );
-
File archetypeDirectory = new File( generatedArchetypeDirectory, "src/main/resources" );
- archetype.archiveArchetype(
+ File archetypeArchive = archetype.archiveArchetype(
archetypeDirectory, generatedArchetypeProject,
new File( generatedArchetypeProject.getBuild( ).getDirectory( ) ),
generatedArchetypeProject.getBuild( ).getFinalName( ),
new MavenArchiveConfiguration( )
);
+ File archetypeInRepository = new File (localRepository.getBasedir(),
+ StringUtils.replace(
+ generatedArchetypeProject.getGroupId(), ".", "/") + "/" +
+ generatedArchetypeProject.getArtifactId() + "/" +
+ generatedArchetypeProject.getVersion() + "/" +
+ generatedArchetypeProject.getBuild( ).getFinalName( ) +
+ ".jar");
+ archetypeInRepository.getParentFile().mkdirs();
+ FileUtils.copyFile(archetypeArchive, archetypeInRepository);
-// installArchetype( generatedArchetypeDirectory, new File( localRepository.getBasedir( ) ) );
+ // (4) create our own archetype catalog describing the archetype we just created
+ ArchetypeCatalog catalog = new ArchetypeCatalog( );
+ Archetype generatedArchetype = new Archetype( );
+ generatedArchetype.setGroupId( generatedArchetypeProject.getGroupId( ) );
+ generatedArchetype.setArtifactId( generatedArchetypeProject.getArtifactId( ) );
+ generatedArchetype.setVersion( generatedArchetypeProject.getVersion( ) );
+ generatedArchetype.setRepository(localRepository.getBasedir());
+ catalog.addArchetype( generatedArchetype );
+
+ ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer( );
+ Writer writer = new FileWriter( catalogFile );
+ catalogWriter.write( writer, catalog );
+ IOUtils.closeQuietly( writer );
// (6) create a project form the archetype we just created
- String outputDirectory = new File( getBasedir( ), "target/generated-project" ).getAbsolutePath( );
+ String outputDirectory = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-recreatedproject" ).getAbsolutePath( );
- /*
ArchetypeGenerationRequest agr = new ArchetypeGenerationRequest()
- .setArchetypeGroupId( project.getGroupId() )
- .setArchetypeArtifactId( project.getArtifactId() )
- .setArchetypeVersion( project.getVersion() )
+ .setArchetypeGroupId( generatedArchetypeProject.getGroupId() )
+ .setArchetypeArtifactId( generatedArchetypeProject.getArtifactId() )
+ .setArchetypeVersion( generatedArchetypeProject.getVersion() )
.setGroupId( "com.mycompany" )
.setArtifactId( "myapp" )
.setVersion( "1.0-SNAPSHOT" )
.setPackage( "com.mycompany.myapp" )
.setOutputDirectory( outputDirectory )
.setLocalRepository( localRepository )
- .setArchetypeRepository( "http://repo1.maven.org/maven2" );
+ .setArchetypeRepository( localRepository.getBasedir() );
ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( agr );
if ( generationResult.getCause() != null )
{
fail( generationResult.getCause().getMessage() );
}
- */
- }
-
- private void installArchetype( File basedir, File localRepository )
- throws Exception
- {
- fail( "The packaging can't be used here as the plugins are not yet made." );
- Invoker invoker = (Invoker) lookup( Invoker.ROLE );
- if ( basedir.exists( ) )
- {
- InvocationRequest request = new DefaultInvocationRequest( ).setBaseDirectory( basedir ).
- setGoals( Arrays.asList( new String[]{"install"} ) );
- //.setLocalRepositoryDirectory( localRepository );
- Properties envars = CommandLineUtils.getSystemEnvVars( );
-
- invoker.setMavenHome( new File( envars.getProperty( "M2_HOME" ) ) );
-
- invoker.execute( request );
- }
}
+
}
Added: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml?rev=584546&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml (added)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml Sun Oct 14 06:47:11 2007
@@ -0,0 +1,38 @@
+<?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.test</groupId>
+ <artifactId>test-project</artifactId>
+ <packaging>jar</packaging>
+ <version>1.0</version>
+ <name>test-project</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Propchange: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java?rev=584546&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java (added)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java Sun Oct 14 06:47:11 2007
@@ -0,0 +1,13 @@
+package projects.roundtrip-1-project.src.main.java.org.apache.maven.test;
+
+/**
+ * Hello world!
+ *
+ */
+public class App
+{
+ public static void main( String[] args )
+ {
+ System.out.println( "Hello World!" );
+ }
+}
Propchange: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/main/java/org/apache/maven/test/App.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java?rev=584546&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java (added)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java Sun Oct 14 06:47:11 2007
@@ -0,0 +1,38 @@
+package projects.roundtrip-1-project.src.test.java.org.apache.maven.test;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest
+ extends TestCase
+{
+ /**
+ * Create the test case
+ *
+ * @param testName name of the test case
+ */
+ public AppTest( String testName )
+ {
+ super( testName );
+ }
+
+ /**
+ * @return the suite of tests being tested
+ */
+ public static Test suite()
+ {
+ return new TestSuite( AppTest.class );
+ }
+
+ /**
+ * Rigourous Test :-)
+ */
+ public void testApp()
+ {
+ assertTrue( true );
+ }
+}
Propchange: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/src/test/java/org/apache/maven/test/AppTest.java
------------------------------------------------------------------------------
svn:eol-style = native