Index: src/main/java/org/apache/maven/report/projectinfo/ScmReport.java =================================================================== --- src/main/java/org/apache/maven/report/projectinfo/ScmReport.java (revision 819145) +++ src/main/java/org/apache/maven/report/projectinfo/ScmReport.java (working copy) @@ -27,6 +27,7 @@ import org.apache.maven.scm.manager.NoSuchScmProviderException; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository; +import org.apache.maven.scm.provider.hg.repository.HgScmProviderRepository; import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository; import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; @@ -260,6 +261,12 @@ linkPatternedText( i18n.getString( "project-info-report", locale, "report.scm.cvs.intro" ) ); sink.paragraph_(); } + else if ( isScmSystem( anonymousRepository, "hg" ) ) + { + sink.paragraph(); + linkPatternedText( i18n.getString( "project-info-report", locale, "report.scm.hg.intro" ) ); + sink.paragraph_(); + } else if ( isScmSystem( anonymousRepository, "perforce" ) ) { sink.paragraph(); @@ -332,6 +339,13 @@ anonymousAccessCVS( cvsRepo ); } + if ( anonymousRepository != null && isScmSystem( anonymousRepository, "hg" ) ) + { + HgScmProviderRepository hgRepo = (HgScmProviderRepository) anonymousRepository + .getProviderRepository(); + + anonymousAccessMercurial( hgRepo ); + } else if ( anonymousRepository != null && isScmSystem( anonymousRepository, "svn" ) ) { SvnScmProviderRepository svnRepo = (SvnScmProviderRepository) anonymousRepository @@ -374,6 +388,12 @@ developerAccessCVS( cvsRepo ); } + else if ( devRepository != null && isScmSystem( devRepository, "hg" ) ) + { + HgScmProviderRepository hgRepo = (HgScmProviderRepository) devRepository.getProviderRepository(); + + developerAccessMercurial( hgRepo ); + } else if ( devRepository != null && isScmSystem( devRepository, "perforce" ) ) { PerforceScmProviderRepository perforceRepo = (PerforceScmProviderRepository) devRepository @@ -511,7 +531,26 @@ verbatimText( command.toString() ); } + // Mercurial + /** + * Create the documentation to provide an anonymous access with a Mercurial SCM. + * For example, generate the following command line: + *

hg clone uri

+ * + * @param hgRepo + */ + private void anonymousAccessMercurial( HgScmProviderRepository hgRepo ) + { + paragraph( i18n.getString( "project-info-report", locale, "report.scm.anonymousaccess.hg.intro" ) ); + + StringBuffer command = new StringBuffer(); + command.append( "$ hg clone " ).append( hgRepo.getURI() ); + + verbatimText( command.toString() ); + } + + /** * Create the documentation to provide an developer access with a CVS SCM. * For example, generate the following command line: *

cvs -d :pserver:username@cvs.apache.org:/home/cvs login

@@ -535,6 +574,26 @@ verbatimText( command.toString() ); } + // Mercurial + + /** + * Create the documentation to provide an developer access with a Mercurial SCM. + * For example, generate the following command line: + *

hg clone repo

+ * + * @param hgRepo + */ + private void developerAccessMercurial(HgScmProviderRepository hgRepo) + { + paragraph( i18n.getString( "project-info-report", locale, "report.scm.devaccess.hg.intro" ) ); + + StringBuffer command = new StringBuffer(); + command.append( "$ hg clone " ); + command.append(hgRepo.getURI()); + + verbatimText( command.toString() ); + } + // Perforce /** Index: src/main/resources/project-info-report.properties =================================================================== --- src/main/resources/project-info-report.properties (revision 819145) +++ src/main/resources/project-info-report.properties (working copy) @@ -145,6 +145,7 @@ report.scm.accessthroughtproxy.title = Access through a proxy 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.general.intro = Refer to the documentation of the SCM used for more information about anonymously check out. The connection url is: +report.scm.anonymousaccess.hg.intro = The source can be checked out anonymously from Mercurial with this command: report.scm.anonymousaccess.svn.intro = The source can be checked out anonymously from SVN with this command: report.scm.anonymousaccess.title = Anonymous access report.scm.clearcase.intro = This project uses {ClearCase, http://www-306.ibm.com/software/awdtools/clearcase/} to manage its source code. Informations on ClearCase use can be found at {http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf, http://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf}. @@ -153,6 +154,7 @@ 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.general.intro = Refer to the documentation of the SCM used for more information about developer check out. The connection url is: +report.scm.devaccess.hg.intro = Only project developers can access the Mercurial tree via this method. report.scm.devaccess.perforce.intro = Only project developers can access the Perforce tree via this method. Substitute username and password with the proper values. 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.https = Everyone can access the Subversion repository via HTTP, but Committers must checkout the Subversion repository via HTTPS. @@ -165,6 +167,7 @@ report.scm.name = Source Repository report.scm.noscm = No source configuration management system is defined. Please check back at a later date. report.scm.overview.title = Overview +report.scm.hg.intro = This project uses {Mercurial, http://mercurial.selenic.com/wiki/} to manage its source code. Instructions on Mercurial use can be found at {http://hgbook.red-bean.com/read/, http://hgbook.red-bean.com/read/}. 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/}. Index: src/main/resources/project-info-report_de.properties =================================================================== --- src/main/resources/project-info-report_de.properties (revision 819145) +++ src/main/resources/project-info-report_de.properties (working copy) @@ -145,6 +145,7 @@ report.scm.accessthroughtproxy.title = Zugriff \u00fcber einen Proxy report.scm.anonymousaccess.cvs.intro = Das CVS-Archiv dieses Projektes kann durch anonymen CVS Zugriff mit dem folgenden Befehl ausgecheckt werden. Wenn Sie nach einem Passwort gefragt werden bet\u00e4tigen Sie einfach die Enter Taste. report.scm.anonymousaccess.general.intro = Konsultieren Sie die Dokumentation des verwendeten Versionskontrollsystems f\u00fcr weitere Informationen \u00fcber anonymen Zugriff. Der Web-Link ist\: +report.scm.anonymousaccess.hg.intro = Der Quellcode dieses Projektes kann anonym mit Mercurial \u00fcber folgenden Befehl ausgecheckt werden\: report.scm.anonymousaccess.svn.intro = Der Quellcode dieses Projektes kann anonym mit SVN \u00fcber folgenden Befehl ausgecheckt werden\: report.scm.anonymousaccess.title = Anonymer Zugang f\u00fcr jedermann report.scm.clearcase.intro = Dieses Projekt verwendet {ClearCase, http\://www-306.ibm.com/software/awdtools/clearcase/} um seinen Quellcode zu verwalten. Informationen \u00fcber ClearCase finden Sie unter\: {http\://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf, http\://www.redbooks.ibm.com/redbooks/pdfs/sg246399.pdf}. @@ -153,6 +154,7 @@ report.scm.devaccess.clearcase.intro = Nur Projekt Entwickler k\u00f6nnen mit dieser Methode auf den ClearCase Baum zugreifen. Ersetzen Sie 'username' mit dem entsprechenden Wert. report.scm.devaccess.cvs.intro = Nur Projekt Entwickler k\u00f6nnen mit dieser Methode auf den CVS Baum zugreifen. Ersetzen Sie 'username' mit dem entsprechenden Wert. report.scm.devaccess.general.intro = Konsultieren Sie die Dokumentation des verwendeten Versionskontrollsystems f\u00fcr weitere Informationen \u00fcber Schreib-Zugriff f\u00fcr Entwickler unter\: +report.scm.devaccess.hg.intro = Nur Projekt Entwickler k\u00f6nnen mit dieser Methode auf den Mercurial Baum zugreifen. report.scm.devaccess.perforce.intro = Nur Projekt Entwickler k\u00f6nnen mit dieser Methode auf den Perforce Baum zugreifen. Ersetzen Sie 'username' mit dem entsprechenden Wert. report.scm.devaccess.starteam.intro = Nur Projekt Entwickler k\u00f6nnen mit dieser Methode auf den Starteam Baum zugreifen. Ersetzen Sie 'username' mit dem entsprechenden Wert. report.scm.devaccess.svn.intro1.https = Jeder kann auf das Subversion-Archiv via HTTP zugreifen, aber Entwickler m\u00fcssen das Subversion-Archiv via HTTPS auschecken, um sp\u00e4ter \u00c4nderungen einchecken zu k\u00f6nnen\: @@ -165,6 +167,7 @@ report.scm.name = Versionskontrolle report.scm.noscm = Es wurde kein Versionskontrollsystem f\u00fcr dieses Projekt definiert. report.scm.overview.title = \u00dcbersicht +report.scm.hg.intro = Dieses Projekt verwendet {Mercurial, http://mercurial.selenic.com/wiki/} um seinen Quellcode zu verwalten. Informationen \u00fcber Mercurial finden Sie unter\: {http://hgbook.red-bean.com/read/, http://hgbook.red-bean.com/read/}. report.scm.perforce.intro = Dieses Projekt verwendet {Perforce, http\://www.perforce.com/} um seinen Quellcode zu verwalten. Informationen \u00fcber Perforce finden Sie unter\: {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 = Dieses Projekt verwendet {Starteam, http://www.borland.com/us/products/starteam/} um seinen Quellcode zu verwalten. report.scm.svn.intro = Dieses Projekt verwendet {Subversion, http\://subversion.tigris.org/} um seinen Quellcode zu verwalten. Informationen \u00fcber Subversion finden Sie unter\: {http\://svnbook.red-bean.com/, http\://svnbook.red-bean.com/}. Index: pom.xml =================================================================== --- pom.xml (revision 819145) +++ pom.xml (working copy) @@ -181,6 +181,11 @@ org.apache.maven.scm + maven-scm-provider-hg + ${scmVersion} + + + org.apache.maven.scm maven-scm-provider-perforce ${scmVersion}