You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2010/02/08 22:52:06 UTC

svn commit: r907815 - in /maven/plugins/trunk/maven-project-info-reports-plugin: ./ src/main/java/org/apache/maven/report/projectinfo/ src/main/resources/

Author: olamy
Date: Mon Feb  8 21:52:05 2010
New Revision: 907815

URL: http://svn.apache.org/viewvc?rev=907815&view=rev
Log:
[MPIR-175] Mercurial support in project-info-reports:scm
Submitted by Mirko Friedenhagen

Modified:
    maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
    maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_de.properties

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml?rev=907815&r1=907814&r2=907815&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/pom.xml Mon Feb  8 21:52:05 2010
@@ -181,6 +181,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.maven.scm</groupId>
+      <artifactId>maven-scm-provider-hg</artifactId>
+      <version>${scmVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.scm</groupId>
       <artifactId>maven-scm-provider-perforce</artifactId>
       <version>${scmVersion}</version>
     </dependency>

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java?rev=907815&r1=907814&r2=907815&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java Mon Feb  8 21:52:05 2010
@@ -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,6 +531,27 @@
             verbatimText( command.toString() );
         }
 
+        // Mercurial
+
+        /**
+         * Create the documentation to provide an anonymous access with a <code>Mercurial</code> SCM.
+         * For example, generate the following command line:
+         * <p>hg clone uri</p>
+         *
+         * @param hgRepo
+         */
+        private void anonymousAccessMercurial( HgScmProviderRepository hgRepo )
+        {
+            sink.paragraph();
+            linkPatternedText( i18n.getString( "project-info-report", locale, "report.scm.anonymousaccess.hg.intro" ) );
+            sink.paragraph_();
+            
+            StringBuffer command = new StringBuffer();
+            command.append( "$ hg clone " ).append( hgRepo.getURI() );
+
+            verbatimText( command.toString() );
+        }
+
         /**
          * Create the documentation to provide an developer access with a <code>CVS</code> SCM.
          * For example, generate the following command line:
@@ -535,6 +576,28 @@
             verbatimText( command.toString() );
         }
 
+        // Mercurial
+
+        /**
+         * Create the documentation to provide an developer access with a <code>Mercurial</code> SCM.
+         * For example, generate the following command line:
+         * <p>hg clone repo </p>
+         * 
+         * @param hgRepo
+         */
+        private void developerAccessMercurial(HgScmProviderRepository hgRepo)
+        {
+            sink.paragraph();
+            linkPatternedText( i18n.getString( "project-info-report", locale, "report.scm.devaccess.hg.intro" ) );
+            sink.paragraph_();
+            
+            StringBuffer command = new StringBuffer();
+            command.append( "$ hg clone " );
+            command.append(hgRepo.getURI());
+
+            verbatimText( command.toString() );
+        }
+
         // Perforce
 
         /**

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties?rev=907815&r1=907814&r2=907815&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report.properties Mon Feb  8 21:52:05 2010
@@ -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 (See {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}):
 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 (See {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}).
 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/}.

Modified: maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_de.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_de.properties?rev=907815&r1=907814&r2=907815&view=diff
==============================================================================
--- maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_de.properties (original)
+++ maven/plugins/trunk/maven-project-info-reports-plugin/src/main/resources/project-info-report_de.properties Mon Feb  8 21:52:05 2010
@@ -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 (Siehe {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}).
 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. (Siehe {http://www.selenic.com/mercurial/hg.1.html#clone,http://www.selenic.com/mercurial/hg.1.html#clone}).
 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/}.