First implementation of report testing (See the following thrad http://www.mail-archive.com/dev@maven.apache.org/msg31289.html

git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@312875 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Vincent Siveton 2005-10-11 13:18:36 +00:00
parent 097005a98f
commit 55bbfd0fd6
14 changed files with 1372 additions and 31 deletions

View File

@ -82,5 +82,35 @@
<artifactId>maven-scm-provider-cvs</artifactId>
<version>1.0-alpha-2</version>
</dependency>
<dependency>
<groupId>httpunit</groupId>
<artifactId>httpunit</artifactId>
<version>1.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact-manager</artifactId>
<version>2.0-beta-1-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>2.0-beta-1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.0-beta-3-SNAPSHOT</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>plexus</groupId>
<artifactId>plexus-i18n</artifactId>
<version>1.0-beta-5</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -1,12 +1,12 @@
# -------------------------------------------------------------------
# Copyright 2001-2005 The Apache Software Foundation.
#
#
# 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.
@ -54,7 +54,7 @@ report.team-list.intro.description1=A successful project requires many people to
report.team-list.intro.description2=The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.
report.team-list.developers.title=Members
report.team-list.nodeveloper=There are no developers working on this project.
report.team-list.developers.intro=The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
report.team-list.developers.intro=The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
report.team-list.developers.id=Id
report.team-list.developers.name=Name
report.team-list.developers.email=Email
@ -87,34 +87,34 @@ report.scm.clearcase.intro=This project uses {ClearCase, http://www-306.ibm.com/
report.scm.cvs.intro=This project uses {Concurrent Versions System, http://www.cvshome.org/} to manage its source code. Instructions on CVS use can be found at {http://cvsbook.red-bean.com/, http://cvsbook.red-bean.com/}.
report.scm.perforce.intro=This project uses {Perforce, http://www.perforce.com/} to manage its source code. Instructions on Perforce use can be found at {http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html, http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html}.
report.scm.starteam.intro=This project uses {Starteam, http://www.borland.com/us/products/starteam/} to manage its source code.
report.scm.svn.intro=This project uses {Subversion, http://subversion.tigris.org/} to manage its source code. Instructions on Subversion use can be found at {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}.
report.scm.svn.intro=This project uses {Subversion, http://subversion.tigris.org/} to manage its source code. Instructions on Subversion use can be found at {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}.
report.scm.general.intro=This project uses a Source Content Management System to manage its source code.
report.scm.webaccess.title=Web Access
report.scm.webaccess.url=The following is a link to the online source repository.
report.scm.webaccess.nourl=There are no online source repository listed for this project. Please check back again later.
report.scm.anonymousaccess.title=Anonymous access
report.scm.anonymousaccess.cvs.intro=This project's CVS repository can be checked out through anonymous CVS with the following instruction set. When prompted for a password for anonymous, simply press the Enter key.
report.scm.anonymousaccess.svn.intro=The source can be checked out anonymously from SVN with this command:
report.scm.anonymousaccess.svn.intro=The source can be checked out anonymously from SVN with this command:
report.scm.anonymousaccess.general.intro=Refer to the documentation of the SCM used for more information about anonymously check out. The connection url is:
report.scm.devaccess.title=Developer access
report.scm.devaccess.clearcase.intro=Only project developers can access the ClearCase tree via this method. Substitute username with the proper value.
report.scm.devaccess.cvs.intro=Only project developers can access the CVS tree via this method. Substitute username with the proper value.
report.scm.devaccess.perforce.intro=Only project developers can access the Perforce tree via this method. Substitute username and password with the proper value.
report.scm.devaccess.title=Developer access
report.scm.devaccess.clearcase.intro=Only project developers can access the ClearCase tree via this method. Substitute username with the proper value.
report.scm.devaccess.cvs.intro=Only project developers can access the CVS tree via this method. Substitute username with the proper value.
report.scm.devaccess.perforce.intro=Only project developers can access the Perforce tree via this method. Substitute username and password with the proper value.
report.scm.devaccess.starteam.intro=Only project developers can access the Starteam tree via this method. Substitute username with the proper value.
report.scm.devaccess.svn.intro1=Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.
report.scm.devaccess.svn.intro2=To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)
report.scm.devaccess.svn.intro1=Everyone can access the Subversion repository via HTTPS, but Committers must checkout the Subversion repository via HTTPS.
report.scm.devaccess.svn.intro2=To commit changes to the repository, execute the following command to commit your changes (svn will prompt you for your password)
report.scm.devaccess.general.intro=Refer to the documentation of the SCM used for more information about developer checked out. The connection url is:
report.scm.accessbehindfirewall.title=Access from behind a firewall
report.scm.accessbehindfirewall.svn.intro=For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection:
report.scm.accessbehindfirewall.cvs.intro=For those developers who are stuck behind a corporate firewall, {CVSGrab, http://cvsgrab.sourceforge.net/} can use the viewcvs web interface to checkout the source code.
report.scm.accessbehindfirewall.cvs.intro=For those developers who are stuck behind a corporate firewall, {CVSGrab, http://cvsgrab.sourceforge.net/} can use the viewcvs web interface to checkout the source code.
report.scm.accessbehindfirewall.general.intro=Refer to the documentation of the SCM used for more information about an access behind a firewall.
report.scm.accessthroughtproxy.title=Access through a proxy
report.scm.accessthroughtproxy.svn.intro1=The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)
report.scm.accessthroughtproxy.svn.intro2=There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.
report.scm.accessthroughtproxy.svn.intro3=Example : Edit the 'servers' file and add something like :
report.scm.accessthroughtproxy.svn.intro2=There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.
report.scm.accessthroughtproxy.svn.intro3=Example : Edit the 'servers' file and add something like :
report.issuetracking.name=Issue Tracking
report.issuetracking.description=This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.
report.issuetracking.description=This is a link to the issue management system for this project. Issues (bugs, features, change requests) can be created and queried using this link.
report.issuetracking.noissueManagement=No issue management system is defined. Please check back at a later date.
report.issuetracking.overview.title=Overview
report.issuetracking.jira.intro=This project uses {Jira, http://www.atlassian.com/software/jira} a J2EE-based, issue tracking and project management application.
@ -122,7 +122,7 @@ report.issuetracking.bugzilla.intro=This project uses {Bugzilla, http://www.bugz
report.issuetracking.scarab.intro=This project uses {Scarab, http://scarab.tigris.org/}.
report.issuetracking.general.intro=This project uses a Issue Management System to manage its issues.
report.issuetracking.title=Issue Tracking
report.issuetracking.intro=Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
report.issuetracking.intro=Issues, bugs, and feature requests should be submitted to the following issue tracking system for this project.
report.cim.name=Continuous Integration
report.cim.description=This is a link to the definitions of all continuous integration processes that builds and tests code on a frequent, regular basis.
@ -137,7 +137,7 @@ report.cim.url=The following is a link to the continuous integration system used
report.cim.nourl=No url to the continuous integration system is defined.
report.cim.notifiers.title=Notifiers
report.cim.notifiers.nolist=No notifiers is defined. Please check back at a later date.
report.cim.notifiers.intro=Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode.
report.cim.notifiers.intro=Configuration for notifying developers/users when a build is unsuccessful, including user information and notification mode.
report.cim.notifiers.column.type=Type
report.cim.notifiers.column.address=Address
report.cim.notifiers.column.configuration=Configuration
@ -147,4 +147,4 @@ report.license.description=This is a link to the definitions of project licenses
report.license.nolicense=No project license is defined for this project.
report.license.title=Project License
report.license.overview.title=Overview
report.license.overview.intro=Typically the licenses listed for the project are that of the project itself, and not of dependencies.
report.license.overview.intro=Typically the licenses listed for the project are that of the project itself, and not of dependencies.

View File

@ -1,12 +1,12 @@
# -------------------------------------------------------------------
# Copyright 2001-2005 The Apache Software Foundation.
#
#
# 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.
@ -26,7 +26,7 @@ report.dependencies.column.description=Description
report.dependencies.column.url=URL
report.transitivedependencies.title=Dépendances transitives du projet
report.transitivedependencies.nolist=Il n'y a aucune dépendance transitive pour ce projet.
report.transitivedependencies.nolist=Il n'y a aucune dépendance transitive pour ce projet.
report.transitivedependencies.intro=Ce qui suit est la liste de dépendances transitives pour ce projet. Les dépendances transitives sont les dépendances des dépendances du projet :
report.transitivedependencies.column.groupId=GroupId
report.transitivedependencies.column.artifactId=ArtifactId
@ -35,7 +35,7 @@ report.transitivedependencies.column.description=Description
report.transitivedependencies.column.url=URL
report.mailing-lists.name=Listes de diffusion
report.mailing-lists.nolist= Il n'y a aucune liste de diffusion actuellement liée à ce projet.
report.mailing-lists.nolist= Il n'y a aucune liste de diffusion actuellement liée à ce projet.
report.mailing-lists.title=Listes de diffusion du projet
report.mailing-lists.description=Ce document fournit les informations de souscription et d'archive pour les listes de diffusion de ce projet.
report.mailing-lists.intro=Ce sont les listes de diffusion qui ont été établies pour ce projet. Pour chaque liste, il ya un lien d'abonnement, de désabonnement, et d'archive.
@ -54,7 +54,7 @@ report.team-list.intro.description1=Un projet r
report.team-list.intro.description2=L'équipe est composée des membres et de contributeurs. Les membres ont un accès direct aux sources du projet et font évoluer activement le code de base. Les contributeurs améliorent le projet par la soumission de patches et des suggestions aux membres. Le nombre de contributeurs au projet est illimité. Toutes les contributions au projet sont considérablement appréciées.
report.team-list.developers.title=Membres
report.team-list.nodeveloper=Il n'y a aucun développeur travaillant sur ce projet. Vérifiez plus tard si des développeurs ont été ajouté.
report.team-list.developers.intro=Ce qui suit est la liste des développeurs avec leurs rôles qui ont contribué d'une manière ou d'une autre au projet.
report.team-list.developers.intro=Ce qui suit est la liste des développeurs avec leurs rôles qui ont contribué d'une manière ou d'une autre au projet.
report.team-list.developers.id=Id
report.team-list.developers.name=Nom
report.team-list.developers.email=Email
@ -82,12 +82,12 @@ report.scm.name=D
report.scm.description=C'est un lien au dépôt de sources en ligne qui peut être regardé par l'intermédiaire d'un browser Web.
report.scm.noscm=Aucun système de dépôt SCM n'est défini. Vérifiez plus tard si un SCM a été ajouté.
report.scm.title=Dépôt de sources
report.scm.overview.title=Vue d'ensemble
report.scm.overview.title=Vue d'ensemble
report.scm.clearcase.intro=Ce projet utilise {ClearCase, http://www-306.ibm.com/software/awdtools/clearcase/} comme dépôt de sources pour gérer son code source.
report.scm.cvs.intro=Ce projet utilise {Concurrent Versions System, http://www.cvshome.org/} pour gérer son code source. Des instructions sur l'utilisation de Perforce peuvent être trouvées à {http://cvsbook.red-bean.com/, http://cvsbook.red-bean.com/}.
report.scm.perforce.intro=Ce projet utilise {Perforce, http://www.perforce.com/} comme dépôt de sources pour gérer son code source. Des instructions sur l'utilisation de CVS peuvent être trouvées à {http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html, http://www.perforce.com/perforce/doc.051/manuals/cmdref/index.html}.
report.scm.starteam.intro=Ce projet utilise {Starteam, http://www.borland.com/us/products/starteam/} comme dépôt de sources pour gérer son code source.
report.scm.svn.intro=Ce projet utilise {Subversion, http://subversion.tigris.org/} pour gérer son code source. Des instructions sur l'utilisation de Subversion peuvent être trouvées à {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}.
report.scm.svn.intro=Ce projet utilise {Subversion, http://subversion.tigris.org/} pour gérer son code source. Des instructions sur l'utilisation de Subversion peuvent être trouvées à {http://svnbook.red-bean.com/, http://svnbook.red-bean.com/}.
report.scm.general.intro=Ce projet utilise un dépôt de sources pour gérer son code source.
report.scm.webaccess.title=Accès Web
report.scm.webaccess.url=Ce qui suit est le lien online du dépôt de sources.
@ -96,13 +96,13 @@ report.scm.anonymousaccess.title=Acc
report.scm.anonymousaccess.cvs.intro=Le dépôt d'archive CVS de ce projet peut être vérifié de façon anonyme avec les instructions suivantes. Lorsqu'un mot de passe pour anonyme est demandé, appuyez simplement sur la touche Enter.
report.scm.anonymousaccess.svn.intro=Le dépôt d'archive SVN de ce projet peut être vérifié de façon anonyme avec les instructions suivantes:
report.scm.anonymousaccess.general.intro=Référez-vous à la documentation du dépôt d'archive utilisé pour plus d'informations sur l'accès anonyme. L'URL de connection est:
report.scm.devaccess.title=Accès pour les dévelopeurs
report.scm.devaccess.title=Accès pour les dévelopeurs
report.scm.devaccess.clearcase.intro=Seulement les dévelopeurs du projet peuvent accéder à l'arbre de ClearCase par l'intermédiaire de cette méthode. Remplacez username avec la valeur appropriée.
report.scm.devaccess.cvs.intro=Seulement les dévelopeurs du projet peuvent accéder à l'arbre de CVS par l'intermédiaire de cette méthode. Remplacez username avec la valeur appropriée.
report.scm.devaccess.perforce.intro=Seulement les dévelopeurs du projet peuvent accéder à l'arbre de Perforce par l'intermédiaire de cette méthode. Remplacez username et password avec la valeur appropriée.
report.scm.devaccess.starteam.intro=Seulement les dévelopeurs du projet peuvent accéder à l'arbre de Starteam par l'intermédiaire de cette méthode. Remplacez username avec la valeur appropriée.
report.scm.devaccess.svn.intro1=Chacun peut accéder au dépôt d'archive de Subversion via HTTPS, mais seuls les committers doivent accéder au dépôt d'archive via HTTPS.
report.scm.devaccess.svn.intro2=Pour commiter les changements dans le dépôt, éxecuter la ligne de commande suivante (SVN pourra vous demander votre mot de passe)
report.scm.devaccess.svn.intro2=Pour commiter les changements dans le dépôt, éxecuter la ligne de commande suivante (SVN pourra vous demander votre mot de passe)
report.scm.devaccess.general.intro=Référez-vous à la documentation du dépôt d'archive utilisé pour plus d'informations sur l'accès en tant que développeur. L'URL de connection est:
report.scm.accessbehindfirewall.title=Accès derrière un firewall
report.scm.accessbehindfirewall.svn.intro=Pour ces utilisateurs qui sont coincés derrière un firewall qui bloque l'accès de HTTP au dépôt de Subversion, vous pouvez essayer d'y accéder avec la connection développeur:
@ -111,7 +111,7 @@ report.scm.accessbehindfirewall.general.intro=R
report.scm.accessthroughtproxy.title=Accès avec un proxy
report.scm.accessthroughtproxy.svn.intro1=Le client de subversion peut accéder par proxy, si vous le configurez comme suit. D'abord, éditez votre dossier de configuration de "servers" pour indiquer quel proxy utilisé. Ce fichier est situé différemment dépendamment de votre système d'exploitation. Sur Linux ou Unix, il est situé dans le répertoire "~/.subversion". Sur Windows, il se situe dans "%APPDATA%\Subversion". (essayer de taper "echo %APPDATA%", notons que ce répertoire est caché.)
report.scm.accessthroughtproxy.svn.intro2=Il y a des commentaires dans le fichier qui explique comment faire. Si vous n'avez pas ce fichier, télécharger la version la plus récente de Subversion et tapez n'importe quelle commande ; ceci créera les fichiers de configuration.
report.scm.accessthroughtproxy.svn.intro3=Exemple : Editer le fichier 'servers' et ajouter quelque chose du genre:
report.scm.accessthroughtproxy.svn.intro3=Exemple : Editer le fichier 'servers' et ajouter quelque chose du genre:
report.issuetracking.name=Contrôle des livraisons
report.issuetracking.description=C'est un lien au système de contrôle des livraisons pour ce projet. Des issues (bogues, dispositifs, demandes de changement) peuvent être créées et questionnées en utilisant ce lien.
@ -137,7 +137,7 @@ report.cim.url=Le lien suivant est celui du syst
report.cim.nourl=Aucun lien au système de contrôle des intégrations n'est défini.
report.cim.notifiers.title=Notification
report.cim.notifiers.nolist=Aucune notification n'est défini. Vérifiez plus tard si une notification a été ajouté.
report.cim.notifiers.intro=Configuration pour notifier les developpeurs ou les utilisateurs qu'un build a échoué.
report.cim.notifiers.intro=Configuration pour notifier les developpeurs ou les utilisateurs qu'un build a échoué.
report.cim.notifiers.column.type=Type
report.cim.notifiers.column.address=Adresse
report.cim.notifiers.column.configuration=Configuration

View File

@ -0,0 +1,61 @@
package org.apache.maven.report.projectinfo;
/*
* Copyright 2004-2005 The Apache Software Foundation.
*
* 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.
*/
import org.xml.sax.SAXException;
import com.meterware.httpunit.WebLink;
import com.meterware.httpunit.WebResponse;
/**
* Abstract class to test reports with <a href="http://www.httpunit.org/">HTTPUnit</a> framework.
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @version $Id $
*/
public abstract class AbstractHttpUnitReportTestCase
extends AbstractMavenReportTestCase
{
/**
* Test links in a generated report
*
* @param response HTTPUnit response object
* @throws SAXException if any
*/
protected void testLinks( WebResponse response )
throws SAXException
{
// Test links
WebLink[] links = response.getLinks();
assertTrue( links.length > 9 );
// Header
assertEquals( getTestMavenProject().getUrl(), links[0].getURLString() );
// NavBar
assertEquals( "index.html", links[1].getURLString() );
assertEquals( "project-info.html", links[2].getURLString() );
assertEquals( "integration.html", links[3].getURLString() );
assertEquals( "dependencies.html", links[4].getURLString() );
assertEquals( "issue-tracking.html", links[5].getURLString() );
assertEquals( "license.html", links[6].getURLString() );
assertEquals( "mail-lists.html", links[7].getURLString() );
assertEquals( "source-repository.html", links[8].getURLString() );
assertEquals( "team-list.html", links[9].getURLString() );
// Content skipped
}
}

View File

@ -0,0 +1,335 @@
package org.apache.maven.report.projectinfo;
/*
* Copyright 2004-2005 The Apache Software Foundation.
*
* 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.
*/
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Locale;
import org.apache.maven.Maven;
import org.apache.maven.profiles.DefaultProfileManager;
import org.apache.maven.profiles.ProfileManager;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.codehaus.plexus.PlexusTestCase;
import org.codehaus.plexus.i18n.I18N;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.cli.CommandLineException;
import org.codehaus.plexus.util.cli.CommandLineUtils;
import org.codehaus.plexus.util.cli.Commandline;
import org.codehaus.plexus.util.cli.DefaultConsumer;
/**
* An abstract TestCase class to test <code>Maven Reports</code> generated.
*
* @phase test
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @version $Id $
*/
public abstract class AbstractMavenReportTestCase
extends PlexusTestCase
{
/**
* The default projects directory.
*/
private static String PROJECTS_DIR = "src/test/projects";
/**
* The default M2 goal to generate reports.
*/
protected static String M2_SITE_GOAL = "site:site";
/**
* Set this to 'true' to bypass unit tests entirely.
*
* @parameter expression="${maven.test.skip}"
*/
protected boolean skip;
/**
* The default locale is English.
*/
protected Locale locale = Locale.ENGLISH;
/**
* The current project to be test.
*/
protected MavenProject testMavenProject;
/**
* The I18N plexus component.
*/
private I18N i18n;
/**
* @see junit.framework.TestCase#setUp()
*/
protected void setUp()
throws Exception
{
super.setUp();
i18n = (I18N) lookup( I18N.ROLE );
}
/**
* @see org.codehaus.plexus.PlexusTestCase#getCustomConfiguration()
*/
protected InputStream getCustomConfiguration()
throws Exception
{
// Allow sub classes to have their own configuration...
if ( super.getConfiguration() == null )
{
String className = AbstractMavenReportTestCase.class.getName();
String config = className.substring( className.lastIndexOf( "." ) + 1 ) + ".xml";
return AbstractMavenReportTestCase.class.getResourceAsStream( config );
}
return null;
}
/**
* Get the current locale
*
* @return the locale
*/
protected Locale getLocale()
{
return locale;
}
/**
* Get the current i18n
*
* @return the i18n
*/
public I18N getI18n()
{
return i18n;
}
/**
* Get the current Maven project
*
* @return the maven project
*/
protected MavenProject getTestMavenProject()
{
return testMavenProject;
}
/**
* Load and build a Maven project from the test projects directory.
*
* @see #getTestProjectDir()
*
* @param projectDirName not null name of the test project dir in the <code>PROJECTS_DIR</code> directory.
* @throws Exception is any
*/
protected void loadTestMavenProject( String projectDirName )
throws Exception
{
File projectDir = getTestProjectDir( projectDirName );
File pom = new File( projectDir, Maven.POMv4 );
if ( !pom.exists() )
{
throw new IllegalArgumentException( "No '" + Maven.POMv4 + "' file exists in the test project directory '"
+ projectDir.getAbsolutePath() + "'" );
}
MavenProjectBuilder builder = (MavenProjectBuilder) lookup( MavenProjectBuilder.ROLE );
ProfileManager profileManager = new DefaultProfileManager( getContainer() );
testMavenProject = builder.build( pom, null, profileManager );
}
/**
* Execute a m2 command line to execute the specific goal <code>M2_SITE_GOAL</code> to generate report
* for the current Maven proeject.
*
* @see #M2_SITE_GOAL
*
* @throws CommandLineException if any Exception is caught
*/
protected void executeMaven2CommandLine()
throws CommandLineException
{
File workingDir = getTestProjectDir();
Commandline cmd = createMaven2CommandLine( workingDir, M2_SITE_GOAL );
int exitCode = CommandLineUtils.executeCommandLine( cmd, new DefaultConsumer(), new DefaultConsumer() );
if ( exitCode != 0 )
{
throw new CommandLineException( "The command line failed. Exit code: " + exitCode );
}
}
/**
* Gets a trimmed String for the given key from the resource bundle defined by Plexus.
*
* @param key the key for the desired string
* @return the string for the given key
* @throws IllegalArgumentException if the parameter is empty.
*/
protected String getString( String key )
{
if ( StringUtils.isEmpty( key ) )
{
throw new IllegalArgumentException( "The key cannot be empty" );
}
return i18n.getString( key, getLocale() ).trim();
}
/**
* Get the basedir for the current test Maven project.
*
* @see #getTestMavenProject()
*
* @return the basedir of the current test project
*/
protected File getTestProjectDir()
{
return getTestMavenProject().getBasedir();
}
/**
* Get the generated report as file in the test maven project.
*
* @see #getReportName()
*
* @return the generated report as file
* @throws IOException if the return file doesnt exist
*/
protected File getGeneratedReport()
throws IOException
{
// TODO how to be more dynamic?
String outputDirectory = getTestMavenProject().getBuild().getDirectory() + File.separator + "site";
if ( getReportName() == null )
{
throw new IOException( "getReportName() should be return a report name." );
}
File report = new File( outputDirectory, getReportName() );
if ( !report.exists() )
{
throw new IOException( "File not found. Attempted :" + report );
}
return report;
}
/**
* Abstract method to get the report name to be tested, eg <code>index.html</code>
*
* @return the report name
*/
protected abstract String getReportName();
/**
* Convenience method to create a m2 command line from a given working directory.
* <p>We suppose that the <code>m2</code> executable is present in the command path</p>.
*
* @param workingDir a not null working directory.
* @param goal the wanted goal
* @return the m2 command line, eg <code>m2 clean:clean site:site</code>
* @throws IllegalArgumentException if the parameter workingDir is empty or doesnt exist.
*/
private static Commandline createMaven2CommandLine( File workingDir, String goal )
{
if ( workingDir == null )
{
throw new IllegalArgumentException( "The workingDir cant be null" );
}
if ( !workingDir.exists() )
{
throw new IllegalArgumentException( "The workingDir doesnt exist" );
}
Commandline cmd = new Commandline();
cmd.setWorkingDirectory( workingDir.getAbsolutePath() );
cmd.setExecutable( "m2" );
cmd.createArgument().setValue( "clean:clean" );
if ( !StringUtils.isEmpty( goal ) )
{
cmd.createArgument().setValue( goal );
}
return cmd;
}
/**
* Get the path for the directory which contains test projects.
*
* @see #PROJECTS_DIR
* @see PlexusTestCase#getBasedir()
*
* @return the projects directory full path.
*/
private static String getTestProjectsPath()
{
return getBasedir() + File.separator + PROJECTS_DIR;
}
/**
* Get a specific project path defined by the project name in the <code>PROJECTS_DIR</code> directory.
*
* @see #getTestProjectsPath()
*
* @param projectName not null name of the test project dir in the <code>PROJECTS_DIR</code> directory.
* @return the specific path for a project in the test projects directory.
* @throws IllegalArgumentException if the parameter is empty.
*/
private static String getTestProjectPath( String projectName )
{
return getTestProjectsPath() + File.separator + projectName;
}
/**
* Get the specific project file defined by the project name in the <code>PROJECTS_DIR</code> directory.
*
* @see #getTestProjectPath(String)
*
* @param projectName not null name of the test project dir in the <code>PROJECTS_DIR</code> directory.
* @return the specific path for a project in the test projects directory.
* @throws IOException if the return file doesnt exist
* @throws IllegalArgumentException if the parameter is empty.
*/
private static File getTestProjectDir( String projectName )
throws IOException
{
File projectDir = new File( getTestProjectPath( projectName ) );
if ( !projectDir.exists() )
{
throw new IOException( "File not found. Attempted :" + projectDir );
}
return projectDir;
}
}

View File

@ -0,0 +1,99 @@
package org.apache.maven.report.projectinfo;
/*
* Copyright 2004-2005 The Apache Software Foundation.
*
* 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.
*/
import java.net.URL;
import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
import com.meterware.httpunit.WebTable;
/**
* Test the <code>Scm Report</code> generation for defined projects in the <code>PROJECTS_DIR</code> directory.
* <p>Testing only section title and links with <a href="http://www.httpunit.org/">HTTPUnit</a> framework.</p>
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @version $Id $
*/
public class DependenciesReportTest
extends AbstractHttpUnitReportTestCase
{
private static final String TEST1 = "project-info-reports-plugin-test1";
/** WebConversation object */
private static final WebConversation webConversation = new WebConversation();
/**
* @see org.apache.maven.report.projectinfo.AbstractMavenReportTestCase#getReportName()
*/
protected String getReportName()
{
return "dependencies.html";
}
/**
* Test a the <code>ClearCase</code> SCM report
*/
public void testClearCaseScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( TEST1 );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getDependencies() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.dependencies.title" ), response.getTitle() );
// Test the tables
WebTable[] webTables = response.getTables();
assertEquals( webTables.length, 2 );
assertEquals( webTables[0].getColumnCount(), 5);
assertEquals( webTables[0].getRowCount(), 1 + getTestMavenProject().getDependencies().size());
assertEquals( webTables[1].getColumnCount(), 5);
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
}

View File

@ -0,0 +1,395 @@
package org.apache.maven.report.projectinfo;
/*
* Copyright 2004-2005 The Apache Software Foundation.
*
* 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.
*/
import java.net.URL;
import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.TextBlock;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
/**
* Test the <code>Scm Report</code> generation for defined projects in the <code>PROJECTS_DIR</code> directory.
* <p>Testing only section title and links with <a href="http://www.httpunit.org/">HTTPUnit</a> framework.</p>
*
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @version $Id $
*/
public class ScmReportTest
extends AbstractHttpUnitReportTestCase
{
private static final String CLEARCASE_PROJECT = "project-info-reports-plugin-scm-ClearCase";
private static final String CVS_PROJECT = "project-info-reports-plugin-scm-CVS";
private static final String PERFORCE_PROJECT = "project-info-reports-plugin-scm-Perforce";
private static final String STARTEAM_PROJECT = "project-info-reports-plugin-scm-Starteam";
private static final String SVN_PROJECT = "project-info-reports-plugin-scm-SVN";
private static final String UNKNOWN_PROJECT = "project-info-reports-plugin-scm-unknown";
/** WebConversation object */
private static final WebConversation webConversation = new WebConversation();
/**
* @see org.apache.maven.report.projectinfo.AbstractMavenReportTestCase#getReportName()
*/
protected String getReportName()
{
return "source-repository.html";
}
/**
* Test a the <code>ClearCase</code> SCM report
*/
public void testClearCaseScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( CLEARCASE_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 8 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.devaccess.clearcase.intro" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.general.intro" ), textBlocks[7].getText() );
testLinks( response );
}
catch ( Exception e )
{
e.printStackTrace();
assertFalse( true );
}
}
/**
* Test a the <code>CVS</code> SCM report
*/
public void testCVSScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( CVS_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 9 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.anonymousaccess.title" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.anonymousaccess.cvs.intro" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.devaccess.cvs.intro" ), textBlocks[7].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[8].getText() );
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
/**
* Test a the <code>Perforce</code> SCM report
*/
public void testPerforceScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( PERFORCE_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 8 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.devaccess.perforce.intro" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.general.intro" ), textBlocks[7].getText() );
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
/**
* Test a the <code>Starteam</code> SCM report
*/
public void testStarteamScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( STARTEAM_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 8 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.devaccess.starteam.intro" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.general.intro" ), textBlocks[7].getText() );
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
/**
* Test a the <code>SVN</code> SCM report
*/
public void testSVNScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( SVN_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 15 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.anonymousaccess.title" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.anonymousaccess.svn.intro" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.devaccess.svn.intro1" ), textBlocks[7].getText() );
assertEquals( getString( "report.scm.devaccess.svn.intro2" ), textBlocks[8].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[9].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.svn.intro" ), textBlocks[10].getText() );
assertEquals( getString( "report.scm.accessthroughtproxy.title" ), textBlocks[11].getText() );
assertEquals( getString( "report.scm.accessthroughtproxy.svn.intro1" ), textBlocks[12].getText() );
assertEquals( getString( "report.scm.accessthroughtproxy.svn.intro2" ), textBlocks[13].getText() );
assertEquals( getString( "report.scm.accessthroughtproxy.svn.intro3" ), textBlocks[14].getText() );
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
/**
* Test a the <code>unknown</code> SCM report
*/
public void testUnknownScmReport()
{
if ( skip )
{
return;
}
try
{
loadTestMavenProject( UNKNOWN_PROJECT );
assertNotNull( getTestMavenProject() );
assertNotNull( getTestMavenProject().getScm() );
executeMaven2CommandLine();
URL reportURL = getGeneratedReport().toURL();
assertNotNull( reportURL );
// HTTPUnit
WebRequest request = new GetMethodWebRequest( reportURL.toString() );
WebResponse response = webConversation.getResponse( request );
// Basic HTML tests
assertTrue( response.isHTML() );
assertTrue( response.getContentLength() > 0 );
// Test the Page title
assertEquals( getString( "report.scm.title" ), response.getTitle() );
// Test the sections
TextBlock[] textBlocks = response.getTextBlocks();
assertEquals( textBlocks.length, 11 );
assertEquals( getString( "report.scm.overview.title" ), textBlocks[1].getText() );
assertEquals( getString( "report.scm.general.intro" ), textBlocks[2].getText() );
assertEquals( getString( "report.scm.webaccess.title" ), textBlocks[3].getText() );
assertEquals( getString( "report.scm.webaccess.url" ), textBlocks[4].getText() );
assertEquals( getString( "report.scm.anonymousaccess.title" ), textBlocks[5].getText() );
assertEquals( getString( "report.scm.anonymousaccess.general.intro" ), textBlocks[6].getText() );
assertEquals( getString( "report.scm.devaccess.title" ), textBlocks[7].getText() );
assertEquals( getString( "report.scm.devaccess.general.intro" ), textBlocks[8].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.title" ), textBlocks[9].getText() );
assertEquals( getString( "report.scm.accessbehindfirewall.general.intro" ), textBlocks[10].getText() );
testLinks( response );
}
catch ( Exception e )
{
assertFalse( true );
}
}
}

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-CVS</groupId>
<artifactId>project-info-reports-plugin-scm-CVS</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with CVS</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:cvs:pserver:anoncvs@cvs.apache.org:/home/cvspublic:maven-plugins/dist</connection>
<developerConnection>scm:cvs:ext:developer@cvs.apache.org:/home/cvs:maven-plugins/dist</developerConnection>
<url>http://cvs.apache.org/</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-ClearCase</groupId>
<artifactId>project-info-reports-plugin-scm-ClearCase</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with ClearCase</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:clearcase:</connection>
<developerConnection>scm:clearcase:</developerConnection>
<url>http://clearcase.apache.org/</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-Perforce</groupId>
<artifactId>project-info-reports-plugin-scm-Perforce</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with Perforce</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:perforce:apache.org:1234://depot/maven-plugins</connection>
<developerConnection>scm:perforce:developer@apache.org:1234://depot/projects/maven-plugins</developerConnection>
<url>http://perforce.apache.org/</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-CVS</groupId>
<artifactId>project-info-reports-plugin-scm-CVS</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with CVS</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:svn:http://svn.apache.org/svn/trunk</connection>
<developerConnection>scm:svn:https://svn.apache.org/svn/trunk</developerConnection>
<url>http://svn.apache.org</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-Starteam</groupId>
<artifactId>project-info-reports-plugin-scm-Starteam</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with Starteam</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:starteam:apache.org:1234/projects/maven-plugins</connection>
<developerConnection>scm:starteam:developer:mypassword@apache.org:1234/projects/maven-plugins</developerConnection>
<url>http://starteam.apache.org/</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<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.report.projectinfo.scm-CVS</groupId>
<artifactId>project-info-reports-plugin-scm-CVS</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2005</inceptionYear>
<name>Maven ProjectInfo Report Test</name>
<description>Test the SCM report with CVS</description>
<url>http://maven.apache.org</url>
<scm>
<connection>scm:unknownscm:unknownscm.apache.org:/dist</connection>
<developerConnection>scm:unknownscm:developer@unknownscm.apache.org:/dist</developerConnection>
<url>http://unknownscm.apache.org</url>
</scm>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<developers>
<developer>
<id>vsiveton</id>
<name>Vincent Siveton</name>
<email>vsiveton@apache.org</email>
<organization>Apache Software Foundation</organization>
<roles>
<role>Java Developer</role>
</roles>
<timezone>-5</timezone>
</developer>
</developers>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
/*
* Copyright 2001-2005 The Apache Software Foundation.
*
* 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.
*/
-->
<plexus xmlns="http://plexus.codehaus.org/xml/ns/plexus" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<components>
<component>
<role>org.codehaus.plexus.i18n.I18N</role>
<implementation>org.codehaus.plexus.i18n.DefaultI18N</implementation>
<configuration>
<default-bundle-name>project-info-report</default-bundle-name>
</configuration>
</component>
</components>
</plexus>