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/11/20 23:31:07 UTC
svn commit: r596854 [1/2] - in /maven/sandbox/trunk/archetypeng: ./
archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/
archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/
archetype-testing/archetype-repository/src/...
Author: rafale
Date: Tue Nov 20 14:31:04 2007
New Revision: 596854
URL: http://svn.apache.org/viewvc?rev=596854&view=rev
Log:
Roundtriping Archetype.createArchetypeFromProject then Archetype.createProjectfromArchetype using a minimalist repository webapp and a proxy repository webapp
Added:
maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/pom.xml (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/org/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/org/apache/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/org/apache/maven/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/org/apache/maven/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/main/java/org/apache/maven/test/App.java (with props)
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/org/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/org/apache/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/org/apache/maven/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/org/apache/maven/test/
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-2-project/src/test/java/org/apache/maven/test/AppTest.java (with props)
Modified:
maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/web.xml
maven/sandbox/trunk/archetypeng/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java
maven/sandbox/trunk/archetypeng/archetypeng-common/pom.xml
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreationConfiguratorTest.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripTest.java
maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeGenerationConfigurator.java
maven/sandbox/trunk/archetypeng/archetypeng-plugin/src/main/java/org/apache/maven/archetype/ui/DefaultArchetypeSelector.java
maven/sandbox/trunk/archetypeng/pom.xml
Added: maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java?rev=596854&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java (added)
+++ maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java Tue Nov 20 14:31:04 2007
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2007 rafale.
+ *
+ * Licensed 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.
+ * under the License.
+ */
+package org.apache.maven.archetype.proxy;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.mortbay.util.IO;
+
+/**
+ *
+ * @author rafale
+ */
+public class RepositoryServlet
+ extends HttpServlet
+{
+ private ServletConfig config;
+
+ private ServletContext context;
+
+ /* (non-Javadoc)
+ * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig)
+ */
+ public void init( ServletConfig config ) throws ServletException
+ {
+ this.config = config;
+ this.context = config.getServletContext( );
+ }
+
+ /* (non-Javadoc)
+ * @see javax.servlet.Servlet#getServletConfig()
+ */
+ public ServletConfig getServletConfig( )
+ {
+ return config;
+ }
+
+ /* (non-Javadoc)
+ * @see javax.servlet.Servlet#service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
+ */
+ public void service( ServletRequest req, ServletResponse res ) throws ServletException
+ {
+ HttpServletRequest request = (HttpServletRequest) req;
+ HttpServletResponse response = (HttpServletResponse) res;
+
+
+
+ log( "A = " + request.getAuthType() );
+ log( "A = " + request.getCharacterEncoding() );
+ log( "A = " + request.getContentType() );
+ log( "B = " + request.getContextPath() );
+ log( "B = " + request.getLocalAddr() );
+ log( "B = " + request.getLocalName() );
+ log( "C = " + request.getMethod() );
+ log( "C = " + request.getPathInfo() );
+ log( "C = " + request.getPathTranslated() );
+ log( "D = " + request.getProtocol() );
+ log( "D = " + request.getQueryString() );
+ log( "D = " + request.getRemoteAddr() );
+ log( "E = " + request.getRemoteHost() );
+ log( "E = " + request.getRemoteUser() );
+ log( "E = " + request.getRequestURI() );
+ log( "F = " + request.getRequestedSessionId() );
+ log( "F = " + request.getScheme() );
+ log( "F = " + request.getServerName() );
+ log( "G = " + request.getServletPath() );
+ log( "G = " + request.getAttributeNames() );
+ log( "G = " + request.getCookies() );
+ log( "H = " + request.getHeaderNames() );
+// log( "H = " + request.get );
+// log( "H = " + request.get );
+// log( "I = " + request.get );
+// log( "I = " + request.get );
+// log( "I = " + request.get );
+// log( "J = " + request.get );
+// log( "J = " + request.get );
+// log( "J = " + request.get );
+// log( "K = " + request.get );
+// log( "K = " + request.get );
+// log( "K = " + request.get );
+
+
+
+
+
+
+
+
+
+
+
+
+ response.setHeader( "Date", null );
+ response.setHeader( "Server", null );
+
+
+ log( "Requested file = " + request.getRequestURI( ) );
+ String filePath =
+ System.getProperty( "org.apache.maven.archetype.reporitory.directory" ).trim( ) + "/" +
+ request.getRequestURI( );
+ log( "Complete file path = " + filePath );
+
+ String method = request.getMethod( );
+
+ if ( "GET".equalsIgnoreCase( method ) )
+ {
+ log( "Getting file" );
+ try
+ {
+ File requestedFile = new File( filePath );
+
+ InputStream is = new FileInputStream( requestedFile );
+
+ if ( is != null )
+ {
+ IO.copy( is, response.getOutputStream( ) );
+ response.setStatus( HttpServletResponse.SC_OK );
+ log( "File sent" );
+ }
+ else
+ {
+ log( "Can not send file no content" );
+ }
+ }
+ catch ( FileNotFoundException fileNotFoundException )
+ {
+ response.setStatus( HttpServletResponse.SC_NOT_FOUND );
+ log( "Requested file not found ", fileNotFoundException );
+ }
+ catch ( IOException iOException )
+ {
+ response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+ log( "Can not send file", iOException );
+ }
+ }
+ else if ( "PUT".equalsIgnoreCase( method ) )
+ {
+ log( "Putting file" );
+ File uploadedFile = new File( filePath );
+ if ( uploadedFile.exists( ) )
+ {
+ uploadedFile.delete( );
+ log( "Removed old file" );
+ }
+ else if ( !uploadedFile.getParentFile( ).exists( ) )
+ {
+ uploadedFile.getParentFile( ).mkdirs( );
+ log( "Created directory " + uploadedFile.getParent( ) );
+ }
+
+ try
+ {
+ FileWriter fw = new FileWriter( uploadedFile );
+ IO.copy( request.getReader( ), fw );
+ response.setStatus( HttpServletResponse.SC_OK );
+ log( "File copied" );
+ }
+ catch ( IOException iOException )
+ {
+
+ response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+ log( "Can not send file", iOException );
+ }
+ }
+ else
+ {
+
+ response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
+ try
+ {
+ log( "Method " + request.getMethod( ) );
+ log( "ContextPath " + request.getContextPath( ) );
+ log( "QueryString" + request.getQueryString( ) );
+ log( "PathInfo " + request.getPathInfo( ) );
+ log( "ServletPath " + request.getServletPath( ) );
+ log( "AttributeNames " + request.getAttributeNames( ).toString( ) );
+ log( "HeaderNames " + request.getHeaderNames( ).toString( ) );
+ log( "RequestURL " + request.getRequestURL( ).toString( ) );
+ log( "ParameterNames " + request.getParameterNames( ).toString( ) );
+ StringWriter w = new StringWriter( );
+ IO.copy( request.getReader( ), w );
+ log( "Content " + w.toString( ) );
+ }
+ catch ( IOException iOException )
+ {
+ log( "Error in unnknown method", iOException );
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see javax.servlet.Servlet#getServletInfo()
+ */
+ public String getServletInfo( )
+ {
+ return "Repository Servlet";
+ }
+
+ /* (non-Javadoc)
+ * @see javax.servlet.Servlet#destroy()
+ */
+ public void destroy( )
+ {
+ }
+
+ /**
+ * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
+ * @param request servlet request
+ * @param response servlet response
+ */
+ protected void processRequest( HttpServletRequest request,
+ HttpServletResponse response ) throws ServletException, IOException
+ {
+ response.setContentType( "text/html;charset=UTF-8" );
+ PrintWriter out = response.getWriter( );
+ try
+ {
+ /* TODO output your page here
+ out.println("<html>");
+ out.println("<head>");
+ out.println("<title>Servlet RepositoryServlet</title>");
+ out.println("</head>");
+ out.println("<body>");
+ out.println("<h1>Servlet RepositoryServlet at " + request.getContextPath () + "</h1>");
+ out.println("</body>");
+ out.println("</html>");
+ */
+ }
+ finally
+ {
+ out.close( );
+ }
+ }
+
+ public String getServletName()
+ {
+ return "Repository Servlet";
+ }
+
+
+}
\ No newline at end of file
Propchange: maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/java/org/apache/maven/archetype/proxy/RepositoryServlet.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/web.xml?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/web.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetype-testing/archetype-proxy/src/main/webapp/WEB-INF/web.xml Tue Nov 20 14:31:04 2007
@@ -5,8 +5,12 @@
<servlet-name>ProxyServlet</servlet-name>
<servlet-class>org.apache.maven.archetype.proxy.ProxyServlet</servlet-class>
</servlet>
+ <servlet>
+ <servlet-name>RepositoryServlet</servlet-name>
+ <servlet-class>org.apache.maven.archetype.proxy.RepositoryServlet</servlet-class>
+ </servlet>
<servlet-mapping>
- <servlet-name>ProxyServlet</servlet-name>
+ <servlet-name>RepositoryServlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
Modified: maven/sandbox/trunk/archetypeng/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java (original)
+++ maven/sandbox/trunk/archetypeng/archetype-testing/archetype-repository/src/main/java/org/apache/maven/archetype/repository/RepositoryServlet.java Tue Nov 20 14:31:04 2007
@@ -75,16 +75,23 @@
log( "Requested file = " + request.getRequestURI( ) );
+ System.err.println( "Requested file = " + request.getRequestURI( ) );
String filePath =
System.getProperty( "org.apache.maven.archetype.reporitory.directory" ).trim( ) + "/" +
request.getRequestURI( );
+ filePath=filePath.replace("repo/", "/");
+ filePath=filePath.replaceAll("//", "/");
+ filePath=filePath.replaceAll("//", "/");
+ filePath=filePath.replaceAll("//", "/");
log( "Complete file path = " + filePath );
+ System.err.println( "Complete file path = " + filePath );
String method = request.getMethod( );
if ( "GET".equalsIgnoreCase( method ) )
{
log( "Getting file" );
+ System.err.println( "Getting file" );
try
{
File requestedFile = new File( filePath );
@@ -96,36 +103,45 @@
IO.copy( is, response.getOutputStream( ) );
response.setStatus( HttpServletResponse.SC_OK );
log( "File sent" );
+ System.err.println( "File sent" );
}
else
{
log( "Can not send file no content" );
+ System.err.println( "Can not send file no content" );
}
}
catch ( FileNotFoundException fileNotFoundException )
{
response.setStatus( HttpServletResponse.SC_NOT_FOUND );
log( "Requested file not found ", fileNotFoundException );
+ System.err.println( "Requested file not found "+ fileNotFoundException );
+ fileNotFoundException.printStackTrace(System.err);
}
catch ( IOException iOException )
{
response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
log( "Can not send file", iOException );
+ System.err.println( "Can not send file"+ iOException );
+ iOException.printStackTrace(System.err);
}
}
else if ( "PUT".equalsIgnoreCase( method ) )
{
log( "Putting file" );
+ System.err.println( "Putting file" );
File uploadedFile = new File( filePath );
if ( uploadedFile.exists( ) )
{
uploadedFile.delete( );
log( "Removed old file" );
+ System.err.println( "Removed old file" );
}
else if ( !uploadedFile.getParentFile( ).exists( ) )
{
uploadedFile.getParentFile( ).mkdirs( );
log( "Created directory " + uploadedFile.getParent( ) );
+ System.err.println( "Created directory " + uploadedFile.getParent( ) );
}
try
@@ -134,12 +150,15 @@
IO.copy( request.getReader( ), fw );
response.setStatus( HttpServletResponse.SC_OK );
log( "File copied" );
+ System.err.println( "File copied" );
}
catch ( IOException iOException )
{
response.setStatus( HttpServletResponse.SC_INTERNAL_SERVER_ERROR );
log( "Can not send file", iOException );
+ System.err.println( "Can not send file"+ iOException );
+ iOException.printStackTrace(System.err);
}
}
else
@@ -160,10 +179,24 @@
StringWriter w = new StringWriter( );
IO.copy( request.getReader( ), w );
log( "Content " + w.toString( ) );
+
+
+ System.err.println( "Method " + request.getMethod( ) );
+ System.err.println( "ContextPath " + request.getContextPath( ) );
+ System.err.println( "QueryString" + request.getQueryString( ) );
+ System.err.println( "PathInfo " + request.getPathInfo( ) );
+ System.err.println( "ServletPath " + request.getServletPath( ) );
+ System.err.println( "AttributeNames " + request.getAttributeNames( ).toString( ) );
+ System.err.println( "HeaderNames " + request.getHeaderNames( ).toString( ) );
+ System.err.println( "RequestURL " + request.getRequestURL( ).toString( ) );
+ System.err.println( "ParameterNames " + request.getParameterNames( ).toString( ) );
+ System.err.println( "Content " + w.toString( ) );
}
catch ( IOException iOException )
{
log( "Error in unnknown method", iOException );
+ System.err.println( "Error in unnknown method"+ iOException );
+ iOException.printStackTrace(System.err);
}
}
}
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/pom.xml
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/pom.xml?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/pom.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/pom.xml Tue Nov 20 14:31:04 2007
@@ -134,6 +134,12 @@
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-file</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.wagon</groupId>
+ <artifactId>wagon-http</artifactId>
+ <version>1.0-beta-2</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
@@ -235,6 +241,14 @@
<type>war</type>
<overWrite>true</overWrite>
<destFileName>archetype-repository.war</destFileName>
+ </artifactItem>
+ <artifactItem>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>archetype-proxy</artifactId>
+ <version>${project.version}</version>
+ <type>war</type>
+ <overWrite>true</overWrite>
+ <destFileName>archetype-proxy.war</destFileName>
</artifactItem>
</artifactItems>
<outputDirectory>${project.build.directory}/wars</outputDirectory>
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/ArchetypeArtifactManager.java Tue Nov 20 14:31:04 2007
@@ -38,6 +38,7 @@
final String groupId,
final String artifactId,
final String version,
+ ArtifactRepository archetypeRepository,
final ArtifactRepository localRepository,
final List repositories
)
@@ -56,6 +57,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -82,6 +84,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -92,6 +95,7 @@
String archetypeGroupId,
String archetypeArtifactId,
String archetypeVersion,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repos );
@@ -104,6 +108,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
);
@@ -120,6 +125,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -138,6 +144,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -150,6 +157,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
);
@@ -160,6 +168,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/common/DefaultArchetypeArtifactManager.java Tue Nov 20 14:31:04 2007
@@ -68,6 +68,7 @@
final String groupId,
final String artifactId,
final String version,
+ ArtifactRepository archetypeRepository,
final ArtifactRepository localRepository,
final List repositories
)
@@ -76,7 +77,7 @@
{
try
{
- return downloader.download( groupId, artifactId, version, localRepository, repositories );
+ return downloader.download( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
}
catch ( DownloadNotFoundException ex )
{
@@ -110,6 +111,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -119,7 +121,7 @@
try
{
File archetypeFile =
- getArchetypeFile( groupId, artifactId, version, localRepository, repositories );
+ getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
URL[] urls = new URL[1];
urls[0] = archetypeFile.toURI().toURL();
@@ -203,6 +205,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -212,7 +215,7 @@
try
{
File archetypeFile =
- getArchetypeFile( groupId, artifactId, version, localRepository, repositories );
+ getArchetypeFile( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
return new ZipFile( archetypeFile );
}
@@ -231,12 +234,13 @@
String archetypeGroupId,
String archetypeArtifactId,
String archetypeVersion,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List remoteRepositories )
{
try
- {
- File archetypeFile = downloader.download( archetypeGroupId, archetypeArtifactId, archetypeVersion, localRepository, remoteRepositories );
+ {
+ File archetypeFile = downloader.download( archetypeGroupId, archetypeArtifactId, archetypeVersion, archetypeRepository, localRepository, remoteRepositories );
return archetypeFile.exists();
}
@@ -258,6 +262,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -268,7 +273,7 @@
getArchetypeJarLoader(
groupId,
artifactId,
- version,
+ version, archetypeRepository,
localRepository,
repositories
);
@@ -316,6 +321,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -328,7 +334,7 @@
getArchetypeJarLoader(
groupId,
artifactId,
- version,
+ version, archetypeRepository,
localRepository,
repositories
);
@@ -385,6 +391,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -394,7 +401,7 @@
List archetypeResources = new ArrayList();
ZipFile zipFile =
- getArchetypeZipFile( groupId, artifactId, version, localRepository, repositories );
+ getArchetypeZipFile( groupId, artifactId, version, archetypeRepository, localRepository, repositories );
Enumeration enumeration = zipFile.entries();
while ( enumeration.hasMoreElements() )
@@ -422,6 +429,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -432,7 +440,7 @@
getArchetypeJarLoader(
groupId,
artifactId,
- version,
+ version, archetypeRepository,
localRepository,
repositories
);
@@ -460,6 +468,7 @@
String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List repositories
)
@@ -472,7 +481,7 @@
getArchetypeJarLoader(
groupId,
artifactId,
- version,
+ version, archetypeRepository,
localRepository,
repositories
);
@@ -668,4 +677,4 @@
? Thread.currentThread().getContextClassLoader().getResourceAsStream( name )
: loader.getResourceAsStream( name );
}
-}
+ }
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/DefaultDownloader.java Tue Nov 20 14:31:04 2007
@@ -30,23 +30,46 @@
public File download( String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
File localRepository,
String[] remoteRepositories )
throws DownloadException, DownloadNotFoundException
{
- return download( groupId, artifactId, version, localRepository, remoteRepositories );
+ return download( groupId, artifactId, version, archetypeRepository, localRepository, remoteRepositories );
}
public File download( String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List remoteRepositories )
throws DownloadException, DownloadNotFoundException
{
Artifact artifact = artifactFactory.createArtifact( groupId, artifactId, version, Artifact.SCOPE_RUNTIME, "jar" );
+System.err.println("ARTIFACT"+artifact);
+System.err.println("ARTIFACT"+artifact.getArtifactId());
+System.err.println("ARTIFACT"+artifact.getBaseVersion());
+System.err.println("ARTIFACT"+artifact.getDependencyConflictId());
+System.err.println("ARTIFACT"+artifact.getDownloadUrl());
+System.err.println("ARTIFACT"+artifact.getGroupId());
+System.err.println("ARTIFACT"+artifact.getId());
+System.err.println("ARTIFACT"+artifact.getScope());
+System.err.println("ARTIFACT"+artifact.getType());
+System.err.println("ARTIFACT"+artifact.getVersion());
+System.err.println("ARTIFACT"+artifact.getArtifactHandler());
+System.err.println("ARTIFACT"+artifact.getAvailableVersions());
+System.err.println("ARTIFACT"+artifact.getDependencyFilter());
+System.err.println("ARTIFACT"+artifact.getDependencyTrail());
+System.err.println("ARTIFACT"+artifact.getMetadataList());
+System.err.println("ARTIFACT"+artifact.getRepository());
+System.err.println("ARTIFACT"+artifact.getVersionRange());
+System.err.println("remoteRepositories "+remoteRepositories);
+System.err.println("localRepository "+localRepository);
+System.err.println("archetypeRepository "+archetypeRepository);
+artifact.setRepository(archetypeRepository);
try
{
artifactResolver.resolveAlways( artifact, remoteRepositories, localRepository );
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/downloader/Downloader.java Tue Nov 20 14:31:04 2007
@@ -15,6 +15,7 @@
public File download( String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
File localRepository,
String[] remoteRepositories )
throws DownloadException, DownloadNotFoundException;
@@ -22,6 +23,7 @@
public File download( String groupId,
String artifactId,
String version,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List remoteRepositories )
throws DownloadException, DownloadNotFoundException;
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/generator/DefaultArchetypeGenerator.java Tue Nov 20 14:31:04 2007
@@ -94,19 +94,23 @@
List repos = new ArrayList( /*repositories*/ );
+ ArtifactRepository remoteRepo = null;
if ( request != null && request.getArchetypeRepository() != null )
{
- ArtifactRepository remoteRepo = archetypeRegistryManager.createRepository(
+ remoteRepo=archetypeRegistryManager.createRepository(
request.getArchetypeRepository(),
request.getArchetypeArtifactId() + "-repo" );
repos.add( remoteRepo );
+
+ System.err.println("REPO"+remoteRepo);
+
}
if ( !archetypeArtifactManager.exists(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repos ) )
{
@@ -120,14 +124,14 @@
if ( archetypeArtifactManager.isFileSetArchetype(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repos
)
)
{
processFileSetArchetype(
- request,
+ request,remoteRepo,
localRepository,
basedir,
repos
@@ -137,12 +141,12 @@
archetypeArtifactManager.isOldArchetype(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repos ) )
{
processOldArchetype(
- request,
+ request,remoteRepo,
localRepository,
basedir,
repos
@@ -170,6 +174,7 @@
/** FileSetArchetype */
private void processFileSetArchetype(
final ArchetypeGenerationRequest request,
+ ArtifactRepository remoteRepo,
final ArtifactRepository localRepository,
final String basedir,
final List repositories
@@ -205,7 +210,7 @@
archetypeArtifactManager.getArchetypeFile(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repositories
);
@@ -215,6 +220,7 @@
private void processOldArchetype(
ArchetypeGenerationRequest request,
+ ArtifactRepository remoteRepo,
ArtifactRepository localRepository,
String basedir,
List repositories
@@ -229,7 +235,7 @@
archetypeArtifactManager.getOldArchetypeDescriptor(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repositories
);
@@ -252,7 +258,7 @@
oldArchetype.createArchetype(
request.getArchetypeGroupId(),
request.getArchetypeArtifactId(),
- request.getArchetypeVersion(),
+ request.getArchetypeVersion(),remoteRepo,
localRepository,
repositories,
map
@@ -281,7 +287,7 @@
public void generateArchetype( ArchetypeGenerationRequest request, ArchetypeGenerationResult result )
{
//TODO: get rid of the property file usage.
-
+
try
{
generateArchetype( request, null, request.getLocalRepository(), null/*Collections.singletonList( repo )*/, request.getOutputDirectory( ) );
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/DefaultOldArchetype.java Tue Nov 20 14:31:04 2007
@@ -105,6 +105,7 @@
public void createArchetype( String archetypeGroupId,
String archetypeArtifactId,
String archetypeVersion,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository,
List remoteRepositories,
Map parameters )
@@ -118,7 +119,7 @@
try
{
- archetype = downloader.download( archetypeGroupId, archetypeArtifactId, archetypeVersion, localRepository,
+ archetype = downloader.download( archetypeGroupId, archetypeArtifactId, archetypeVersion, archetypeRepository, localRepository,
remoteRepositories );
}
catch ( DownloadException e )
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/old/OldArchetype.java Tue Nov 20 14:31:04 2007
@@ -39,6 +39,7 @@
String ARCHETYPE_POM = "pom.xml";
void createArchetype( String archetypeGroupId, String archetypeArtifactId, String archetypeVersion,
+ ArtifactRepository archetypeRepository,
ArtifactRepository localRepository, List remoteRepositories, Map parameters )
throws ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException;
}
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/main/java/org/apache/maven/archetype/source/CatalogArchetypeDataSource.java Tue Nov 20 14:31:04 2007
@@ -48,19 +48,19 @@
extends AbstractLogEnabled
implements ArchetypeDataSource
{
- public static String ARCHETYPE_CATALOG_PROPERTY = "file";
+ public static final String ARCHETYPE_CATALOG_PROPERTY = "file";
- public static String ARCHETYPE_CATALOG_FILENAME = "archetype-catalog.xml";
+ public static final String ARCHETYPE_CATALOG_FILENAME = "archetype-catalog.xml";
private ArchetypeCatalogXpp3Reader catalogReader = new ArchetypeCatalogXpp3Reader();
private ArchetypeCatalogXpp3Writer catalogWriter = new ArchetypeCatalogXpp3Writer();
- private File USER_HOME = new File( System.getProperty( "user.home" ) );
+ public static final File USER_HOME = new File( System.getProperty( "user.home" ) );
- private File MAVEN_CONFIGURATION = new File( USER_HOME, ".m2" );
+ public static final File MAVEN_CONFIGURATION = new File( USER_HOME, ".m2" );
- private File DEFAULT_ARCHETYPE_CATALOG = new File( MAVEN_CONFIGURATION, ARCHETYPE_CATALOG_FILENAME );
+ public static final File DEFAULT_ARCHETYPE_CATALOG = new File( MAVEN_CONFIGURATION, ARCHETYPE_CATALOG_FILENAME );
public List getArchetypes( Properties properties )
throws ArchetypeDataSourceException
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreationConfiguratorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreationConfiguratorTest.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreationConfiguratorTest.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreationConfiguratorTest.java Tue Nov 20 14:31:04 2007
@@ -22,35 +22,35 @@
//import org.apache.maven.archetype.ui.DefaultArchetypeCreationConfigurator;
//import org.apache.maven.archetype.ui.ArchetypeCreationConfigurator;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
-import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+//import org.apache.maven.artifact.repository.ArtifactRepository;
+//import org.apache.maven.artifact.repository.DefaultArtifactRepository;
+//import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
+//import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+//import org.apache.maven.artifact.resolver.ArtifactResolutionException;
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectBuilder;
-import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.plexus.util.IOUtil;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Properties;
+//import org.apache.maven.project.MavenProject;
+//import org.apache.maven.project.MavenProjectBuilder;
+//import org.apache.maven.project.ProjectBuildingException;
+//import org.codehaus.plexus.util.IOUtil;
+//
+//import java.io.File;
+//import java.io.FileInputStream;
+//import java.io.FileNotFoundException;
+//import java.io.FileReader;
+//import java.io.FileWriter;
+//import java.io.IOException;
+//import java.util.Arrays;
+//import java.util.List;
+//import java.util.Properties;
public class DefaultArchetypeCreationConfiguratorTest
extends AbstractMojoTestCase
{
- private List languages;
- private DefaultArtifactRepository localRepository;
-
- private List repositories;
-
+// private List languages;
+// private DefaultArtifactRepository localRepository;
+//
+// private List repositories;
+//
public void testNothing()
{
//TODO: All the tests were commented out Because the tested classes are beeing moved for now and will be removed soon
@@ -516,53 +516,53 @@
//
// assertEquals ( 7, properties.size () );
// }
-
- protected void tearDown()
- throws
- Exception
- {
- super.tearDown();
- }
-
- protected void setUp()
- throws
- Exception
- {
- super.setUp();
-
- localRepository =
- new DefaultArtifactRepository(
- "local",
- new File( getBasedir(), "target/test-classes/repositories/local" ).toURI()
- .toString(),
- new DefaultRepositoryLayout()
- );
-
- repositories =
- Arrays.asList(
- new ArtifactRepository[]
- {
- new DefaultArtifactRepository(
- "central",
- new File( getBasedir(), "target/test-classes/repositories/central" )
- .toURI().toString(),
- new DefaultRepositoryLayout()
- )
- }
- );
- }
-
- private void copy( final File in,
- final File out )
- throws
- IOException
- {
- assertTrue( !out.exists() || out.delete() );
- assertFalse( out.exists() );
- IOUtil.copy( new FileReader( in ), new FileWriter( out ) );
- assertTrue( out.exists() );
- assertTrue( in.exists() );
- }
+//
+// protected void tearDown()
+// throws
+// Exception
+// {
+// super.tearDown();
+// }
+//
+// protected void setUp()
+// throws
+// Exception
+// {
+// super.setUp();
+//
+// localRepository =
+// new DefaultArtifactRepository(
+// "local",
+// new File( getBasedir(), "target/test-classes/repositories/local" ).toURI()
+// .toString(),
+// new DefaultRepositoryLayout()
+// );
+//
+// repositories =
+// Arrays.asList(
+// new ArtifactRepository[]
+// {
+// new DefaultArtifactRepository(
+// "central",
+// new File( getBasedir(), "target/test-classes/repositories/central" )
+// .toURI().toString(),
+// new DefaultRepositoryLayout()
+// )
+// }
+// );
+// }
+//
+// private void copy( final File in,
+// final File out )
+// throws
+// IOException
+// {
+// assertTrue( !out.exists() || out.delete() );
+// assertFalse( out.exists() );
+// IOUtil.copy( new FileReader( in ), new FileWriter( out ) );
+// assertTrue( out.exists() );
+// assertTrue( in.exists() );
+// }
// /*Commented on 2007 09 25
// private void instanceDefined( DefaultArchetypeCreationConfigurator instance )
@@ -577,57 +577,57 @@
// }
// Commented on 2007 09 25*/
- private MavenProject loadProject( final File projectFile )
- throws
- ArtifactNotFoundException,
- Exception,
- ArtifactResolutionException,
- ProjectBuildingException
- {
- MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
- return builder.buildWithDependencies( projectFile, localRepository, null );
- }
-
- private Properties loadProperties( File propertyFile )
- throws
- IOException,
- FileNotFoundException
- {
- Properties properties = new Properties();
- properties.load( new FileInputStream( propertyFile ) );
- return properties;
- }
-
- private File getProjectFile( String project )
- {
- return new File( getBasedir(), "target/test-classes/projects/" + project + "/pom.xml" );
- }
-
- private File getProjectSampleFile( String project )
- {
- return
- new File(
- getBasedir(),
- "target/test-classes/projects/" + project + "/pom.xml.sample"
- );
- }
-
- private File getPropertiesFile( String project )
- {
- return
- new File(
- getBasedir(),
- "target/test-classes/projects/" + project + "/archetype.properties"
- );
- }
-
- private File getPropertiesSampleFile( final String project )
- {
- File propertyFileSample =
- new File(
- getBasedir(),
- "target/test-classes/projects/" + project + "/archetype.properties.sample"
- );
- return propertyFileSample;
- }
+// private MavenProject loadProject( final File projectFile )
+// throws
+// ArtifactNotFoundException,
+// Exception,
+// ArtifactResolutionException,
+// ProjectBuildingException
+// {
+// MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+// return builder.buildWithDependencies( projectFile, localRepository, null );
+// }
+//
+// private Properties loadProperties( File propertyFile )
+// throws
+// IOException,
+// FileNotFoundException
+// {
+// Properties properties = new Properties();
+// properties.load( new FileInputStream( propertyFile ) );
+// return properties;
+// }
+//
+// private File getProjectFile( String project )
+// {
+// return new File( getBasedir(), "target/test-classes/projects/" + project + "/pom.xml" );
+// }
+//
+// private File getProjectSampleFile( String project )
+// {
+// return
+// new File(
+// getBasedir(),
+// "target/test-classes/projects/" + project + "/pom.xml.sample"
+// );
+// }
+//
+// private File getPropertiesFile( String project )
+// {
+// return
+// new File(
+// getBasedir(),
+// "target/test-classes/projects/" + project + "/archetype.properties"
+// );
+// }
+//
+// private File getPropertiesSampleFile( final String project )
+// {
+// File propertyFileSample =
+// new File(
+// getBasedir(),
+// "target/test-classes/projects/" + project + "/archetype.properties.sample"
+// );
+// return propertyFileSample;
+// }
}
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/creator/DefaultArchetypeCreatorTest.java Tue Nov 20 14:31:04 2007
@@ -42,6 +42,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
+import org.apache.maven.project.MavenProjectBuildingResult;
public class DefaultArchetypeCreatorTest
extends AbstractMojoTestCase
@@ -80,10 +81,22 @@
Properties p = PropertyUtils.loadProperties( propertyFile );
MavenProject mavenProject = null;
-
+
try
{
- mavenProject = builder.buildWithDependencies( projectFile, localRepository, null );
+ Object result = builder.buildWithDependencies( projectFile, localRepository, null );
+ if ( result instanceof MavenProject )
+ {// Using maven 2.0.x / x >= 7
+ mavenProject = (MavenProject) result;
+ }
+ else if ( result instanceof MavenProjectBuildingResult )
+ {// Using maven 2.1
+ mavenProject = ((MavenProjectBuildingResult) result).getProject();
+ }
+ else
+ {
+ fail( "Wrong result class" );
+ }
}
catch( Exception e )
{
Modified: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java?rev=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/old/ArchetypeTest.java Tue Nov 20 14:31:04 2007
@@ -97,7 +97,7 @@
String archetypeGroupId = "org.apache.maven.archetypes";
String archetypeArtifactId = "maven-archetype-quickstart";
String archetypeVersion = "1.0-alpha-1-SNAPSHOT";
- archetype.createArchetype( archetypeGroupId, archetypeArtifactId, archetypeVersion, localRepository,
+ archetype.createArchetype( archetypeGroupId, archetypeArtifactId, archetypeVersion, remoteRepository, localRepository,
remoteRepositories, parameters );
// ----------------------------------------------------------------------
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=596854&r1=596853&r2=596854&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 Tue Nov 20 14:31:04 2007
@@ -18,6 +18,7 @@
*/
package org.apache.maven.archetype.test;
+
import org.apache.commons.io.IOUtils;
import org.apache.maven.archetype.ArchetypeCreationRequest;
import org.apache.maven.archetype.ArchetypeCreationResult;
@@ -33,6 +34,7 @@
import org.codehaus.cargo.container.deployable.DeployableType;
import org.codehaus.cargo.container.deployable.WAR;
import org.codehaus.cargo.container.deployer.Deployer;
+import org.codehaus.cargo.container.deployer.URLDeployableMonitor;
import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedLocalContainer;
import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedLocalDeployer;
import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedStandaloneLocalConfiguration;
@@ -48,168 +50,180 @@
import java.io.FileWriter;
import java.io.OutputStream;
import java.io.Writer;
+import java.net.URL;
import java.util.Properties;
-
/** @author Jason van Zyl */
public class ArchetyperRoundtripTest
extends PlexusTestCase
{
- Jetty6xEmbeddedLocalContainer container;
+ Jetty6xEmbeddedLocalContainer container;
- public void testArchetyper()
- throws Exception
- {
- Archetype archetype = (Archetype) lookup( Archetype.ROLE );
-
- ArchetypeRegistryManager registryManager = (ArchetypeRegistryManager) lookup( ArchetypeRegistryManager.ROLE );
-
- MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
-
- ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir(),
- "target/test-classes/repositories/local" ).toURI().
- toURL().
- toExternalForm(),
- "local-repo" );
-
- // (1) create a project from scratch
- // (2) create an archetype from the project
- // (3) create our own archetype catalog properties in memory
- // (4) create our own archetype catalog describing the archetype we just created
- // (5) deploy the archetype we just created
- // (6) create a project form the archetype we just created
- // ------------------------------------------------------------------------
- //
- // ------------------------------------------------------------------------
- // (1) create a project from scratch
-// File sourceProject = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-project" );
+ public void testArchetyper()
+ throws Exception
+ {
- File workingProject = new File( getBasedir(),
- "target/test-classes/projects/roundtrip-1-project" );
+ Archetype archetype = (Archetype) lookup( Archetype.ROLE );
- // (2) create an archetype from the project
- File pom = new File( workingProject, "pom.xml" );
+ ArchetypeRegistryManager registryManager = (ArchetypeRegistryManager) lookup( ArchetypeRegistryManager.ROLE );
- MavenProject project = projectBuilder.build( pom, localRepository, null );
+ MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
- ArchetypeCreationRequest acr = new ArchetypeCreationRequest().setProject( project ).
- setLocalRepository( localRepository );
+ ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir(),
+ "target/test-classes/repositories/local" ).toURI().
+ toURL().
+ toExternalForm(),
+ "local-repo" );
+
+ ArtifactRepository centralRepository = registryManager.createRepository( new File( getBasedir(),
+ "target/test-classes/repositories/central" ).toURI().
+ toURL().
+ toExternalForm(),
+ "central-repo" );
+
+ // (1) create a project from scratch
+ // (2) create an archetype from the project
+ // (3) create our own archetype catalog properties in memory
+ // (4) create our own archetype catalog describing the archetype we just created
+ // (5) deploy the archetype we just created
+ // (6) create a project form the archetype we just created
+ // ------------------------------------------------------------------------
+ //
+ // ------------------------------------------------------------------------
+ // (1) create a project from scratch
+// File sourceProject = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-project" );
- ArchetypeCreationResult creationResult = archetype.createArchetypeFromProject( acr );
+ File workingProject = new File( getBasedir(),
+ "target/test-classes/projects/roundtrip-1-project" );
- if ( creationResult.getCause() != null )
- {
- fail( creationResult.getCause().getMessage() );
- }
+ // (2) create an archetype from the project
+ File pom = new File( workingProject, "pom.xml" );
- // (3) create our own archetype catalog properties in memory
- File catalogDirectory = new File( getBasedir(), "target/catalog" );
+ MavenProject project = projectBuilder.build( pom, localRepository, null );
- File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" );
+ ArchetypeCreationRequest acr = new ArchetypeCreationRequest().setProject( project ).
+ setLocalRepository( localRepository );
+
+ ArchetypeCreationResult creationResult = archetype.createArchetypeFromProject( acr );
+
+ if ( creationResult.getCause() != null )
+ {
+ fail( creationResult.getCause().getMessage() );
+ }
+
+ // (3) create our own archetype catalog properties in memory
+ File catalogDirectory = new File( getBasedir(), "target/catalog" );
+
+ File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" );
+
+ File catalogProperties = new File( catalogDirectory,
+ "archetype-catalog.properties" );
+
+ 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" );
+
+ // (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" );
+
+ File archetypeArchive = archetype.archiveArchetype( archetypeDirectory,
+ new File( generatedArchetypeProject.getBuild().getDirectory() ),
+ generatedArchetypeProject.getBuild().getFinalName() );
+
+ File archetypeInRepository = new File( centralRepository.getBasedir(),
+ StringUtils.replace(
+ generatedArchetypeProject.getGroupId(), ".",
+ "/" ) + "/" +
+ generatedArchetypeProject.getArtifactId() + "/" +
+ generatedArchetypeProject.getVersion() + "/" +
+ generatedArchetypeProject.getBuild().
+ getFinalName() +
+ ".jar" );
+ archetypeInRepository.getParentFile().mkdirs();
+ FileUtils.copyFile( archetypeArchive, archetypeInRepository );
+
+ // (4) create our own archetype catalog describing the archetype we just created
+ ArchetypeCatalog catalog = new ArchetypeCatalog();
+ org.apache.maven.archetype.catalog.Archetype generatedArchetype = new org.apache.maven.archetype.catalog.Archetype();
+ generatedArchetype.setGroupId( generatedArchetypeProject.getGroupId() );
+ generatedArchetype.setArtifactId( generatedArchetypeProject.getArtifactId() );
+ generatedArchetype.setVersion( generatedArchetypeProject.getVersion() );
+ generatedArchetype.setRepository( "http://localhost:18881/repo/" );
+ 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/test-classes/projects/roundtrip-1-recreatedproject" ).getAbsolutePath();
+
+ ArchetypeGenerationRequest agr =
+ new ArchetypeGenerationRequest().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://localhost:18881/repo/" );
+ ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( agr );
+
+ if ( generationResult.getCause() != null )
+ {
+ fail( generationResult.getCause().getMessage() );
+ }
- File catalogProperties = new File( catalogDirectory, "archetype-catalog.properties" );
+ }
- catalogDirectory.mkdirs();
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ // Start Cargo
- 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" );
-
- // (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" );
-
- File archetypeArchive = archetype.archiveArchetype( archetypeDirectory,
- new File( generatedArchetypeProject.getBuild().getDirectory() ),
- generatedArchetypeProject.getBuild().getFinalName() );
-
- 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 );
-
- // (4) create our own archetype catalog describing the archetype we just created
- ArchetypeCatalog catalog = new ArchetypeCatalog();
- org.apache.maven.archetype.catalog.Archetype generatedArchetype = new org.apache.maven.archetype.catalog.Archetype();
- generatedArchetype.setGroupId( generatedArchetypeProject.getGroupId() );
- generatedArchetype.setArtifactId( generatedArchetypeProject.getArtifactId() );
- generatedArchetype.setVersion( generatedArchetypeProject.getVersion() );
- generatedArchetype.setRepository( "http://127.0.0.1:18881/" );
- 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/test-classes/projects/roundtrip-1-recreatedproject" ).getAbsolutePath();
-
- ArchetypeGenerationRequest agr =
- new ArchetypeGenerationRequest().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://127.0.0.1:18881/" );
- ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( agr );
+ Jetty6xEmbeddedStandaloneLocalConfiguration configuration =
+ new Jetty6xEmbeddedStandaloneLocalConfiguration( "target/repository-webapp" );
+ configuration.setProperty( ServletPropertySet.PORT, "18881" );
+
+ System.setProperty( "org.apache.maven.archetype.reporitory.directory",
+ getTestPath( "target/test-classes/repositories/central" ) );
+ container = new Jetty6xEmbeddedLocalContainer( configuration );
+ container.setTimeout( 180000L );
+ container.start();
+
+ DeployableFactory factory = new DefaultDeployableFactory();
+ WAR war = (WAR) factory.createDeployable( container.getId(),
+ "target/wars/archetype-repository.war",
+ DeployableType.WAR );
+
+ war.setContext( "/repo" );
+
+ Deployer deployer = new Jetty6xEmbeddedLocalDeployer( container );
+ deployer.deploy( war,
+ new URLDeployableMonitor( new URL( "http://localhost:18881/repo/dummy" ) ) );
+ deployer.start( war );
- if ( generationResult.getCause() != null )
- {
- fail( generationResult.getCause().getMessage() );
}
- }
+ public void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ // Stop Cargo
- public void setUp()
- throws Exception
- {
- super.setUp();
- // Start Cargo
-
- Jetty6xEmbeddedStandaloneLocalConfiguration configuration =
- new Jetty6xEmbeddedStandaloneLocalConfiguration( "target/repository-webapp" );
- configuration.setProperty( ServletPropertySet.PORT, "18881" );
-
- System.setProperty( "org.apache.maven.archetype.reporitory.directory",
- getTestPath( "test-classes/repositories/local" ) );
- container = new Jetty6xEmbeddedLocalContainer( configuration );
- container.setTimeout( 180000L );
- container.start();
-
- DeployableFactory factory = new DefaultDeployableFactory();
- WAR war = (WAR) factory.createDeployable( container.getId(),
- "target/wars/archetype-repository.war",
- DeployableType.WAR );
-
- war.setContext( "/" );
-
- Deployer deployer = new Jetty6xEmbeddedLocalDeployer( container );
- deployer.deploy( war );
- }
-
- public void tearDown()
- throws Exception
- {
- super.tearDown();
- // Stop Cargo
-
- container.stop();
- }
-}
\ No newline at end of file
+ container.stop();
+ }
+}
Added: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java?rev=596854&view=auto
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java (added)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java Tue Nov 20 14:31:04 2007
@@ -0,0 +1,231 @@
+/*
+ * 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.test;
+
+
+import org.apache.commons.io.IOUtils;
+import org.apache.maven.archetype.ArchetypeCreationRequest;
+import org.apache.maven.archetype.ArchetypeCreationResult;
+import org.apache.maven.archetype.ArchetypeGenerationRequest;
+import org.apache.maven.archetype.ArchetypeGenerationResult;
+import org.apache.maven.archetype.Archetype;
+import org.apache.maven.archetype.catalog.ArchetypeCatalog;
+import org.apache.maven.archetype.catalog.io.xpp3.ArchetypeCatalogXpp3Writer;
+import org.apache.maven.archetype.common.ArchetypeRegistryManager;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectBuilder;
+import org.codehaus.cargo.container.deployable.DeployableType;
+import org.codehaus.cargo.container.deployable.WAR;
+import org.codehaus.cargo.container.deployer.Deployer;
+import org.codehaus.cargo.container.deployer.URLDeployableMonitor;
+import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedLocalContainer;
+import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedLocalDeployer;
+import org.codehaus.cargo.container.jetty.Jetty6xEmbeddedStandaloneLocalConfiguration;
+import org.codehaus.cargo.container.property.ServletPropertySet;
+import org.codehaus.cargo.generic.deployable.DefaultDeployableFactory;
+import org.codehaus.cargo.generic.deployable.DeployableFactory;
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.OutputStream;
+import java.io.Writer;
+import java.net.URL;
+import java.util.Properties;
+import org.apache.maven.artifact.manager.WagonManager;
+
+/** @author Jason van Zyl */
+public class ArchetyperRoundtripWithProxyTest
+ extends PlexusTestCase
+{
+ Jetty6xEmbeddedLocalContainer container;
+
+ public void testArchetyper()
+ throws Exception
+ {
+ Archetype archetype = (Archetype) lookup( Archetype.ROLE );
+
+ ArchetypeRegistryManager registryManager = (ArchetypeRegistryManager) lookup( ArchetypeRegistryManager.ROLE );
+
+ MavenProjectBuilder projectBuilder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
+
+ ArtifactRepository localRepository = registryManager.createRepository( new File( getBasedir(),
+ "target/test-classes/repositories/local" ).toURI().
+ toURL().
+ toExternalForm(),
+ "local-repo" );
+ ArtifactRepository centralRepository = registryManager.createRepository( new File( getBasedir(),
+ "target/test-classes/repositories/central" ).toURI().
+ toURL().
+ toExternalForm(),
+ "central-repo" );
+
+ // (1) create a project from scratch
+ // (2) create an archetype from the project
+ // (3) create our own archetype catalog properties in memory
+ // (4) create our own archetype catalog describing the archetype we just created
+ // (5) deploy the archetype we just created
+ // (6) create a project form the archetype we just created
+ // ------------------------------------------------------------------------
+ //
+ // ------------------------------------------------------------------------
+ // (1) create a project from scratch
+// File sourceProject = new File( getBasedir( ), "target/test-classes/projects/roundtrip-1-project" );
+
+ File workingProject = new File( getBasedir(),
+ "target/test-classes/projects/roundtrip-2-project" );
+
+ // (2) create an archetype from the project
+ File pom = new File( workingProject, "pom.xml" );
+
+ MavenProject project = projectBuilder.build( pom, localRepository, null );
+
+ ArchetypeCreationRequest acr = new ArchetypeCreationRequest().setProject( project ).
+ setLocalRepository( localRepository );
+
+ ArchetypeCreationResult creationResult = archetype.createArchetypeFromProject( acr );
+
+ if ( creationResult.getCause() != null )
+ {
+ fail( creationResult.getCause().getMessage() );
+ }
+
+ // (3) create our own archetype catalog properties in memory
+ File catalogDirectory = new File( getBasedir(), "target/catalog" );
+
+ File catalogFile = new File( catalogDirectory, "archetype-catalog.xml" );
+
+ File catalogProperties = new File( catalogDirectory,
+ "archetype-catalog.properties" );
+
+ 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" );
+
+ // (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" );
+
+ File archetypeArchive = archetype.archiveArchetype( archetypeDirectory,
+ new File( generatedArchetypeProject.getBuild().getDirectory() ),
+ generatedArchetypeProject.getBuild().getFinalName() );
+
+ File archetypeInRepository = new File( centralRepository.getBasedir(),
+ StringUtils.replace(
+ generatedArchetypeProject.getGroupId(), ".",
+ "/" ) + "/" +
+ generatedArchetypeProject.getArtifactId() + "/" +
+ generatedArchetypeProject.getVersion() + "/" +
+ generatedArchetypeProject.getBuild().
+ getFinalName() +
+ ".jar" );
+ archetypeInRepository.getParentFile().mkdirs();
+ FileUtils.copyFile( archetypeArchive, archetypeInRepository );
+
+ // (4) create our own archetype catalog describing the archetype we just created
+ ArchetypeCatalog catalog = new ArchetypeCatalog();
+ org.apache.maven.archetype.catalog.Archetype generatedArchetype = new org.apache.maven.archetype.catalog.Archetype();
+ generatedArchetype.setGroupId( generatedArchetypeProject.getGroupId() );
+ generatedArchetype.setArtifactId( generatedArchetypeProject.getArtifactId() );
+ generatedArchetype.setVersion( generatedArchetypeProject.getVersion() );
+ generatedArchetype.setRepository( "http://127.0.0.2:18881/" );
+ 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/test-classes/projects/roundtrip-2-recreatedproject" ).getAbsolutePath();
+
+ WagonManager manager = (WagonManager) lookup(WagonManager.class);
+ manager.addProxy("http", "localhost", 18882, null, null, null);
+
+ ArchetypeGenerationRequest agr =
+ new ArchetypeGenerationRequest().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://127.0.0.2:18881/" );
+ ArchetypeGenerationResult generationResult = archetype.generateProjectFromArchetype( agr );
+
+ if ( generationResult.getCause() != null )
+ {
+ fail( generationResult.getCause().getMessage() );
+ }
+
+ }
+
+ public void setUp()
+ throws Exception
+ {
+ super.setUp();
+ // Start Cargo
+
+ Jetty6xEmbeddedStandaloneLocalConfiguration configuration =
+ new Jetty6xEmbeddedStandaloneLocalConfiguration( "target/proxy-webapp" );
+ configuration.setProperty( ServletPropertySet.PORT, "18882" );
+
+ System.setProperty( "org.apache.maven.archetype.reporitory.directory",
+ getTestPath( "target/test-classes/repositories/central" ) );
+ container = new Jetty6xEmbeddedLocalContainer( configuration );
+ container.setTimeout( 180000L );
+ container.start();
+
+ DeployableFactory factory = new DefaultDeployableFactory();
+ WAR war = (WAR) factory.createDeployable( container.getId(),
+ "target/wars/archetype-proxy.war",
+ DeployableType.WAR );
+
+ war.setContext( "/" );
+
+ Deployer deployer = new Jetty6xEmbeddedLocalDeployer( container );
+ deployer.deploy( war,
+ new URLDeployableMonitor( new URL( "http://localhost:18882/dummy" ) ) );
+ deployer.start( war );
+
+ }
+
+ public void tearDown()
+ throws Exception
+ {
+ super.tearDown();
+ // Stop Cargo
+
+ container.stop();
+ }
+}
Propchange: maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/java/org/apache/maven/archetype/test/ArchetyperRoundtripWithProxyTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: 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=596854&r1=596853&r2=596854&view=diff
==============================================================================
--- maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml (original)
+++ maven/sandbox/trunk/archetypeng/archetypeng-common/src/test/resources/projects/roundtrip-1-project/pom.xml Tue Nov 20 14:31:04 2007
@@ -22,10 +22,10 @@
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>
+ <artifactId>test-project-1</artifactId>
<packaging>jar</packaging>
<version>1.0</version>
- <name>test-project</name>
+ <name>test-project-1</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>