Author: olamy Date: Fri Sep 16 21:06:58 2011 New Revision: 1171782 URL: http://svn.apache.org/viewvc?rev=1171782&view=rev Log: [MCHANGELOG-123] Patch with support for SCM provider implementations (similar to release plugin) Submitted by Alex Coyle
Modified: maven/plugins/trunk/maven-changelog-plugin/pom.xml maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmManagerStub.java maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmProviderStub.java Modified: maven/plugins/trunk/maven-changelog-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/pom.xml?rev=1171782&r1=1171781&r2=1171782&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/pom.xml (original) +++ maven/plugins/trunk/maven-changelog-plugin/pom.xml Fri Sep 16 21:06:58 2011 @@ -129,7 +129,7 @@ under the License. </issueManagement> <properties> - <maven-scm.version>1.3</maven-scm.version> + <maven-scm.version>1.4</maven-scm.version> <doxiaVersion>1.0</doxiaVersion> <mavenVersion>2.0.6</mavenVersion> <sitePluginVersion>2.0.1</sitePluginVersion> Modified: maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java?rev=1171782&r1=1171781&r2=1171782&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java (original) +++ maven/plugins/trunk/maven-changelog-plugin/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java Fri Sep 16 21:06:58 2011 @@ -40,6 +40,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Locale; +import java.util.Map; import java.util.Properties; import java.util.ResourceBundle; import java.util.StringTokenizer; @@ -391,6 +392,13 @@ public class ChangeLogReport */ protected List developers; + /** + * List of provider implementations. + * + * @parameter + */ + private Map providerImplementations; + // temporary field holder while generating the report private String rptRepository, rptOneRepoParam, rptMultiRepoParam; @@ -422,6 +430,18 @@ public class ChangeLogReport return; } + if ( providerImplementations != null ) + { + for ( Iterator i = providerImplementations.keySet().iterator(); i.hasNext(); ) + { + String providerType = (String) i.next(); + String providerImplementation = (String) providerImplementations.get( providerType ); + getLog().info( "Change the default '" + providerType + "' provider implementation to '" + + providerImplementation + "'." ); + manager.setScmProviderImplementation( providerType, providerImplementation ); + } + } + initializeDefaultConfigurationParameters(); initializeDeveloperMaps(); Modified: maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmManagerStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmManagerStub.java?rev=1171782&r1=1171781&r2=1171782&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmManagerStub.java (original) +++ maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmManagerStub.java Fri Sep 16 21:06:58 2011 @@ -24,6 +24,7 @@ import org.apache.maven.scm.ScmException import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.blame.BlameScmResult; import org.apache.maven.scm.command.branch.BranchScmResult; import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; @@ -32,6 +33,7 @@ import org.apache.maven.scm.command.diff import org.apache.maven.scm.command.edit.EditScmResult; import org.apache.maven.scm.command.export.ExportScmResult; import org.apache.maven.scm.command.list.ListScmResult; +import org.apache.maven.scm.command.mkdir.MkdirScmResult; import org.apache.maven.scm.command.remove.RemoveScmResult; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.command.tag.TagScmResult; @@ -386,4 +388,18 @@ public class ScmManagerStub { // nop } + + /** {@inheritDoc} */ + public BlameScmResult blame(ScmRepository arg0, ScmFileSet arg1, String arg2) + throws ScmException { + + return this.getProviderByRepository( arg0 ).blame(arg0, arg1, arg2); + } + + /** {@inheritDoc} */ + public MkdirScmResult mkdir(ScmRepository arg0, ScmFileSet arg1, + String arg2, boolean arg3) throws ScmException { + + return this.getProviderByRepository(arg0).mkdir(arg0, arg1, arg2, arg3); + } } Modified: maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmProviderStub.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmProviderStub.java?rev=1171782&r1=1171781&r2=1171782&view=diff ============================================================================== --- maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmProviderStub.java (original) +++ maven/plugins/trunk/maven-changelog-plugin/src/test/java/org/apache/maven/plugin/changelog/stubs/ScmProviderStub.java Fri Sep 16 21:06:58 2011 @@ -26,6 +26,7 @@ import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmTagParameters; import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.blame.BlameScmResult; import org.apache.maven.scm.command.branch.BranchScmResult; import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; @@ -33,6 +34,7 @@ import org.apache.maven.scm.command.chec import org.apache.maven.scm.command.diff.DiffScmResult; import org.apache.maven.scm.command.edit.EditScmResult; import org.apache.maven.scm.command.list.ListScmResult; +import org.apache.maven.scm.command.mkdir.MkdirScmResult; import org.apache.maven.scm.command.remove.RemoveScmResult; import org.apache.maven.scm.command.status.StatusScmResult; import org.apache.maven.scm.command.tag.TagScmResult; @@ -483,4 +485,16 @@ public class ScmProviderStub { return null; } + + public BlameScmResult blame(ScmRepository arg0, ScmFileSet arg1, String arg2) + throws ScmException { + + return null; + } + + public MkdirScmResult mkdir(ScmRepository arg0, ScmFileSet arg1, + String arg2, boolean arg3) throws ScmException { + + return null; + } }