You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by vs...@apache.org on 2005/07/20 05:02:02 UTC

svn commit: r219836 [2/3] - in /maven/components/trunk/maven-reports/maven-project-info-reports-plugin: ./ src/main/java/org/apache/maven/report/projectinfo/ src/main/resources/ src/test/projects/project-info-reports-plugin-test10/ src/test/projects/pr...

Modified: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java?rev=219836&r1=219835&r2=219836&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java (original)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/MailingListsReport.java Tue Jul 19 20:01:56 2005
@@ -24,6 +24,7 @@
 import org.apache.maven.reporting.MavenReportException;
 import org.codehaus.doxia.sink.Sink;
 import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.StringUtils;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -33,8 +34,8 @@
 import java.util.ResourceBundle;
 
 /**
- * @author <a href="mailto:brett@apache.org">Brett Porter</a>
- * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
+ * @author <a href="mailto:brett@apache.org">Brett Porter </a>
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
  * @version $Id$
  * @goal mailing-list
  */
@@ -154,7 +155,6 @@
         /**
          * @see org.apache.maven.reporting.MavenReportRenderer#getTitle()
          */
-        // How to i18n these ...
         public String getTitle()
         {
             return getBundle( locale ).getString( "report.mailing-lists.title" );
@@ -165,200 +165,145 @@
          */
         public void renderBody()
         {
-            startSection( getTitle() );
+            List mailingLists = model.getMailingLists();
 
-            if ( model.getMailingLists().isEmpty() )
+            if ( ( mailingLists == null ) || ( mailingLists.isEmpty() ) )
             {
+                startSection( getTitle() );
+
                 // TODO: should the report just be excluded?
                 paragraph( getBundle( locale ).getString( "report.mailing-lists.nolist" ) );
+
+                endSection();
+
+                return;
             }
-            else
-            {
-                paragraph( getBundle( locale ).getString( "report.mailing-lists.intro" ) );
 
-                startTable();
+            startSection( getTitle() );
+
+            paragraph( getBundle( locale ).getString( "report.mailing-lists.intro" ) );
 
-                // To beautify the display
-                boolean otherArchives = false;
+            startTable();
 
-                for ( Iterator i = model.getMailingLists().iterator(); i.hasNext(); )
+            // To beautify the display with other archives
+            boolean otherArchives = false;
+            for ( Iterator i = mailingLists.iterator(); i.hasNext(); )
+            {
+                MailingList m = (MailingList) i.next();
+
+                if ( ( ( m.getOtherArchives() != null ) ) && ( !m.getOtherArchives().isEmpty() ) )
                 {
-                    MailingList m = (MailingList) i.next();
-                    if ( ( ( m.getOtherArchives() != null ) ) && ( m.getOtherArchives().size() > 0 ) )
-                    {
-                        otherArchives = true;
-                    }
+                    otherArchives = true;
                 }
+            }
 
-                String name = getBundle( locale ).getString( "report.mailing-lists.column.name" );
+            String name = getBundle( locale ).getString( "report.mailing-lists.column.name" );
+            String subscribe = getBundle( locale ).getString( "report.mailing-lists.column.subscribe" );
+            String unsubscribe = getBundle( locale ).getString( "report.mailing-lists.column.unsubscribe" );
+            String post = getBundle( locale ).getString( "report.mailing-lists.column.post" );
+            String archive = getBundle( locale ).getString( "report.mailing-lists.column.archive" );
+            String archivesOther = getBundle( locale ).getString( "report.mailing-lists.column.otherArchives" );
 
-                String subscribe = getBundle( locale ).getString( "report.mailing-lists.column.subscribe" );
+            if ( otherArchives )
+            {
+                tableHeader( new String[] { name, subscribe, unsubscribe, post, archive, archivesOther } );
+            }
+            else
+            {
+                tableHeader( new String[] { name, subscribe, unsubscribe, post, archive } );
+            }
 
-                String unsubscribe = getBundle( locale ).getString( "report.mailing-lists.column.unsubscribe" );
+            for ( Iterator i = model.getMailingLists().iterator(); i.hasNext(); )
+            {
+                MailingList mailingList = (MailingList) i.next();
 
-                String post = getBundle( locale ).getString( "report.mailing-lists.column.post" );
+                List textRow = new ArrayList();
 
-                String archive = getBundle( locale ).getString( "report.mailing-lists.column.archive" );
+                // Validate here subsribe/unsubsribe lists and archives?
+                textRow.add( mailingList.getName() );
 
-                String archivesOther = getBundle( locale ).getString( "report.mailing-lists.column.otherArchives" );
+                textRow.add( createLinkPatternedText( subscribe, mailingList.getSubscribe() ) );
 
-                if ( otherArchives )
-                {
-                    tableHeader( new String[]{name, subscribe, unsubscribe, post, archive, archivesOther} );
-                }
-                else
-                {
-                    tableHeader( new String[]{name, subscribe, unsubscribe, post, archive} );
-                }
+                textRow.add( createLinkPatternedText( unsubscribe, mailingList.getUnsubscribe() ) );
+
+                textRow.add( createLinkPatternedText( post, mailingList.getPost() ) );
+
+                textRow.add( createLinkPatternedText( getArchiveServer( mailingList.getArchive() ), mailingList
+                    .getArchive() ) );
 
-                for ( Iterator i = model.getMailingLists().iterator(); i.hasNext(); )
+                if ( ( ( mailingList.getOtherArchives() != null ) ) && ( !mailingList.getOtherArchives().isEmpty() ) )
                 {
-                    MailingList m = (MailingList) i.next();
+                    // For the first line
+                    Iterator it = mailingList.getOtherArchives().iterator();
+                    String otherArchive = it.next().toString();
 
-                    List textRow = new ArrayList();
-                    List hrefRow = new ArrayList();
+                    textRow.add( createLinkPatternedText( getArchiveServer( otherArchive ), otherArchive ) );
 
-                    // Validate here subsribe/unsubsribe lists and archives?
-                    if ( m.getName() != null ) 
-                    {
-                        textRow.add( m.getName() );
-                        hrefRow.add( null );
-                    } 
-                    else 
-                    {
-                        // By default, a name should be set
-                        textRow.add( "???NOT_SET???" );
-                        hrefRow.add( null );
-                    }
+                    tableRow( (String[]) textRow.toArray( new String[0] ) );
 
-                    if ( m.getSubscribe() != null ) 
+                    // Other lines...
+                    while ( it.hasNext() )
                     {
-                        textRow.add( subscribe );
-                        hrefRow.add( m.getSubscribe() );
-                    } 
-                    else 
-                    {
-                        textRow.add( null );
-                        hrefRow.add( null );
-                    }
+                        otherArchive = (String) it.next();
 
-                    if ( m.getUnsubscribe() != null ) 
-                    {
-                        textRow.add( unsubscribe );
-                        hrefRow.add( m.getUnsubscribe() );
-                    } 
-                    else 
-                    {
-                        textRow.add( null );
-                        hrefRow.add( null );
-                    }
+                        // Reinit the list to beautify the display
+                        textRow = new ArrayList();
 
-                    if ( m.getPost() != null ) 
-                    {
-                        textRow.add( post );
-                        hrefRow.add( m.getPost() );
-                    } 
-                    else 
-                    {
-                        textRow.add( null );
-                        hrefRow.add( null );
-                    }
+                        // Name
+                        textRow.add( " " );
 
-                    if ( m.getArchive() != null ) 
-                    {
-                        textRow.add( getArchiveServer( m.getArchive() ) );
-                        hrefRow.add( m.getArchive() );
-                    } 
-                    else 
-                    {
-                        textRow.add( null );
-                        hrefRow.add( null );
-                    }
-                    
-                    if ( ( ( m.getOtherArchives() != null ) ) && ( m.getOtherArchives().size() > 0 ) )
-                    {   
-                        // For the first line
-                        Iterator it = m.getOtherArchives().iterator();
-                        String otherArchive = it.next().toString();
-
-                        textRow.add( getArchiveServer( otherArchive ) );
-                        hrefRow.add( otherArchive );
-
-                        tableRowWithLink( (String[]) textRow.toArray( new String[0] ),
-                                          (String[]) hrefRow.toArray( new String[0] ) );
-
-                        // Other lines...
-                        while ( it.hasNext() )
-                        {
-                            otherArchive = (String) it.next();
-                            
-                            // Reinit the list to beautify the display
-                            textRow = new ArrayList();
-                            hrefRow = new ArrayList();
-
-                            // Name
-                            textRow.add( null );
-                            hrefRow.add( null );
-
-                            // Subscribe
-                            textRow.add( null );
-                            hrefRow.add( null );
-
-                            // UnSubscribe
-                            textRow.add( null );
-                            hrefRow.add( null );
-
-                            // Post
-                            textRow.add( null );
-                            hrefRow.add( null );
-
-                            // Archive
-                            textRow.add( null );
-                            hrefRow.add( null );
-                            
-                            textRow.add( getArchiveServer( otherArchive ) );
-                            hrefRow.add( otherArchive );
-
-                            tableRowWithLink( (String[]) textRow.toArray( new String[0] ),
-                                              (String[]) hrefRow.toArray( new String[0] ) );
-                        }
+                        // Subscribe
+                        textRow.add( " " );
+
+                        // UnSubscribe
+                        textRow.add( " " );
+
+                        // Post
+                        textRow.add( " " );
+
+                        // Archive
+                        textRow.add( " " );
+
+                        textRow.add( createLinkPatternedText( getArchiveServer( otherArchive ), otherArchive ) );
+
+                        tableRow( (String[]) textRow.toArray( new String[0] ) );
                     }
-                    else
+                }
+                else
+                {
+                    if ( otherArchives )
                     {
-                        if ( otherArchives )
-                        {
-                            textRow.add( null );
-                            hrefRow.add( null );
-                        }
-                        
-                        tableRowWithLink( (String[]) textRow.toArray( new String[0] ),
-                                          (String[]) hrefRow.toArray( new String[0] ) );
+                        textRow.add( null );
                     }
-                }
 
-                endTable();
+                    tableRow( (String[]) textRow.toArray( new String[0] ) );
+                }
             }
+
+            endTable();
+
             endSection();
         }
     }
-    
+
     private static ResourceBundle getBundle( Locale locale )
     {
-        return ResourceBundle.getBundle("project-info-report", locale, MailingListsReport.class.getClassLoader() );
+        return ResourceBundle.getBundle( "project-info-report", locale, MailingListsReport.class.getClassLoader() );
     }
 
     /**
-     * Convenience method to return the name of a web-based mailing list archive server.
-     * <br>
-     * For instance, if the archive uri is <code>http://www.mail-archive.com/dev@maven.apache.org</code>,
-     * this method return <code>www.mail-archive.com</code>
-     *
+     * Convenience method to return the name of a web-based mailing list archive
+     * server. <br>
+     * For instance, if the archive uri is
+     * <code>http://www.mail-archive.com/dev@maven.apache.org</code>, this
+     * method return <code>www.mail-archive.com</code>
+     * 
      * @param uri
      * @return the server name of a web-based mailing list archive server
      */
-    private static String getArchiveServer( final String uri )
+    private static String getArchiveServer( String uri )
     {
-        if ( uri == null )
+        if ( StringUtils.isEmpty( uri ) )
         {
             return "???UNKWOWN???";
         }
@@ -368,4 +313,4 @@
 
         return uri.substring( at + 2, from );
     }
-}
+}
\ No newline at end of file

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java Tue Jul 19 20:01:56 2005
@@ -0,0 +1,557 @@
+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.apache.maven.model.Model;
+import org.apache.maven.model.Scm;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.AbstractMavenReport;
+import org.apache.maven.reporting.AbstractMavenReportRenderer;
+import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.IOException;
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+/**
+ * Generates the Project Source Configuration Management report.
+ * 
+ * @goal scm
+ * 
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
+ * @version $Id$
+ */
+public class ScmReport
+    extends AbstractMavenReport
+{
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale)
+     */
+    public String getName( Locale locale )
+    {
+        return getBundle( locale ).getString( "report.scm.name" );
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getCategoryName()
+     */
+    public String getCategoryName()
+    {
+        return CATEGORY_PROJECT_INFORMATION;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale)
+     */
+    public String getDescription( Locale locale )
+    {
+        return getBundle( locale ).getString( "report.scm.description" );
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
+        throws MavenReportException
+    {
+        try
+        {
+            ScmRenderer r = new ScmRenderer( getSink(), getProject().getModel(), locale );
+
+            r.render();
+        }
+        catch ( IOException e )
+        {
+            throw new MavenReportException( "Can't write the report " + getOutputName(), e );
+        }
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
+    public String getOutputName()
+    {
+        return "source-repository";
+    }
+
+    static class ScmRenderer
+        extends AbstractMavenReportRenderer
+    {
+        private Model model;
+
+        private Locale locale;
+
+        public ScmRenderer( Sink sink, Model model, Locale locale )
+        {
+            super( sink );
+
+            this.model = model;
+
+            this.locale = locale;
+        }
+
+        /**
+         * @see org.apache.maven.reporting.MavenReportRenderer#getTitle()
+         */
+        public String getTitle()
+        {
+            return getBundle( locale ).getString( "report.scm.title" );
+        }
+
+        /**
+         * @see org.apache.maven.reporting.AbstractMavenReportRenderer#renderBody()
+         */
+        public void renderBody()
+        {
+            Scm scm = model.getScm();
+            if ( scm == null )
+            {
+                startSection( getTitle() );
+
+                paragraph( getBundle( locale ).getString( "report.scm.noscm" ) );
+
+                endSection();
+
+                return;
+            }
+
+            String connection = scm.getConnection();
+            String devConnection = scm.getDeveloperConnection();
+
+            boolean isSvnConnection = isScmSystem( connection, "svn" );
+            boolean isCvsConnection = isScmSystem( connection, "cvs" );
+            boolean isVssConnection = isScmSystem( connection, "vss" );
+
+            boolean isSvnDevConnection = isScmSystem( devConnection, "svn" );
+            boolean isCvsDevConnection = isScmSystem( devConnection, "cvs" );
+            boolean isVssDevConnection = isScmSystem( devConnection, "vss" );
+
+            // Overview
+            startSection( getBundle( locale ).getString( "report.scm.overview.title" ) );
+
+            if ( isSvnConnection )
+            {
+                linkPatternedText( getBundle( locale ).getString( "report.scm.svn.intro" ) );
+
+            }
+            else if ( isCvsConnection )
+            {
+                linkPatternedText( getBundle( locale ).getString( "report.scm.cvs.intro" ) );
+            }
+            else if ( isVssConnection )
+            {
+                linkPatternedText( getBundle( locale ).getString( "report.scm.vss.intro" ) );
+            }
+            else
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.general.intro" ) );
+            }
+
+            endSection();
+
+            // Web access
+            startSection( getBundle( locale ).getString( "report.scm.webaccess.title" ) );
+
+            if ( scm.getUrl() == null )
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.webaccess.nourl" ) );
+            }
+            else
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.webaccess.url" ) );
+
+                verbatimLink( scm.getUrl(), scm.getUrl() );
+            }
+
+            endSection();
+
+            // Anonymous access
+            if ( !StringUtils.isEmpty( connection ) )
+            {
+                // Validation
+                validConnection( connection );
+
+                startSection( getBundle( locale ).getString( "report.scm.anonymousaccess.title" ) );
+
+                if ( isSvnConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.anonymousaccess.svn.intro" ) );
+
+                    // Example:
+                    // $> svn checkout
+                    // http://svn.apache.org/repos/asf/maven/components/trunk
+                    // maven
+
+                    StringBuffer sb = new StringBuffer();
+                    sb.append( "$>svn checkout " ).append( getSvnRoot( connection ) ).append( " " )
+                        .append( model.getArtifactId() );
+                    verbatimText( sb.toString() );
+                }
+                else if ( isCvsConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.anonymousaccess.cvs.intro" ) );
+
+                    // Example:
+                    // cvs -d :pserver:anoncvs@cvs.apache.org:/home/cvspublic
+                    // login
+                    // cvs -z3 -d
+                    // :pserver:anoncvs@cvs.apache.org:/home/cvspublic co
+                    // maven-plugins/dist
+
+                    String[] connectionDef = StringUtils.split( connection, ":" );
+
+                    StringBuffer command = new StringBuffer();
+                    command.append( "$>cvs -d " ).append( getCvsRoot( connection, "" ) ).append( " login" );
+                    command.append( "\n" );
+                    command.append( "$>cvs -z3 -d " ).append( getCvsRoot( connection, "" ) ).append( " co " )
+                        .append( getCvsModule( connection ) );
+                    verbatimText( command.toString() );
+                }
+                else if ( isVssConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.anonymousaccess.vss.intro" ) );
+
+                    verbatimText( getVssRoot( connection, "" ) );
+                }
+                else
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.anonymousaccess.general.intro" ) );
+
+                    verbatimText( connection.substring( 4 ) );
+                }
+
+                endSection();
+            }
+
+            // Developer access
+            if ( !StringUtils.isEmpty( devConnection ) )
+            {
+                // Validation
+                validConnection( devConnection );
+
+                startSection( getBundle( locale ).getString( "report.scm.devaccess.title" ) );
+
+                if ( isSvnDevConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.devaccess.svn.intro1" ) );
+
+                    // Example:
+                    // $> svn checkout
+                    // https://svn.apache.org/repos/asf/maven/components/trunk
+                    // maven
+
+                    StringBuffer sb = new StringBuffer();
+                    sb.append( "$>svn checkout " ).append( getSvnRoot( devConnection ) ).append( " " )
+                        .append( model.getArtifactId() );
+                    verbatimText( sb.toString() );
+
+                    paragraph( getBundle( locale ).getString( "report.scm.devaccess.svn.intro2" ) );
+
+                    sb = new StringBuffer();
+                    sb.append( "$>svn commit --username your-username -m \"A message\"" );
+                    verbatimText( sb.toString() );
+                }
+                else if ( isCvsDevConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.devaccess.cvs.intro" ) );
+
+                    // Example:
+                    // cvs -d :pserver:username@cvs.apache.org:/home/cvs login
+                    // cvs -z3 -d :ext:username@cvs.apache.org:/home/cvs co
+                    // maven-plugins/dist
+
+                    String[] connectionDef = StringUtils.split( devConnection, ":" );
+
+                    StringBuffer command = new StringBuffer();
+                    command.append( "$>cvs -d " ).append( getCvsRoot( devConnection, "username" ) ).append( " login" );
+                    command.append( "\n" );
+                    command.append( "$>cvs -z3 -d " ).append( getCvsRoot( devConnection, "username" ) ).append( " co " )
+                        .append( getCvsModule( devConnection ) );
+                    verbatimText( command.toString() );
+                }
+                else if ( isVssDevConnection )
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.devaccess.vss.intro" ) );
+
+                    verbatimText( getVssRoot( connection, "username" ) );
+                }
+                else
+                {
+                    paragraph( getBundle( locale ).getString( "report.scm.devaccess.general.intro" ) );
+
+                    verbatimText( connection.substring( 4 ) );
+                }
+
+                endSection();
+            }
+
+            // Access from behind a firewall
+            startSection( getBundle( locale ).getString( "report.scm.accessbehindfirewall.title" ) );
+
+            if ( isSvnDevConnection )
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.accessbehindfirewall.svn.intro" ) );
+
+                StringBuffer sb = new StringBuffer();
+                sb.append( "$>svn checkout " ).append( getSvnRoot( devConnection ) ).append( " " )
+                    .append( model.getArtifactId() );
+                verbatimText( sb.toString() );
+            }
+            else if ( isCvsDevConnection )
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.accessbehindfirewall.cvs.intro" ) );
+            }
+            else
+            {
+                paragraph( getBundle( locale ).getString( "report.scm.accessbehindfirewall.general.intro" ) );
+            }
+
+            endSection();
+
+            // Access through a proxy
+            if ( isSvnConnection || isSvnDevConnection )
+            {
+                startSection( getBundle( locale ).getString( "report.scm.accessthroughtproxy.title" ) );
+
+                paragraph( getBundle( locale ).getString( "report.scm.accessthroughtproxy.svn.intro1" ) );
+                paragraph( getBundle( locale ).getString( "report.scm.accessthroughtproxy.svn.intro2" ) );
+                paragraph( getBundle( locale ).getString( "report.scm.accessthroughtproxy.svn.intro3" ) );
+
+                StringBuffer sb = new StringBuffer();
+                sb.append( "[global]" ).append( "\n" );
+                sb.append( "http-proxy-host = your.proxy.name" ).append( "\n" );
+                sb.append( "http-proxy-port = 3128" ).append( "\n" );
+                verbatimText( sb.toString() );
+
+                endSection();
+            }
+        }
+
+        /**
+         * Checks if a SCM connection is a SVN, CVS...
+         * 
+         * @return true if the SCM is a SVN, CVS server, false otherwise.
+         */
+        private static boolean isScmSystem( String connection, String scm )
+        {
+            if ( StringUtils.isEmpty( connection ) )
+            {
+                return false;
+            }
+
+            if ( StringUtils.isEmpty( scm ) )
+            {
+                return false;
+            }
+
+            if ( connection.toLowerCase().substring( 4 ).startsWith( scm ) )
+            {
+                return true;
+            }
+
+            return false;
+        }
+
+        /**
+         * Get the SVN root from a connection
+         * 
+         * @param connection
+         *            a valid SVN connection
+         * @return the svn connection
+         */
+        private static String getSvnRoot( String connection )
+        {
+            if ( !isScmSystem( connection, "svn" ) )
+            {
+                throw new IllegalArgumentException( "Cannot get the SVN root from a none SVN SCM." );
+            }
+
+            String[] connectionDef = StringUtils.split( connection, ":" );
+
+            if ( connectionDef.length != 4 )
+            {
+                throw new IllegalArgumentException( "The SVN repository connection is not valid." );
+            }
+
+            return connectionDef[2] + ":" + connectionDef[3];
+        }
+
+        /**
+         * Get the CVS root from the connection
+         * 
+         * @param connection
+         *            a valid CVS connection
+         * @param username
+         * @return the CVS root
+         */
+        private static String getCvsRoot( String connection, String username )
+        {
+            if ( !isScmSystem( connection, "cvs" ) )
+            {
+                throw new IllegalArgumentException( "Cannot get the CVS root from a none CVS SCM." );
+            }
+
+            String[] connectionDef = StringUtils.split( connection, ":" );
+
+            if ( connectionDef.length != 6 )
+            {
+                throw new IllegalArgumentException( "The CVS repository connection is not valid." );
+            }
+
+            if ( connectionDef[3].indexOf( '@' ) >= 0 )
+            {
+                if ( StringUtils.isEmpty( username ) )
+                {
+                    username = connectionDef[3].substring( 0, connectionDef[3].indexOf( '@' ) );
+                }
+                connectionDef[3] = username + "@" + connectionDef[3].substring( connectionDef[3].indexOf( '@' ) + 1 );
+            }
+
+            return ":" + connectionDef[2] + ":" + connectionDef[3] + ":" + connectionDef[4];
+        }
+
+        /**
+         * Get the CVS module from a connection
+         * 
+         * @param connection
+         *            a valid CVS connection
+         * @return the CVS module
+         */
+        private static String getCvsModule( String connection )
+        {
+            if ( !isScmSystem( connection, "cvs" ) )
+            {
+                throw new IllegalArgumentException( "Cannot get the CVS root from a none CVS SCM." );
+            }
+            String[] connectionDef = StringUtils.split( connection, ":" );
+
+            if ( connectionDef.length != 6 )
+            {
+                throw new IllegalArgumentException( "The CVS repository connection is not valid." );
+            }
+
+            return connectionDef[5];
+        }
+
+        /**
+         * Get a VSS root.
+         * 
+         * @param connection
+         *            a valid VSS connection
+         * @param username
+         * @return the VSS root
+         */
+        private static String getVssRoot( String connection, String username )
+        {
+            if ( !isScmSystem( connection, "vss" ) )
+            {
+                throw new IllegalArgumentException( "Cannot get the VSS root from a none VSS SCM." );
+            }
+
+            String[] connectionDef = StringUtils.split( connection, ":" );
+
+            if ( connectionDef.length != 5 )
+            {
+                throw new IllegalArgumentException( "The VSS repository connection is not valid." );
+            }
+
+            if ( StringUtils.isEmpty( username ) )
+            {
+                username = connectionDef[3];
+            }
+
+            return connectionDef[1] + ":" + connectionDef[2] + ":" + username + ":" + connectionDef[4];
+        }
+
+        /**
+         * Convenience method that valid a given connection.
+         * <p>
+         * Throw an <code>IllegalArgumentException</code> if the connection is
+         * not a valid one.
+         * </p>
+         * 
+         * @param connection
+         */
+        private static void validConnection( String connection )
+        {
+            if ( StringUtils.isEmpty( connection ) )
+            {
+                throw new IllegalArgumentException( "The source repository connection could not be null." );
+            }
+            if ( connection.length() < 4 )
+            {
+                throw new IllegalArgumentException( "The source repository connection is too short." );
+            }
+            if ( !connection.startsWith( "scm" ) )
+            {
+                throw new IllegalArgumentException( "The source repository connection must start with scm." );
+            }
+        }
+    }
+
+    private static ResourceBundle getBundle( Locale locale )
+    {
+        return ResourceBundle.getBundle( "project-info-report", locale, ScmReport.class.getClassLoader() );
+    }
+}
\ No newline at end of file

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/ScmReport.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java Tue Jul 19 20:01:56 2005
@@ -0,0 +1,403 @@
+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.apache.maven.model.Contributor;
+import org.apache.maven.model.Developer;
+import org.apache.maven.model.Model;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.reporting.AbstractMavenReport;
+import org.apache.maven.reporting.AbstractMavenReportRenderer;
+import org.apache.maven.reporting.MavenReportException;
+import org.codehaus.doxia.sink.Sink;
+import org.codehaus.doxia.site.renderer.SiteRenderer;
+import org.codehaus.plexus.util.StringUtils;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Properties;
+import java.util.ResourceBundle;
+
+/**
+ * Generates the Project Team report.
+ * 
+ * @goal project-team
+ * 
+ * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
+ * @version $Id$
+ */
+public class TeamListReport
+    extends AbstractMavenReport
+{
+    /**
+     * @parameter expression="${project.build.directory}/site"
+     * @required
+     */
+    private String outputDirectory;
+
+    /**
+     * @parameter expression="${component.org.codehaus.doxia.site.renderer.SiteRenderer}"
+     * @required
+     * @readonly
+     */
+    private SiteRenderer siteRenderer;
+
+    /**
+     * @parameter expression="${project}"
+     * @required
+     * @readonly
+     */
+    private MavenProject project;
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale)
+     */
+    public String getName( Locale locale )
+    {
+        return getBundle( locale ).getString( "report.team-list.name" );
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getCategoryName()
+     */
+    public String getCategoryName()
+    {
+        return CATEGORY_PROJECT_INFORMATION;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale)
+     */
+    public String getDescription( Locale locale )
+    {
+        return getBundle( locale ).getString( "report.team-list.description" );
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory()
+     */
+    protected String getOutputDirectory()
+    {
+        return outputDirectory;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getProject()
+     */
+    protected MavenProject getProject()
+    {
+        return project;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer()
+     */
+    protected SiteRenderer getSiteRenderer()
+    {
+        return siteRenderer;
+    }
+
+    /**
+     * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale)
+     */
+    public void executeReport( Locale locale )
+        throws MavenReportException
+    {
+        try
+        {
+            TeamListRenderer r = new TeamListRenderer( getSink(), getProject().getModel(), locale );
+
+            r.render();
+        }
+        catch ( IOException e )
+        {
+            throw new MavenReportException( "Can't write the report " + getOutputName(), e );
+        }
+    }
+
+    /**
+     * @see org.apache.maven.reporting.MavenReport#getOutputName()
+     */
+    public String getOutputName()
+    {
+        return "team-list";
+    }
+
+    static class TeamListRenderer
+        extends AbstractMavenReportRenderer
+    {
+        private Model model;
+
+        private Locale locale;
+
+        public TeamListRenderer( Sink sink, Model model, Locale locale )
+        {
+            super( sink );
+
+            this.model = model;
+
+            this.locale = locale;
+        }
+
+        /**
+         * @see org.apache.maven.reporting.MavenReportRenderer#getTitle()
+         */
+        public String getTitle()
+        {
+            return getBundle( locale ).getString( "report.team-list.title" );
+        }
+
+        /**
+         * @see org.apache.maven.reporting.AbstractMavenReportRenderer#renderBody()
+         */
+        public void renderBody()
+        {
+            startSection( getBundle( locale ).getString( "report.team-list.intro.title" ) );
+
+            // To handle JS
+            StringBuffer javascript = new StringBuffer( "function offsetDate(id, offset) {" )
+                .append( "var now = new Date() ;" ).append( "var nowTime = now.getTime() ;" )
+                .append( "var localOffset = now.getTimezoneOffset() ;" )
+                .append( "var developerTime = nowTime + ( offset * 60 * 60 * 1000 ) + ( localOffset * 60 * 1000 ) ;" )
+                .append( "var developerDate = new Date(developerTime) ;" ).append( "" )
+                .append( "document.getElementById(id).innerHTML = developerDate;" ).append( "}" ).append( "" )
+                .append( "function init(){" );
+
+            // Intoduction
+            paragraph( getBundle( locale ).getString( "report.team-list.intro.description1" ) );
+            paragraph( getBundle( locale ).getString( "report.team-list.intro.description2" ) );
+
+            // Developer section
+            List developers = model.getDevelopers();
+
+            startSection( getBundle( locale ).getString( "report.team-list.developers.title" ) );
+
+            if ( ( developers == null ) || ( developers.isEmpty() ) )
+            {
+                paragraph( getBundle( locale ).getString( "report.team-list.nodeveloper" ) );
+            }
+            else
+            {
+                paragraph( getBundle( locale ).getString( "report.team-list.developers.intro" ) );
+
+                startTable();
+
+                String id = getBundle( locale ).getString( "report.team-list.developers.id" );
+                String name = getBundle( locale ).getString( "report.team-list.developers.name" );
+                String email = getBundle( locale ).getString( "report.team-list.developers.email" );
+                String url = getBundle( locale ).getString( "report.team-list.developers.url" );
+                String organization = getBundle( locale ).getString( "report.team-list.developers.organization" );
+                String organizationUrl = getBundle( locale ).getString( "report.team-list.developers.organizationurl" );
+                String roles = getBundle( locale ).getString( "report.team-list.developers.roles" );
+                String timeZone = getBundle( locale ).getString( "report.team-list.developers.timezone" );
+                String actualTime = getBundle( locale ).getString( "report.team-list.developers.actualtime" );
+                String properties = getBundle( locale ).getString( "report.team-list.developers.properties" );
+
+                tableHeader( new String[] {
+                    id,
+                    name,
+                    email,
+                    url,
+                    organization,
+                    organizationUrl,
+                    roles,
+                    timeZone,
+                    actualTime,
+                    properties } );
+
+                // To handle JS
+                int developersRows = 0;
+                for ( Iterator i = developers.iterator(); i.hasNext(); )
+                {
+                    Developer developer = (Developer) i.next();
+
+                    // To handle JS
+                    sink.tableRow();
+
+                    tableCell( developer.getId() );
+
+                    tableCell( developer.getName() );
+
+                    tableCell( createLinkPatternedText( developer.getEmail(), developer.getEmail() ) );
+
+                    tableCell( createLinkPatternedText( developer.getUrl(), developer.getUrl() ) );
+
+                    tableCell( developer.getOrganization() );
+
+                    tableCell( developer.getOrganizationUrl() );
+
+                    if ( developer.getRoles() != null )
+                    {
+                        // Comma separated roles
+                        tableCell( StringUtils.join( developer.getRoles().toArray( new String[0] ), ", " ) );
+                    }
+                    else
+                    {
+                        tableCell( null );
+                    }
+
+                    tableCell( developer.getTimezone() );
+
+                    // To handle JS
+                    sink.tableCell();
+                    sink.rawText( "<span id=\"developer-" + developersRows + "\">" );
+                    text( developer.getTimezone() );
+                    if ( !StringUtils.isEmpty( developer.getTimezone() ) )
+                    {
+                        javascript.append( "offsetDate('developer-" + developersRows + "', '" );
+                        javascript.append( developer.getTimezone() );
+                        javascript.append( "');\n" );
+                    }
+                    sink.rawText( "</span>" );
+                    sink.tableCell_();
+
+                    Properties props = developer.getProperties();
+                    if ( props != null )
+                    {
+                        tableCell( propertiesToString( props ) );
+                    }
+                    else
+                    {
+                        tableCell( null );
+                    }
+
+                    sink.tableRow_();
+
+                    developersRows++;
+                }
+
+                endTable();
+            }
+
+            endSection();
+
+            // contributors section
+            List contributors = model.getContributors();
+
+            startSection( getBundle( locale ).getString( "report.team-list.contributors.title" ) );
+
+            if ( ( contributors == null ) || ( contributors.isEmpty() ) )
+            {
+                paragraph( getBundle( locale ).getString( "report.team-list.nocontributor" ) );
+            }
+            else
+            {
+                paragraph( getBundle( locale ).getString( "report.team-list.contributors.intro" ) );
+
+                startTable();
+
+                String name = getBundle( locale ).getString( "report.team-list.contributors.name" );
+                String email = getBundle( locale ).getString( "report.team-list.contributors.email" );
+                String url = getBundle( locale ).getString( "report.team-list.contributors.url" );
+                String organization = getBundle( locale ).getString( "report.team-list.contributors.organization" );
+                String organizationUrl = getBundle( locale )
+                    .getString( "report.team-list.contributors.organizationurl" );
+                String roles = getBundle( locale ).getString( "report.team-list.contributors.roles" );
+                String timeZone = getBundle( locale ).getString( "report.team-list.contributors.timezone" );
+                String actualTime = getBundle( locale ).getString( "report.team-list.contributors.actualtime" );
+                String properties = getBundle( locale ).getString( "report.team-list.contributors.properties" );
+
+                tableHeader( new String[] {
+                    name,
+                    email,
+                    url,
+                    organization,
+                    organizationUrl,
+                    roles,
+                    timeZone,
+                    actualTime,
+                    properties } );
+
+                // To handle JS
+                int contributorsRows = 0;
+                for ( Iterator i = contributors.iterator(); i.hasNext(); )
+                {
+                    Contributor contributor = (Contributor) i.next();
+
+                    sink.tableRow();
+
+                    tableCell( contributor.getName() );
+
+                    tableCell( createLinkPatternedText( contributor.getEmail(), contributor.getEmail() ) );
+
+                    tableCell( createLinkPatternedText( contributor.getUrl(), contributor.getUrl() ) );
+
+                    tableCell( contributor.getOrganization() );
+
+                    tableCell( createLinkPatternedText( contributor.getOrganizationUrl(), contributor
+                        .getOrganizationUrl() ) );
+
+                    if ( contributor.getRoles() != null )
+                    {
+                        // Comma separated roles
+                        tableCell( StringUtils.join( contributor.getRoles().toArray( new String[0] ), ", " ) );
+                    }
+                    else
+                    {
+                        tableCell( null );
+                    }
+
+                    tableCell( contributor.getTimezone() );
+
+                    // To handle JS
+                    sink.tableCell();
+                    sink.rawText( "<span id=\"contributor-" + contributorsRows + "\">" );
+                    text( contributor.getTimezone() );
+                    if ( !StringUtils.isEmpty( contributor.getTimezone() ) )
+                    {
+                        javascript.append( "offsetDate('contributor-" + contributorsRows + "', '" );
+                        javascript.append( contributor.getTimezone() );
+                        javascript.append( "');\n" );
+                    }
+                    sink.rawText( "</span>" );
+                    sink.tableCell_();
+
+                    Properties props = contributor.getProperties();
+                    if ( props != null )
+                    {
+                        tableCell( propertiesToString( props ) );
+                    }
+                    else
+                    {
+                        tableCell( null );
+                    }
+
+                    sink.tableRow_();
+
+                    contributorsRows++;
+                }
+
+                endTable();
+            }
+
+            endSection();
+
+            endSection();
+
+            // To handle JS
+            javascript.append( "}" ).append( "window.onload = init();" );
+            javaScript( javascript.toString() );
+        }
+    }
+
+    private static ResourceBundle getBundle( Locale locale )
+    {
+        return ResourceBundle.getBundle( "project-info-report", locale, TeamListReport.class.getClassLoader() );
+    }
+}
\ No newline at end of file

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/java/org/apache/maven/report/projectinfo/TeamListReport.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Modified: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_en.properties
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_en.properties?rev=219836&r1=219835&r2=219836&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_en.properties (original)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_en.properties Tue Jul 19 20:01:56 2005
@@ -22,12 +22,18 @@
 report.dependencies.column.groupId=GroupId
 report.dependencies.column.artifactId=ArtifactId
 report.dependencies.column.version=Version
+report.dependencies.column.description=Description
+report.dependencies.column.url=URL
+
 report.transitivedependencies.title=Project Transitive Dependencies
-report.transitivedependencies.nolist=There are no transitive dependencies for this project. 
-report.transitivedependencies.intro=The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies :
+report.transitivedependencies.nolist=No transitive dependencies are required for this project.
+report.transitivedependencies.intro=The following is a list of transitive dependencies for this project. Transitive dependencies are the dependencies of the project dependencies:
 report.transitivedependencies.column.groupId=GroupId
 report.transitivedependencies.column.artifactId=ArtifactId
 report.transitivedependencies.column.version=Version
+report.transitivedependencies.column.description=Description
+report.transitivedependencies.column.url=URL
+
 report.mailing-lists.name=Mailing Lists
 report.mailing-lists.nolist=There are no mailing lists currently associated with this project.
 report.mailing-lists.title=Project Mailing Lists
@@ -39,3 +45,103 @@
 report.mailing-lists.column.post=Post
 report.mailing-lists.column.archive=Archive
 report.mailing-lists.column.otherArchives=Other Archives
+
+report.team-list.name=Project Team
+report.team-list.description=This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
+report.team-list.title=Team list
+report.team-list.intro.title=The Team
+report.team-list.intro.description1=A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.
+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. Please check back at a later date.
+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
+report.team-list.developers.url=URL
+report.team-list.developers.organization=Organization
+report.team-list.developers.organizationurl=Organization URL
+report.team-list.developers.roles=Roles
+report.team-list.developers.timezone=Time Zone
+report.team-list.developers.actualtime=Actual Time (GMT)
+report.team-list.developers.properties=Properties
+report.team-list.contributors.title=Contributors
+report.team-list.nocontributor=There are no contributors listed for this project. Please check back again later.
+report.team-list.contributors.intro=The following additional people have contributed to this project through the way of suggestions, patches or documentation.
+report.team-list.contributors.name=Name
+report.team-list.contributors.email=Email
+report.team-list.contributors.url=URL
+report.team-list.contributors.organization=Organization
+report.team-list.contributors.organizationurl=Organization URL
+report.team-list.contributors.roles=Roles
+report.team-list.contributors.timezone=Time Zone
+report.team-list.contributors.actualtime=Actual Time (GMT)
+report.team-list.contributors.properties=Properties
+
+report.scm.name=Source Repository
+report.scm.description=This is a link to the online source repository that can be viewed via a web browser.
+report.scm.noscm=No source configuration management system is defined. Please check back at a later date.
+report.scm.title=Source Repository
+report.scm.overview.title=Overview
+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.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.vss.intro=This project uses {Visual SourceSafe, http://msdn.microsoft.com/ssafe/} to manage its source code. 
+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.svn.intro=The source can be checked out anonymously from SVN with this command: 
+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.vss.intro=This project's VSS repository can be checked out through anonymous with the following URL. Refer to VSS documentation for more information about anonymously check out.
+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.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.cvs.intro=Only project developers can access the CVS tree via this method. Substitute username with the proper value. 
+report.scm.devaccess.vss.intro=Only project developers can access the VSS tree. Substitute username with the proper value. 
+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.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.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.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.
+report.issuetracking.bugzilla.intro=This project uses {Bugzilla, http://www.bugzilla.org/}.
+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.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.
+report.cim.nocim=No continuous integration management system is defined. Please check back at a later date.
+report.cim.title=Continuous Integration
+report.cim.overview.title=Overview
+report.cim.continuum.intro=This project uses {Continuum, http://maven.apache.org/continuum/}.
+report.cim.bugzilla.intro=This project uses {Bugzilla, http://www.bugzilla.org/}.
+report.cim.general.intro=This project uses Continuous Integration System.
+report.cim.access=Access
+report.cim.url=The following is a link to the continuous integration system used by the project.
+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.column.type=Type
+report.cim.notifiers.column.address=Address
+report.cim.notifiers.column.configuration=Configuration
+
+report.license.name=Project License
+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. 

Modified: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties?rev=219836&r1=219835&r2=219836&view=diff
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties (original)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/main/resources/project-info-report_fr.properties Tue Jul 19 20:01:56 2005
@@ -22,12 +22,18 @@
 report.dependencies.column.groupId=GroupId
 report.dependencies.column.artifactId=ArtifactId
 report.dependencies.column.version=Version
+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.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
 report.transitivedependencies.column.version=Version
+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.title=Listes de diffusion du projet
@@ -39,3 +45,103 @@
 report.mailing-lists.column.post=Poster
 report.mailing-lists.column.archive=Archive
 report.mailing-lists.column.otherArchives=Autres Archives
+
+report.team-list.name=Membres de ce projet
+report.team-list.description=Ce document fournit des informations sur les membres de ce projet. Ce sont les individus qui ont contribué au projet d'une façon ou d'une autre.
+report.team-list.title=Liste des membres
+report.team-list.intro.title=L'équipe
+report.team-list.intro.description1=Un projet réussi exige que beaucoup de personnes jouent plusieurs rôles. Quelques personnes écrivent le code ou la documentation, alors que d'autres testent, soumettent des patches ou des suggestions.
+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.id=Id
+report.team-list.developers.name=Nom
+report.team-list.developers.email=Email
+report.team-list.developers.url=URL
+report.team-list.developers.organization=Organisation
+report.team-list.developers.organizationurl=URL de l'organisation
+report.team-list.developers.roles=Roles
+report.team-list.developers.timezone=Fuseau horaire
+report.team-list.developers.actualtime=Heure actuelle (GMT)
+report.team-list.developers.properties=Propriétés
+report.team-list.contributors.title=Contributeurs
+report.team-list.nocontributor=Il n'y a aucun contributeur travaillant sur ce projet. Vérifiez plus tard si des contributeurs ont été ajouté.
+report.team-list.contributors.intro=Les personnes additionnelles suivantes ont contribué à ce projet pour leurs suggestions, ou leurs apports à la documentation ou aux patches.
+report.team-list.contributors.name=Nom
+report.team-list.contributors.email=Email
+report.team-list.contributors.url=URL
+report.team-list.contributors.organization=Organisation
+report.team-list.contributors.organizationurl=URL de l'organisation
+report.team-list.contributors.roles=Roles
+report.team-list.contributors.timezone=Fuseau horaire
+report.team-list.contributors.actualtime=Heure actuelle (GMT)
+report.team-list.contributors.properties=Propriétés
+
+report.scm.name=Dépôt de sources
+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.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.cvs.intro=Ce projet utilise {Concurrent Versions System, http://www.cvshome.org/} pour gérer son code source. Des instructions sur l'utilisation de CVS peuvent être trouvées à {http://cvsbook.red-bean.com/, http://cvsbook.red-bean.com/}. 
+report.scm.vss.intro=Ce projet utilise {Visual SourceSafe, http://msdn.microsoft.com/ssafe/} pour gérer son code source. 
+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.
+report.scm.webaccess.nourl=Aucun lien au système de dépôt SCM n'est défini. Vérifiez plus tard si ce lien a été ajouté.
+report.scm.anonymousaccess.title=Accès de façon anonyme
+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.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.vss.intro=Le dépôt d'archive VSS de ce projet peut être vérifié de façon anonyme avec l'URL suivante. Référez-vous à la documentation de VSS pour plus d'informations sur cette instruction.
+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.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.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.vss.intro=Seulement les dévelopeurs du projet peuvent accéder à l'arbre de VSS. Remplacez username avec la valeur appropriée.
+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:
+report.scm.accessbehindfirewall.cvs.intro=Pour les dévelopeurs qui sont coincés derrière un firewall, {CVSGrab, http://cvsgrab.sourceforge.net/) peut utiliser l'interface Web pour effectuer un checkout du code source.
+report.scm.accessbehindfirewall.general.intro=Référez-vous à la documentation du dépôt d'archive utilisé pour plus d'informations sur l'accès derrière un firewall.
+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.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.
+report.issuetracking.noissueManagement=Aucun système de contrôle des livraisons n'est défini. Vérifiez plus tard si un système de contrôle des livraisons a été ajouté.
+report.issuetracking.overview.title=Vue d'ensemble
+report.issuetracking.jira.intro=Ce projet utilise {Jira, http://www.atlassian.com/software/jira} une application J2EE de contrôle des livraisons et de gestion de projet.
+report.issuetracking.bugzilla.intro=Ce projet utilise {Bugzilla, http://www.bugzilla.org/}.
+report.issuetracking.scarab.intro=Ce projet utilise {Scarab, http://scarab.tigris.org/}.
+report.issuetracking.general.intro=Ce projet utilise système de contrôle des livraisons pour gérer ces issues.
+report.issuetracking.title=Contrôle des livraisons
+report.issuetracking.intro=Des issues (bogues, dispositifs, demandes de changement) peuvent être créées et questionnées en utilisant ce lien.
+
+report.cim.name=Contrôle des intégrations continues
+report.cim.description=C'est un lien au système de contrôle des intégrations continues pour ce projet qui constuit et test le code de manière fréquente.
+report.cim.nocim=Aucun système de contrôle des intégrations continues n'est défini. Vérifiez plus tard si un système de contrôle des livraisons a été ajouté.
+report.cim.title=Contrôle des intégrations continues
+report.cim.overview.title=Vue d'ensemble
+report.cim.continuum.intro=Ce projet utilise {Continuum, http://maven.apache.org/continuum/}.
+report.cim.bugzilla.intro=Ce projet utilise {Bugzilla, http://www.bugzilla.org/}.
+report.cim.general.intro=Ce projet utilise un système de contrôle des intégrations continues.
+report.cim.access=Accès
+report.cim.url=Le lien suivant est celui du système de contrôle des intégrations continues pour ce projet.
+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.column.type=Type
+report.cim.notifiers.column.address=Adresse
+report.cim.notifiers.column.configuration=Configuration
+
+report.license.name=License du projet
+report.license.description=C'est un lien à la license du projet.
+report.license.nolicense=Aucune license n'est définie pour ce projet.
+report.license.title=License du projet
+report.license.overview.title=Vue d'ensemble
+report.license.overview.intro=Typiquement les licenses énumérés pour ce projet sont celle du projet lui-même, et non celles des dépendances.

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml Tue Jul 19 20:01:56 2005
@@ -0,0 +1,79 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.report.projectinfo.test10</groupId>
+  <artifactId>project-info-reports-plugin-test10</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <inceptionYear>2005</inceptionYear>
+  <name>Maven ProjectInfo Report Test10</name>
+  <description>Test the project team report</description>
+  <url>http://maven.apache.org</url>
+  <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, Creator</role>
+      </roles>
+      <timezone>-5</timezone>
+    </developer>
+    <developer>
+      <id>toto</id>
+      <name>Toto</name>
+      <email>toto@toto.com</email>
+      <organization>Toto Software Foundation</organization>
+      <roles>
+        <role>Dummy</role>
+      </roles>
+    </developer>
+  </developers>
+  <contributors>
+    <contributor>
+      <name>Vincent Siveton</name>
+      <email>vsiveton@apache.org</email>
+      <organization>Apache Software Foundation</organization>
+      <roles>
+        <role>Contributor</role>
+      </roles>
+      <timezone>-5</timezone>
+    </contributor>
+  </contributors>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java Tue Jul 19 20:01:56 2005
@@ -0,0 +1,13 @@
+package org.apache.maven.report.projectinfo.test10;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/main/java/org/apache/maven/report/projectinfo/test10/App.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java Tue Jul 19 20:01:56 2005
@@ -0,0 +1,38 @@
+org.apache.maven.report.projectinfo.test10;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit test for simple App.
+ */
+public class AppTest 
+    extends TestCase
+{
+    /**
+     * Create the test case
+     *
+     * @param testName name of the test case
+     */
+    public AppTest( String testName )
+    {
+        super( testName );
+    }
+
+    /**
+     * @return the suite of tests being tested
+     */
+    public static Test suite()
+    {
+        return new TestSuite( AppTest.class );
+    }
+
+    /**
+     * Rigourous Test :-)
+     */
+    public void testApp()
+    {
+        assertTrue( true );
+    }
+}

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test10/src/test/java/org/apache/maven/report/projectinfo/test10/AppTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml Tue Jul 19 20:01:56 2005
@@ -0,0 +1,64 @@
+<?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>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.report.projectinfo.test2</groupId>
+  <artifactId>project-info-reports-plugin-test2</artifactId>
+  <packaging>jar</packaging>
+  <version>1.0-SNAPSHOT</version>
+  <inceptionYear>2005</inceptionYear>
+  <name>Maven ProjectInfo Report Test2</name>
+  <description>Test the SCM report with SVN</description>
+  <url>http://maven.apache.org</url>
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test1</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test1</developerConnection>
+    <url>http://svn.apache.org/repos/asf/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test1</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>

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/pom.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Added: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java?rev=219836&view=auto
==============================================================================
--- maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java (added)
+++ maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java Tue Jul 19 20:01:56 2005
@@ -0,0 +1,13 @@
+package org.apache.maven.report.projectinfo.test2;
+
+/**
+ * Hello world!
+ *
+ */
+public class App 
+{
+    public static void main( String[] args )
+    {
+        System.out.println( "Hello World!" );
+    }
+}

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-reports/maven-project-info-reports-plugin/src/test/projects/project-info-reports-plugin-test2/src/main/java/org/apache/maven/report/projectinfo/test2/App.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org