Return-Path: Delivered-To: apmail-maven-scm-cvs-archive@www.apache.org Received: (qmail 18294 invoked from network); 26 Jul 2005 09:18:29 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Jul 2005 09:18:29 -0000 Received: (qmail 75279 invoked by uid 500); 26 Jul 2005 09:18:28 -0000 Delivered-To: apmail-maven-scm-cvs-archive@maven.apache.org Received: (qmail 75245 invoked by uid 500); 26 Jul 2005 09:18:28 -0000 Mailing-List: contact scm-cvs-help@maven.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: scm-cvs@maven.apache.org List-Id: Delivered-To: mailing list scm-cFrom scm-cvs-return-474-apmail-maven-scm-cvs-archive=maven.apache.org@maven.apache.org Tue Jul 26 09:18:29 2005 Return-Path: Delivered-To: apmail-maven-scm-cvs-archive@www.apache.org Received: (qmail 18287 invoked from network); 26 Jul 2005 09:18:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 26 Jul 2005 09:18:28 -0000 Received: (qmail 75266 invoked by uid 500); 26 Jul 2005 09:18:28 -0000 Delivered-To: apmail-maven-scm-cvs-archive@maven.apache.org Received: (qmail 75236 invoked by uid 500); 26 Jul 2005 09:18:28 -0000 Mailing-List: contact scm-cvs-help@maven.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: scm-cvs@maven.apache.org List-Id: Delivered-To: mailing list scm-cvs@maven.apache.org Received: (qmail 75219 invoked by uid 99); 26 Jul 2005 09:18:28 -0000 X-ASF-Spam-Status: No, hits=-9.2 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME,REMOVE_PAGE X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 26 Jul 2005 02:18:15 -0700 Received: (qmail 18243 invoked by uid 65534); 26 Jul 2005 09:18:13 -0000 Message-ID: <20050726091813.18230.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r225265 [2/2] - in /maven/scm/trunk: ./ maven-scm-api/src/main/java/org/apache/maven/scm/ maven-scm-api/src/main/java/org/apache/maven/scm/manager/ maven-scm-api/src/main/java/org/apache/maven/scm/provider/ maven-scm-client/ maven-scm-clien... Date: Tue, 26 Jul 2005 09:18:03 -0000 To: scm-cvs@maven.apache.org From: evenisse@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.orvs@maven.apache.org Received: (qmail 75218 invoked by uid 99); 26 Jul 2005 09:18:27 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 26 Jul 2005 02:18:15 -0700 Received: (qmail 18229 invoked by uid 65534); 26 Jul 2005 09:18:13 -0000 Message-ID: <20050726091813.18228.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r225265 [1/2] - in /maven/scm/trunk: ./ maven-scm-api/src/main/java/org/apache/maven/scm/ maven-scm-api/src/main/java/org/apache/maven/scm/manager/ maven-scm-api/src/main/java/org/apache/maven/scm/provider/ maven-scm-client/ maven-scm-clien... Date: Tue, 26 Jul 2005 09:18:03 -0000 To: scm-cvs@maven.apache.org From: evenisse@apache.org X-Mailer: svnmailer-1.0.2 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Ratg X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,41 +1,9 @@ - org.apache.maven.scm.provider.ScmProvider local org.apache.maven.scm.provider.local.LocalScmProvider - - - org.apache.maven.scm.provider.local.command.LocalCommand - commands - - - - - org.apache.maven.scm.provider.local.command.LocalCommand - add - org.apache.maven.scm.provider.local.command.add.LocalAddCommand - - - - org.apache.maven.scm.provider.local.command.LocalCommand - check-in - org.apache.maven.scm.provider.local.command.checkin.LocalCheckInCommand - - - - org.apache.maven.scm.provider.local.command.LocalCommand - check-out - org.apache.maven.scm.provider.local.command.checkout.LocalCheckOutCommand - - - - org.apache.maven.scm.providercm-managers/maven-scm-manager-plexus/ (props changed) maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-plugin/pom.xml maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java .local.command.LocalCommand - update - org.apache.maven.scm.provider.local.command.update.LocalUpdateCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java Tue Jul 26 02:16:45 2005 @@ -16,11maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java maven/scm/trunk/maven-scm-provider +16,15 @@ * limitations under the License. */ -import java.util.Map; - +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.provider.AbstractScmProvider; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.perforce.command.changelog.PerforceChangeLogCommand; import org.apache.maven.scm.provider.perforce.repository.PerforceScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; /** @@ -30,11 +34,6 @@ public class PerforceScmProvider extends AbstractScmProvider { - /** - * @requirement org.apache.maven.scm.CvsCommand - */ - private Map commands; - // ---------------------------------------------------------------------- // ScmProvider Implementation // ----------s/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/java/org/apache/maven/scm/provider/perforce/PerforceScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/r------------------------------------------------------------ @@ -70,7 +69,7 @@ port = Integer.parseInt( tmp ); } - catch( NumberFormatException ex ) + catch ( NumberFormatException ex ) { throw new ScmRepositoryException( "The port has to be a number." ); } @@ -96,8 +95,8 @@ { if ( host != null ) { - getLogger().warn( "Username as part of path is deprecated, the new format is " + - "scm:perforce:[username@]host:port:path_to_repository" ); + getLogger().warn( "Username as part of path is deprecated, the new format is " + + "scm:perforce:[username@]host:port:path_to_repository" ); } user = path.substring( 0, path.indexOf( "@" ) ); @@ -108,17 +107,22 @@ return new PerforceScmProviderRepository( host, port, path, user, passwoesources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumerTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/SvnScmProvider.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/resources/META-INF/plexus/components.xml maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/prrd ); } - // ---------------------------------------------------------------------- - // AbstractScmProvider Implementation - // ---------------------------------------------------------------------- - - protected Map getCommands() + public String getScmType() { - return commands; + return "perforce"; } - public String getScmType() + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException { - return "perforce"; + PerforceChangeLogCommand command = new PerforceChangeLogCommand(); + + command.setLogger( getLogger() ); + + return (ChangeLogScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } + ovider/svn/repository/SvnScmProviderRepositoryTest.java maven/scm/trunk/maven-scm-test/pom.xml maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java maven/scm/trunk/pom.xml Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java URL: htt } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-perforce/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,23 +1,9 @@ - org.apache.maven.scm.provider.ScmProvider perforce org.apache.maven.scm.provider.perforce.PerforceScmProvider - - - org.apache.maven.scm.prop://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java (original) +++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/NoSuchScmProviderException.java Tue Jul 26 02:16:45 2005 @@ -24,7 +24,7 @@ * @version $Id$ */ public class NoSuchScmProviderException - extends ScmException + extends ScmException { private String providerName; Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- vider.perforce.command.PerforceCommand - commands - - - - - org.apache.maven.scm.provider.perforce.command.PerforceCommand - changelog - org.apache.maven.scm.provider.perforce.command.changelog.PerforceChangeLogCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java (original) +++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/manager/ScmManager.java Tue Jul 26 02:16:45 2005 @@ -16,23 +16,12 @@ * limitations under the License. */ -import org.apache.maven.scm.ScmException; -import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.command.add.AddScmResult; -import org.apache.maven.scm.command.changelog.ChangeLogScmResult; -import org.apache.maven.scm.command.checkin.CheckInScmResult; -import org.apache.maven.scm.command.checkout.CheckOutScmResult; -import org.apache.maven.scm.command.diff.DiffScmResult; -import org.apache.maven.scm.command.status.StatusScmResult; -import org.apache.maven.scm.command.tag.TagScmResult; -import org.apache.maven.scm.command.update.UpdateScmResult; -import org.apache.maven.scm.log.ScmLogger; +import org.apache.maven.scm.provider.ScmProvider; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.sscm/provider/starteam/StarteamScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/StarteamScmProvider.java Tue Jul 26 02:16:45 2005 @@ -38,6 +38,7 @@ import org.apache.maven.scm.provider.starteam.command.tag.StarteamTagCommand; import org.apache.maven.scm.provider.starteam.command.update.StarteamUpdateCommand; import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.codehaus.plexus.util.StringUtils; @@ -140,75 +141,106 @@ } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.repository.ScmRepository, org.apachcm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; import java.io.File; -import java.util.Date; import java.util.List; /** @@ -50,42 +39,19 @@ // ---------------------------------------------------------------------- ScmRepository makeScmRepository( String scmUrl ) - throws ScmRepositoryException, NoSuchScmProviderException; + throws ScmRepositoryException, NoSuchScmProviderException; ScmRepository makeProviderScmRepository( String providerType, File path ) throws ScmRepositoryException, UnknownRepositoryStructure, NoSuchScmProviderException; List validateScmRepository( String scmUrl ); - void addListener( ScmLogger logger ) - throws NoSuchScmProviderException; - - // ---------------------------------------------------------------------- - // Scm Commands - // ---------------------------------------------------------------------- - - // TODO: not honouring includes/excludes, so re.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) */ - public AddScmResult add( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (AddScmResult) new StarteamAddCommand().execute( repository, fileSet, parameters ); + StarteamAddCommand command = new StarteamAddCommand(); + + command.setLogger( getLogger() ); + + return (AddScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.aeplace fileSet with working directory again - CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException; - - CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message ) - throws ScmException; + ScmProvider getProviderByUrl( String scmUrl ) + throws ScmRepositoryException, NoSuchScmProviderException; - UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException; - - TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException; - - DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision ) - throws ScmException; - - ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, int numDays, String branch ) - throws ScmException; - - AddScmResult add( ScmRepository repository, ScmFpache.maven.scm.CommandParameters) */ - public ChangeLogScmResult changelog( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (ChangeLogScmResult) new StarteamChangeLogCommand().execute( repository, fileSet, parameters ); + StarteamChangeLogCommand command = new StarteamChangeLogCommand(); + + command.setLogger( getLogger() ); + + return (ChangeLogScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.ileSet fileSet ) - throws ScmException; + ScmProvider getProviderByType( String providerType ) + throws NoSuchScmProviderException; - StatusScmResult status( ScmRepository repository, ScmFileSet fileSet ) - throws ScmException; + ScmProvider getProviderByRepository( ScmRepository repository ) + throws NoSuchScmProviderException; } Modified: maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java (original) +++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/AbstractScmProvider.java Tue Jul 26 02:16:45 2005 @@ -16,72 +16,42 @@ * limitations under thescm.ScmFileSet, org.apache.maven.scm.CommandParameters) */ - public CheckInScmResult checkin( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (CheckInScmResult) new StarteamCheckInCommand().execute( repository, fileSet, parameters ); + StarteamCheckInCommand command = new StarteamCheckInCommand(); + + command.setLogger( getLogger() ); + + return (CheckInScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.repository.ScmRepository, org.apache.m License. */ +import org.apache.maven.scm.CommandParameter; import org.apache.maven.scm.CommandParameters; import org.apache.maven.scm.NoSuchCommandScmException; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.ScmResult; +import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.command.remove.RemoveScmResult; +import org.apache.maven.scm.command.status.StatusScmResult; +import org.apache.maven.scm.command.tag.TagScmResult; +import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.log.ScmLogDispatcher; import org.apache.maven.scm.log.ScmLogger; +import org.apache.maven.scm.login.LoginScmResult; +import org.apache.maven.scm.repository.Saven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) */ - public CheckOutScmResult checkout( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (CheckOutScmResult) new StarteamCheckOutCommand().execute( repository, fileSet, parameters ); + StarteamCheckOutCommand command = new StarteamCheckOutCommand(); + + command.setLogger( getLogger() ); + + return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#diff(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#diff(org.apache.maven.scm.repository.ScmRepository, org.apcmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; -import org.apache.maven.scm.command.Command; import java.io.File; -import java.util.Collections; -import java.util.Iterator; -import java.util.Map; +import java.util.Date; import java.util.List; import java.util.ArrayList; /** * @author Trygve Laugstøl + * @author Emmanuel Venisse * @version $Id$ */ public abstract class AbstractScmProvider implements ScmProvider { - private boolean isInitialized; - private ScmLogDispatcher logDispatcher = new ScmLogDispatcher(); - private Map cmds; - - protected abstract Map getCommands(); - - // ---------------------------------------------------------------------- - // Component Lifecycle - // ---------------------------------------------------------------------- - - public final void initialize(ache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) */ - public DiffScmResult diff( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (DiffScmResult) new StarteamDiffCommand().execute( repository, fileSet, parameters ); + StarteamDiffCommand command = new StarteamDiffCommand(); + + command.setLogger( getLogger() ); + + return (DiffScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet,) - { - cmds = getCommands(); - - if ( cmds == null ) - { - cmds = Collections.EMPTY_MAP; - } - - if ( cmds.size() == 0 ) - { - logDispatcher.warn( "No SCM commands defined for SCM type " + getScmType() ); - } - - if ( logDispatcher.isDebugEnabled() ) - { - logDispatcher.debug( "Registered " + getScmType() + " SCM:" ); - - for ( Iterator it = cmds.keySet().iterator(); it.hasNext(); ) - { - String name = (String) it.next(); - - logDispatcher.debug( " " + name ); - } - } - - isInitialized = true; - } - // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- @@ -106,38 +76,229 @@ // Scm Implementation // ---------------------------------------------------------------------- - public ScmResult execute( String comm org.apache.maven.scm.CommandParameters) */ - public StatusScmResult status( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (StatusScmResult) new StarteamStatusCommand().execute( repository, fileSet, parameters ); + StarteamStatusCommand command = new StarteamStatusCommand(); + + command.setLogger( getLogger() ); + + return (StatusScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maandName, ScmProviderRepository repository, ScmFileSet fileSet, - CommandParameters parameters ) + /** + * @see org.apache.maven.scm.provider.ScmProvider#add(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet) + */ + public AddScmResult add( ScmRepository repository, ScmFileSet fileSet ) throws ScmException { - Command command = getCommand( commandName ); + login( repository, fileSet ); - return command.execute( repository, fileSet, parameters ); + CommandParameters parameters = new CommandParameters(); + + // TODO: is message reasonable? + parameters.setString( CommandParameter.MESSAGE, "" ); + + // TODO: binary may be dependant on particular files though + // TODO: set boolean? + parameters.setString( CommandParameter.BINARY, "false" ); + + return add( repository, fileSet, parameters ); } - // ---------------------------------------------------ven.scm.CommandParameters) */ - public TagScmResult tag( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (TagScmResult) new StarteamTagCommand().execute( repository, fileSet, parameters ); + StarteamTagCommand command = new StarteamTagCommand(); + + command.setLogger( getLogger() ); + + return (TagScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } /** - * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) */------------------- - // - // ---------------------------------------------------------------------- + protected AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "add" ); + } - protected Command getCommand( String name ) + /** + * @see org.apache.maven.scm.provider.ScmProvider#changeLog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.util.Date, java.util.Date, int, java.lang.String) + */ + public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, + int numDays, String branch ) throws ScmException { - if ( !isInitialized ) - { - initialize(); - } + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); - Command command = - public UpdateScmResult update( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) throws ScmException { - return (UpdateScmResult) new StarteamUpdateCommand().execute( repository, fileSet, parameters ); - } + StarteamUpdateCommand command = new StarteamUpdateCommand(); + command.setLogger( getLogger() ); + + return (UpdateScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java?rev=225265&r1=225264&r2=225265&view=dif(Command) cmds.get( name ); + parameters.setDate( CommandParameter.START_DATE, startDate ); - if ( command == null ) + parameters.setDate( CommandParameter.END_DATE, endDate ); + + parameters.setString( CommandParameter.BRANCH, branch ); + + return changelog( repository, fileSet, parameters ); + } + + protected ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "changelog" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#checkIn(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.lang.String, java.lang.String) + */ + public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message ) + throws ScmException + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + +f ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommand.java Tue Jul 26 02:16:45 2005 @@ -28,7 +28,6 @@ import org.apache.maven.scm.provider.starteam.command.StarteamCommandLineUtils; import org.apache.maven.scm.provider.starteam.command.checkin.StarteamCheckInConsumer; import org.apache.maven.scm.provider.starteam.repository.StarteamScmProviderRepository; -import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -42,7 +41,7 @@ implements StarteamCommand { protected ScmResult executeRemoveCommand( ScmProviderRepository repo, ScmFileSet file parameters.setString( CommandParameter.TAG, tag ); + + parameters.setString( CommandParameter.MESSAGE, message ); + + return checkin( repository, fileSet, parameters ); + } + + protected CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "checkin" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#checkOut(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.lang.String) + */ + public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag ) + throws ScmException + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + + parameters.setString( CommandParameter.TAG, tag ); + + return checkout( repository, fileSet, parameters ); + } + + protected CheckOutScmResult checkout( ScmRSet, String message ) - throws ScmException + throws ScmException { getLogger().info( "Working directory: " + fileSet.getBasedir().getAbsolutePath() ); @@ -63,23 +62,23 @@ if ( exitCode != 0 ) { - return new RemoveScmResult( "The starteam command failed.", stderr.getOutput(), false ); + return new RemoveScmResult( "The starteam command failed.", stderr.getOutput(), false ); } } else { - //update only interested files already on the local disk - for ( int i = 0; i < checkInFiles.length; ++i ) - { - Commandline cl = createCommandLine( repository, checkInFiles[i] ); - - int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() ); - - if ( exitCode != 0 ) - { - return new RemoveScmResult( "The starteam command failed.", stderr.getOutput(), false ); - } - } + epository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "checkout" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#diff(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.lang.String, java.lang.String) + */ + public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision ) + throws ScmException + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + + parameters.setString( CommandParameter.START_REVISION, startRevision ); + + parameters.setString( CommandParameter.END_REVISION, endRevision ); + + return diff( repository, fileSet, parameters ); + } + + protected DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "diff" ); + } + + private void login( ScmRepository repository, ScmFileSet fileSet ) + throws ScmException + { + LoginScmResult result = login( repository, fileSet, new CommandParameters() ); + + if ( !result.isSuccess() ) { - throw new NoSuchCommandScmException( name ); + throw new ScmException( "Can't login.\n" + result.getCommandOutput() ); } + } + + protected LoginScmResult login( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + LoginScmResult result = new LoginScmResult( null, null, true ); + + return result; + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#remove(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.lang.String) + */ + public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message ) + throws ScmExceptio//update only interested files already on the local disk + for ( int i = 0; i < checkInFiles.length; ++i ) + { + Commandline cl = createCommandLine( repository, checkInFiles[i] ); + + int exitCode = StarteamCommandLineUtils.executeCommandline( cl, consumer, stderr, getLogger() ); + + if ( exitCode != 0 ) + { + return new RemoveScmResult( "The starteam command failed.", stderr.getOutput(), false ); + } + } } return new RemoveScmResult( consumer.getCheckedInFiles() ); @@ -88,20 +87,20 @@ public static Commandline createCommandLine( StarteamScmProviderRepository repo, File dirOrFile ) { - Commandline cl = StarteamCommandLineUtils.createStarteamBaseCommandLine( "remove", dirOrFile, repo ); + Commandline cl = StarteamCommandLineUtils.createStarteamBaseCommandLine( "remove", dirOrFile, repo ); - if ( dirOrFile.isDirectory() ) - { - cn + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + + parameters.setString( CommandParameter.MESSAGE, message == null ? "" : message ); + + return remove( repository, fileSet, parameters ); + } + + protected RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "remove" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#status(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet) + */ + public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet ) + throws ScmException + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + + return status( repository, fileSet, parameters ); + } + + protected StatusScmResult status( ScmRepository repository, ScmFilel.createArgument().setValue( "-is" ); - } - else - { - cl.createArgument().setValue( dirOrFile.getName() ); - } + if ( dirOrFile.isDirectory() ) + { + cl.createArgument().setValue( "-is" ); + } + else + { + cl.createArgument().setValue( dirOrFile.getName() ); + } - //remove working file(s) - //cl.createArgument().setValue( "-df" ); + //remove working file(s) + //cl.createArgument().setValue( "-df" ); - return cl; + return cl; } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/srcSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "status" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#tag(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, java.lang.String) + */ + public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag ) + throws ScmException + { + login( repository, fileSet ); + + CommandParameters parameters = new CommandParameters(); + + parameters.setString( CommandParameter.TAG, tag ); + + return tag( repository, fileSet, parameters ); + } - command.setLogger( logDispatcher ); + protected TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + throw new NoSuchCommandScmException( "tag" ); + } + + /** + * @see org.apache.maven.scm.provider.ScmProvider#update(org.apache.maven/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,71 +1,9 @@ - org.apache.maven.scm.provider.ScmProvider starteam org.apache.maven.scm.provider.starteam.StarteamScmProvider - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - commands - - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - change-log - org.apache.maven.scm.provider.starteam.command.changelog.StarteamChangeLogCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - check-out - org.apache.maven.scm.provider.starteam.command.checkout.StarteamCheckOutCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - update - org.apache.maven.scm.provider.starteam.command.update.StarteamUpdateCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - tag - org.apache.maven.scm.provider.starteam.command.tag.StarteamTagCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - status - org.apache.maven.scm.provider.starteam.command.status.StarteamStatusComman/src/main/java/org/apache/maven/scm/provider/ScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java (original) +++ maven/scm/trunk/maven-scm-api/src/main/java/org/apache/maven/scm/provider/ScmProvider.java Tue Jul 26 02:16:45 2005 @@ -17,13 +17,24 @@ */ import java.io.File; +import java.util.Date; import java.util.List; import org.apache.maven.scm.CommandParameters; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.ScmResult; +import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.commad - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - add - org.apache.maven.scm.provider.starteam.command.add.StarteamAddCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - check-in - org.apache.maven.scm.provider.starteam.command.checkin.StarteamCheckInCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - diff - org.apache.maven.scm.provider.starteam.command.diff.StarteamDiffCommand - - - - org.apache.maven.scm.provider.starteam.command.StarteamCommand - remove - org.apache.maven.nd.checkout.CheckOutScmResult; +import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.command.remove.RemoveScmResult; +import org.apache.maven.scm.command.status.StatusScmResult; +import org.apache.maven.scm.command.tag.TagScmResult; +import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.log.ScmLogger; +import org.apache.maven.scm.login.LoginScmResult; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; @@ -47,7 +58,31 @@ List validateScmUrl( String scmSpecificUrl, char delimiter ); - ScmResult execute( String commandName, ScmProviderRepository repository, ScmFileSet fileSet, - CommandParameters parameters ) + AddScmResult add( ScmRepository repository, ScmFileSet fileSet ) + throws ScmException; + + ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSscm.provider.starteam.command.remove.StarteamRemoveCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommandTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommandTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveCommandTest.java Tue Jul 26 02:16:45 2005 @@ -32,44 +32,37 @@ public claet fileSet, Date startDate, Date endDate, + int numDays, String branch ) + throws ScmException; + + CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message ) + throws ScmException; + + CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag ) + throws ScmException; + + DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision ) + throws ScmException; + + RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, String message ) + throws ScmException; + + StatusScmResult status( ScmRepository repository, ScmFileSet fileSet ) + throws ScmException; + + TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag ) + throws ScmException; + + UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag ) throws ScmException; } Modified: ss StarteamRemoveCommandTest extends ScmTestCase { - + public void testGetCommandLineWithFileOnRoot() throws Exception { - File testFile = new File( "testfile" ); + File testFile = new File( "testfile" ); + + File testFileDir = testFile.getAbsoluteFile().getParentFile(); + + String testFileDirAbsolutePath = StarteamCommandLineUtils.toJavaPath( testFileDir.getAbsolutePath() ); - File testFileDir= testFile.getAbsoluteFile().getParentFile(); + String expectedCmd = "stcmd remove -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl" + " -fp " + + testFileDirAbsolutePath + " testfile"; - String testFileDirAbsolutePath = StarteamCommandLineUtils.toJavaPath( testFileDir.getAbsolutePath() ); - - String expectedCmd = "stcmd remove -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl" + - " -fp " + testFileDirAbsolutePath + " testfile" ; - - testCommandLine( "scm:maven/scm/trunk/maven-scm-client/pom.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-client/pom.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-client/pom.xml (original) +++ maven/scm/trunk/maven-scm-client/pom.xml Tue Jul 26 02:16:45 2005 @@ -9,13 +9,33 @@ Maven SCM Client - plexus - plexus-scm - 1.0-alpha-1-SNAPSHOT + org.apache.maven.scm + maven-scm-manager-plexus + 1.0-alpha-2-SNAPSHOT + + + org.apache.maven.scm + maven-scm-provider-clearcase + 1.0-alpha-2-SNAPSHOT org.apache.maven.scm mavenstarteam:myusername:mypassword@myhost:1234/projecturl", - testFile, - "", - expectedCmd ); + testCommandLine( "scm:starteam:myusername:mypassword@myhost:1234/projecturl", testFile, "", expectedCmd ); } public void testGetCommandLineWithFileInSubDir() throws Exception { - File testFile = new File( "target/testfile" ); + File testFile = new File( "target/testfile" ); + + File testFileDir = testFile.getAbsoluteFile().getParentFile(); + + String testFileDirAbsolutePath = StarteamCommandLineUtils.toJavaPath( testFileDir.getAbsolutePath() ); - File testFileDir= testFile.getAbsoluteFile().getParentFile(); + String expectedCmd = "stcmd remove -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl/target" + + " -fp " + testFileDirAbsolutePath + " testfile"; - String testFileDirAbsolutePath = StarteamCommandLineUtils.toJavaPath( testFileDir.getAbsolut-scm-provider-cvs + 1.0-alpha-2-SNAPSHOT + + + org.apache.maven.scm + maven-scm-provider-local + 1.0-alpha-2-SNAPSHOT + + + org.apache.maven.scm + maven-scm-provider-perforce + 1.0-alpha-2-SNAPSHOT + + + org.apache.maven.scm + maven-scm-provider-starteam 1.0-alpha-2-SNAPSHOT Modified: maven/scm/trunk/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================ePath() ); - - String expectedCmd = "stcmd remove -x -nologo -stop -p myusername:mypassword@myhost:1234/projecturl/target" + - " -fp " + testFileDirAbsolutePath + - " testfile" ; - - testCommandLine( "scm:starteam:myusername:mypassword@myhost:1234/projecturl", - testFile, - null, - expectedCmd ); + testCommandLine( "scm:starteam:myusername:mypassword@myhost:1234/projecturl", testFile, null, expectedCmd ); } @@ -77,15 +70,15 @@ // // ---------------------------------------------------------------------- - private void testCommandLine( String scmUrl, File fileName , String crPath, String commandLine ) + private void testCommandLine( String scmUrl, File fileName, String crPath, String commandLine ) throws Exception { ScmRepository repo = getScmManager().makeScmRepository( scmUrl ); StarteamScmProviderRepository repository =================== --- maven/scm/trunk/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java (original) +++ maven/scm/trunk/maven-scm-client/src/main/java/org/apache/maven/scm/client/cli/MavenScmCli.java Tue Jul 26 02:16:45 2005 @@ -27,16 +27,17 @@ import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.manager.NoSuchScmProviderException; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.codehaus.plexus.embed.Embedder; -import org.codehaus.plexus.scm.NoSuchScmProviderException; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.StringUtils; /** * @author Trygve Laugstøl + * @author Em (StarteamScmProviderRepository) repo.getProviderRepository(); - Commandline cl = StarteamRemoveCommand.createCommandLine( repository, fileName); + Commandline cl = StarteamRemoveCommand.createCommandLine( repository, fileName ); assertEquals( commandLine, cl.toString() ); } - } +} Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumerTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumerTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumerTest.java (original) +++ maven/scm/trunk/maven-scm-providmanuel Venisse * @version $Id$ */ public class MavenScmCli @@ -65,7 +66,7 @@ { plexus.stop(); } - catch( Exception ex ) + catch ( Exception ex ) { // ignore } @@ -83,11 +84,11 @@ { cli = new MavenScmCli(); } - catch( Exception ex ) + catch ( Exception ex ) { System.err.println( "Error while starting Maven Scm." ); - ex.printStackTrace( System.err ); + ex.printStackTrace( System.err ); return; } @@ -103,11 +104,11 @@ return; } - command = args[ 0 ]; + command = args[0]; - File workingDirectory = new File( args[ 1 ] ); + File workingDirectory = new File( args[1] ); - scmUrl = args[ 2 ]; + scmUrl = args[2]; String tag = null; @@ -134,7 +135,7 @@ return; } - catch( ScmRepositoryException ex ) + caers/maven-scm-provider-starteam/src/test/java/org/apache/maven/scm/provider/starteam/command/remove/StarteamRemoveConsumerTest.java Tue Jul 26 02:16:45 2005 @@ -1,4 +1,5 @@ package org.apache.maven.scm.provider.starteam.command.remove; + /* * Copyright 2001-2005 The Apache Software Foundation. * @@ -31,29 +32,27 @@ public class StarteamRemoveConsumerTest extends ScmTestCase { - private static String [] TEST_OUTPUT = - { + private static String[] TEST_OUTPUT = { "Folder: driver (working dir: /usr/scm-starteam/driver)", - "maven.xml: removed", + "maven.xml: removed", "Folder: driver (working dir: /usr/scm-starteam/driver/target/checkout)", - "maven.xml: removed", - "project.properties: removed", - "project.xml: removed", + "maven.xml: removed", + "project.properties: removed", + "project.xml: removed", "Folder: bootstrap (working dir: /usr/scm-starteam/driver/target/checkout/bootstrap)", - "maven.xml: removed", - "project.prtch ( ScmRepositoryException ex ) { System.err.println( "Error while connecting to the repository" ); @@ -162,10 +163,10 @@ System.err.println( "Unknown SCM command '" + command + "'." ); } } - catch( ScmException ex ) + catch ( ScmException ex ) { System.err.println( "Error while executing the SCM command." ); - + ex.printStackTrace( System.err ); return; @@ -188,12 +189,14 @@ if ( !workingDirectory.mkdirs() ) { - System.err.println( "Error while making the working directory: '" + workingDirectory.getAbsolutePath() + "'." ); + System.err.println( "Error while making the working directory: '" + workingDirectory.getAbsolutePath() + + "'." ); return; } - CheckOutScmResult result = scmManager.checkOut( scmRepository, new ScmFileSet( workingDirectory ), tag ); + Cheoperties: removed", - "project.xml: removed" - }; + "maven.xml: removed", + "project.properties: removed", + "project.xml: removed" }; public void testParse() throws Exception { - - File basedir = new File( "/usr/scm-starteam/driver" ); - + + File basedir = new File( "/usr/scm-starteam/driver" ); + StarteamRemoveConsumer consumer = new StarteamRemoveConsumer( new DefaultLog(), basedir ); - for ( int i = 0; i < TEST_OUTPUT.length; ++ i ) + for ( int i = 0; i < TEST_OUTPUT.length; ++i ) { consumer.consumeLine( TEST_OUTPUT[i] ); } @@ -67,12 +66,11 @@ for ( Iterator i = entries.iterator(); i.hasNext(); ) { entry = (ScmFile) i.next(); - - assertTrue ( entry.getPath().startsWith("./") ); - + + assertTrue( entry.getPath().startsWith( "./" ) ); + assertTrue( entry.getStatus() == ScmFileStatus.DELETED ); ckOutScmResult result = scmManager.getProviderByRepository( scmRepository ) + .checkOut( scmRepository, new ScmFileSet( workingDirectory ), tag ); if ( !result.isSuccess() ) { @@ -226,7 +229,8 @@ String message = ""; - CheckInScmResult result = scmManager.checkIn( scmRepository, new ScmFileSet( workingDirectory ), tag, message ); + CheckInScmResult result = scmManager.getProviderByRepository( scmRepository ) + .checkIn( scmRepository, new ScmFileSet( workingDirectory ), tag, message ); if ( !result.isSuccess() ) { @@ -257,7 +261,8 @@ return; } - UpdateScmResult result = scmManager.update( scmRepository, new ScmFileSet( workingDirectory ), tag ); + UpdateScmResult result = scmManager.getProviderByRepository( scmRepository ) + .update( scmRepository, new ScmFileSet( workingDirectory ), tag ); if ( !result.isSuccess() ) { Propchange: maven/scm/trunk/maven- } - - + } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/SvnScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/SvnScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/SvnScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/SvnScmProvider.java Tue Jul 26 02:16:45 2005 @@ -16,18 +16,39 @@ * limitations under the License. */ +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.add.AddScmResult; +import org.apascm-managers/maven-scm-manager-plexus/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Tue Jul 26 02:16:45 2005 @@ -1,2 +1,3 @@ .classpath .project +target Modified: maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java (original) +++ maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/java/org/apache/maven/scm/manager/plexus/DefaultScmManager.java Tue Jul 26 02:16:45 2005 @@ -16,22 +16,6 @@ * limitations under the Licenseche.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.command.remove.RemoveScmResult; +import org.apache.maven.scm.command.status.StatusScmResult; +import org.apache.maven.scm.command.tag.TagScmResult; +import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.provider.AbstractScmProvider; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.svn.command.add.SvnAddCommand; +import org.apache.maven.scm.provider.svn.command.changelog.SvnChangeLogCommand; +import org.apache.maven.scm.provider.svn.command.checkin.SvnCheckInCommand; +import org.apache.maven.scm.provider.svn.command.checkout.SvnCheckOutCommand; +import org.apache.maven.scm.provider.svn.command.diff.SvnDiffCommand; +import org.apache.maven.scm.provider.svn.command.re. */ -import org.apache.maven.scm.CommandNameConstants; -import org.apache.maven.scm.CommandParameter; -import org.apache.maven.scm.CommandParameters; -import org.apache.maven.scm.NoSuchCommandScmException; -import org.apache.maven.scm.ScmException; -import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.ScmResult; -import org.apache.maven.scm.command.add.AddScmResult; -import org.apache.maven.scm.command.changelog.ChangeLogScmResult; -import org.apache.maven.scm.command.checkin.CheckInScmResult; -import org.apache.maven.scm.command.checkout.CheckOutScmResult; -import org.apache.maven.scm.command.diff.DiffScmResult; -import org.apache.maven.scm.command.status.StatusScmResult; -import org.apache.maven.scm.command.tag.TagScmResult; -import org.apache.maven.scm.command.update.UpdateScmResult; -import org.apache.maven.scm.log.ScmLogger; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.manager.NoSuchScmProviderException; import org.apache.maven.scm.provider.ScmProvidmove.SvnRemoveCommand; +import org.apache.maven.scm.provider.svn.command.status.SvnStatusCommand; +import org.apache.maven.scm.provider.svn.command.tag.SvnTagCommand; +import org.apache.maven.scm.provider.svn.command.update.SvnUpdateCommand; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.provider.svn.util.EntriesReader; import org.apache.maven.scm.provider.svn.util.Entry; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; import java.io.File; import java.io.FileReader; import java.util.Iterator; -import java.util.Map; import java.util.List; import java.util.ArrayList; @@ -38,9 +59,6 @@ public class SvnScmProvider extends AbstractScmProvider { - /** @requirement org.apache.maven.scm.CvsCommand */ - private Map commands; - // -----------------------------------------------------------------er; @@ -44,9 +28,7 @@ import java.io.File; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; -import java.util.Iterator; import java.util.List; import java.util.Map; @@ -62,11 +44,9 @@ { private Map scmProviders; - private List loggers = new ArrayList(); - - private final static String ILLEGAL_SCM_URL = "The scm url must be on the form " + - "'scm:' " + - "where can be either ':' or '|'."; + private final static String ILLEGAL_SCM_URL = "The scm url must be on the form " + + "'scm:' " + + "where can be either ':' or '|'."; // ---------------------------------------------------------------------- // Component Lifecycle @@ -89,6 +69,4----- // // ---------------------------------------------------------------------- @@ -98,7 +116,7 @@ EntriesReader entriesReader = new EntriesReader(); List entries = entriesReader.read( reader ); - + for ( Iterator i = entries.iterator(); i.hasNext(); ) { Entry svnEntry = (Entry) i.next(); @@ -109,7 +127,7 @@ } } } - catch( Exception e ) + catch ( Exception e ) { ScmRepositoryException ex = new ScmRepositoryException( "Can't read " + svnEntriesFile.getAbsolutePath() ); @@ -128,15 +146,6 @@ return result.messages; } - // ---------------------------------------------------------------------- - // AbstractScmProvider Implementation - // ---------------------------------------------------------------------- - - protected Map getCommands() - { - return commands; - } - public String getScmType() 0 @@ // ScmManager Implementation // ---------------------------------------------------------------------- + public ScmProvider getProviderByUrl( String scmUrl ) + throws ScmRepositoryException, NoSuchScmProviderException + { + if ( scmUrl == null ) + { + throw new NullPointerException( "The scm url cannot be null." ); + } + + char delimiter = findDelimiter( scmUrl ); + + String providerType = scmUrl.substring( 4, scmUrl.indexOf( delimiter, 4 ) ); + + return getProviderByType( providerType ); + } + + public ScmProvider getProviderByType( String providerType ) + throws NoSuchScmProviderException + { + ScmProvider scmProvider = (ScmProvider) scmProviders.get( providerType ); + + if ( scmProvider == null ) + { + throw new NoSuchScmProviderException( providerType ); + } + + return scmProvider; + } + + public ScmProvider getProviderByRepository( ScmRepository repository{ return "svn"; @@ -238,5 +247,122 @@ result.repository = new SvnScmProviderRepository( url, user, password ); return result; + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnAddCommand command = new SvnAddCommand(); + + command.setLogger( getLogger() ); + + return (AddScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileS ) + throws NoSuchScmProviderException + { + return getProviderByType( repository.getProvider() ); + } + // ---------------------------------------------------------------------- // Repository // ---------------------------------------------------------------------- @@ -105,7 +119,7 @@ String providerType = scmUrl.substring( 4, scmUrl.indexOf( delimiter, 4 ) ); - ScmProvider provider = getScmProvider( providerType ); + ScmProvider provider = getProviderByType( providerType ); String scmSpecificUrl = scmUrl.substring( providerType.length() + 5 ); @@ -122,7 +136,7 @@ throw new NullPointerException( "The provider type cannot be null." ); } - ScmProvider provider = getScmProvider( providerType ); + ScmProvider provider = getProviderByType( providerType ); ScmProviderRepository providerRepository = provider.makeProviderScmRepository( path ); @@ -152,9 +166,6 @@ return messages;et, CommandParameters parameters ) + throws ScmException + { + SvnChangeLogCommand command = new SvnChangeLogCommand(); + + command.setLogger( getLogger() ); + + return (ChangeLogScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnCheckInCommand command = new SvnCheckInCommand(); + + command.setLogger( getLogger() ); + + return (CheckInScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.repository.ScmRepository, o } - // TODO: don't assume that the delimiter is eitgher ':' or '|' or - // require the scm delimiter to be ':' or '|' - char delimiter; try @@ -174,7 +185,7 @@ try { - provider = getScmProvider( providerType ); + provider = getProviderByType( providerType ); } catch ( NoSuchScmProviderException e ) { @@ -198,156 +209,6 @@ } // ---------------------------------------------------------------------- - // Scm commands - // ---------------------------------------------------------------------- - - public CheckOutScmResult checkOut( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setString( CommandParameter.TAG, tag ); - - ScmResult scmResult = execute( CommandNameConstants.CHECK_OUT, repository, fileSet, parameters ); - - return (Checkrg.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnCheckOutCommand command = new SvnCheckOutCommand(); + + command.setLogger( getLogger() ); + + return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#diff(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnDiffCommand command = new SvnDiffCommand(); + + command.setLogger( getLogger() ); + + return (DiffScmResult) command.execute( repository.getProviderRepository(), fileSet, parametersOutScmResult) checkScmResult( CheckOutScmResult.class, scmResult ); - } - - public CheckInScmResult checkIn( ScmRepository repository, ScmFileSet fileSet, String tag, String message ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setString( CommandParameter.TAG, tag ); - - parameters.setString( CommandParameter.MESSAGE, message ); - - ScmResult scmResult = execute( CommandNameConstants.CHECK_IN, repository, fileSet, parameters ); - - return (CheckInScmResult) checkScmResult( CheckInScmResult.class, scmResult ); - } - - public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setString( CommandParameter.TAG, tag ); - - ScmResult scmResult = execute( CommandNameConstants.TAG, repository, fileSet, parameters ); - - return (TagScmResult) checkS ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnRemoveCommand command = new SvnRemoveCommand(); + + command.setLogger( getLogger() ); + + return (RemoveScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnStatusCommand command = new SvnStatusCommand(); + + cmResult( TagScmResult.class, scmResult ); - } - - public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, String tag ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setString( CommandParameter.TAG, tag ); - - ScmResult scmResult = execute( CommandNameConstants.UPDATE, repository, fileSet, parameters ); - - return (UpdateScmResult) checkScmResult( UpdateScmResult.class, scmResult ); - } - - public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, String startRevision, String endRevision ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setString( CommandParameter.START_REVISION, startRevision ); - - parameters.setString( CommandParameter.END_REVISION, endRevision ); - - ScmResult scmResult = execute( CommandNameConstants.DIFF, repository, fileSet, parameters ); - - return (Diffcommand.setLogger( getLogger() ); + + return (StatusScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + SvnTagCommand command = new SvnTagCommand(); + + command.setLogger( getLogger() ); + + return (TagScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParametScmResult) checkScmResult( DiffScmResult.class, scmResult ); - } - - public ChangeLogScmResult changeLog( ScmRepository repository, ScmFileSet fileSet, Date startDate, Date endDate, - int numDays, String branch ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - parameters.setDate( CommandParameter.START_DATE, startDate ); - - parameters.setDate( CommandParameter.END_DATE, endDate ); - - parameters.setString( CommandParameter.BRANCH, branch ); - - ScmResult scmResult = execute( CommandNameConstants.CHANGE_LOG, repository, fileSet, parameters ); - - return (ChangeLogScmResult) checkScmResult( ChangeLogScmResult.class, scmResult ); - } - - public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - ScmResult scmResult = execute( CommandNameConsers parameters ) + throws ScmException + { + SvnUpdateCommand command = new SvnUpdateCommand(); + + command.setLogger( getLogger() ); + + return (UpdateScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,59 +1,9 @@ - org.apache.maventants.STATUS, repository, fileSet, parameters ); - - return (StatusScmResult) checkScmResult( StatusScmResult.class, scmResult ); - } - - public AddScmResult add( ScmRepository repository, ScmFileSet fileSet ) - throws ScmException - { - CommandParameters parameters = new CommandParameters(); - - // TODO: is message reasonable? - parameters.setString( CommandParameter.MESSAGE, "" ); - - // TODO: binary may be dependant on particular files though - // TODO: set boolean? - parameters.setString( CommandParameter.BINARY, "false" ); - - ScmResult scmResult = execute( CommandNameConstants.ADD, repository, fileSet, parameters ); - - return (AddScmResult) checkScmResult( AddScmResult.class, scmResult ); - } - - public void addListener( ScmLogger logger ) - throws NoSuchScmProviderException - { - loggers.add( logger ); - } - - // ---------------------------------------------------------------------- - // - .scm.provider.ScmProvider svn org.apache.maven.scm.provider.svn.SvnScmProvider - - - org.apache.maven.scm.provider.svn.command.SvnCommand - commands - - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - add - org.apache.maven.scm.provider.svn.command.add.SvnAddCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - check-in - org.apache.maven.scm.provider.svn.command.checkin.SvnCheckInCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - check-out - // ---------------------------------------------------------------------- - - private ScmResult execute( String commandName, ScmRepository repository, ScmFileSet fileSet, - CommandParameters parameters ) - throws ScmException - { - if ( !CommandNameConstants.LOGIN.equals( commandName ) ) - { - try - { - execute( CommandNameConstants.LOGIN, repository, fileSet, parameters ); - } - catch ( NoSuchCommandScmException e ) - { - // ignored : provider doesn't have a login command - } - } - - ScmProvider scmProvider = getScmProvider( repository.getProvider() ); - - for ( Iterator i = loggers.iterator(); i.hasNext(); ) - { - ScmLogger logger = (ScmLogger) i.next(); - - scmProvider.addListener( logger ); - } - - return scmProvider.execute( commandName, repository.getProviderRepository(), fileSet, parame org.apache.maven.scm.provider.svn.command.checkout.SvnCheckOutCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - diff - org.apache.maven.scm.provider.svn.command.diff.SvnDiffCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - status - org.apache.maven.scm.provider.svn.command.status.SvnStatusCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - tag - org.apache.maven.scm.provider.svn.command.tag.SvnTagCommand - - - - org.apache.maven.scm.provider.svn.command.SvnCommand - update - orgters ); - } - - // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- @@ -369,31 +230,5 @@ } return scmUrl.charAt( index ); - } - - private ScmProvider getScmProvider( String providerType ) - throws NoSuchScmProviderException - { - ScmProvider scmProvider = (ScmProvider) scmProviders.get( providerType ); - - if ( scmProvider == null ) - { - throw new NoSuchScmProviderException( providerType ); - } - - return scmProvider; - } - - private ScmResult checkScmResult( Class clazz, ScmResult scmResult ) - throws ScmException - { - if ( !clazz.isAssignableFrom( scmResult.getClass() ) ) - { - throw new ScmException( "Internal error: Wrong ScmResult returned. " + - "Expected: " + clazz.getName() + ". " + - "Got: " + .apache.maven.scm.provider.svn.command.update.SvnUpdateCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/checkout/SvnCheckOutCommandTest.java Tue Jul 26 02:16:45 2005 @@ -17,9 +17,9 @@ */ import org.apache.maven.scm.ScmTestCase; +impscmResult.getClass().getName() ); - } - - return scmResult; } } Modified: maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-managers/maven-scm-manager-plexus/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,8 +1,8 @@ - org.codehaus.plexus.scm.ScmManager - org.codehaus.plexus.scm.DefaultScmManager + org.apache.maven.scm.manager.ScmManager + org.ort org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.repository.ScmRepository; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.cli.Commandline; import java.io.File; Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/command/tag/SvnTagCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -16,11 +16,11 @@ * limitations under the License. */ +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.svn.SvnScmTestUtils; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.tag.TagCommandTckTest; -import org.codehaus.plexus.scm.ScmManager; import java.io.File; Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/test/java/org/apache/maven/scm/provider/svn/repository/SvnScmProviderRepositoryTest.java Tue Jul 26 02:16:45 2005 @@ -17,10 +17,10 @@ */ import org.apache.maven.scm.ScmTestCase; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.svn.SvnScmProvider; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; -import org.codehaus.plexus.scm.ScmManager; import java.io.File; Modified: maven/scm/trunk/maven-scm-test/pom.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/pom.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/pom.xml (original) +++ maven/scm/trunk/maven-scm-test/pom.xml Tue Jul 26 02:16:45 2005 @@ -14,9 +14,9 @@ 1.0-alpha-2-SNAPSHOT - plexus - plexus-scm - 1.0-alpha-1-SNAPSHOT + org.apache.maven.scm + maven-scm-manager-plexus + 1.0-alpha-2-SNAPSHOT Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/ScmTestCase.java Tue Jul 26 02:16:45 2005 @@ -17,9 +17,9 @@ */ import junit.framework.TestCase; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.cli.CommandLineUtils; Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkin/CheckInCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -23,9 +23,9 @@ import org.apache.maven.scm.command.add.AddScmResult; import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -107,8 +107,8 @@ FileUtils.deleteDirectory( repositoryRoot ); } - assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), - repositoryRoot.mkdirs() ); + assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot + .mkdirs() ); workingDirectory = getWorkingCopy(); @@ -117,8 +117,8 @@ FileUtils.deleteDirectory( workingDirectory ); } - assertTrue( "Could not make the workingapache.maven.scm.manager.plexus.DefaultScmManager org.apache.maven.scm.provider.ScmProvider Modified: maven/scm/trunk/maven-scm-plugin/pom.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/pom.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/pom.xml (original) +++ maven/scm/trunk/maven-scm-plugin/pom.xml Tue Jul 26 02:16:45 2005 @@ -11,9 +11,9 @@ 1.0-alpha-2-SNAPSHOT - plexus - plexus-scm - 1.0-alpha-1-SNAPSHOT + org.apache.maven.scm + maven-scm-manager-plexus + 1.0-alpha-2-SNAPSHOT org.apache.maven.scm Modified: maven/ directory: " + workingDirectory.getAbsolutePath(), - workingDirectory.mkdirs() ); + assertTrue( "Could not make the working directory: " + workingDirectory.getAbsolutePath(), workingDirectory + .mkdirs() ); assertionDirectory = getAssertionCopy(); @@ -136,7 +136,8 @@ repository = scmManager.makeScmRepository( getScmUrl() ); - CheckOutScmResult result = scmManager.checkOut( repository, new ScmFileSet( workingDirectory ), null ); + CheckOutScmResult result = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), null ); assertResultIsSuccess( result ); } @@ -164,13 +165,13 @@ changeReadmeTxt( readmeTxt ); - AddScmResult addResult = scmManager.add( repository, new ScmFileSet( workingDirectory, - "src/main/java/Foo.java", null ) ); + AddScmResult addResult = scscm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java Tue Jul 26 02:16:45 2005 @@ -21,9 +21,9 @@ import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository; import org.apache.maven.scm.repository.ScmRepository; -import org.codehaus.plexus.scm.ScmManager; import java.io.File; import java.io.IOException; @@ -85,7 +85,7 @@ prmManager.getProviderByUrl( getScmUrl() ) + .add( repository, new ScmFileSet( workingDirectory, "src/main/java/Foo.java", null ) ); assertResultIsSuccess( addResult ); - CheckInScmResult result = scmManager.checkIn( repository, new ScmFileSet( workingDirectory ), null, - "Commit message" ); + CheckInScmResult result = scmManager.getProviderByUrl( getScmUrl() ) + .checkIn( repository, new ScmFileSet( workingDirectory ), null, "Commit message" ); assertResultIsSuccess( result ); @@ -200,7 +201,8 @@ assertNull( result.getCommandOutput() ); - CheckOutScmResult checkoutResult = scmManager.checkOut( repository, new ScmFileSet( assertionDirectory ), null ); + CheckOutScmResult checkoutResult = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( assertionDirectory ), null ); assertResultIsSuccess( checkoutResult ); @@ -242,ivate String excludes; /** - * @parameter expression="${component.org.codehaus.plexus.scm.ScmManager}" + * @parameter expression="${component.org.apache.maven.scm.manager.ScmManager}" * @required * @readonly */ @@ -124,11 +124,11 @@ { ScmRepository repository; - getScmManager().addListener( new DefaultLog( getLog() ) ); - try { repository = getScmManager().makeScmRepository( getConnectionUrl() ); + + getScmManager().getProviderByRepository( repository ).addListener( new DefaultLog( getLog() ) ); if ( repository.getProvider().equals( "svn" ) ) { Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================14 +244,17 @@ changeReadmeTxt( readmeTxt ); - AddScmResult addResult = scmManager.add( repository, new ScmFileSet( workingDirectory, - "src/main/java/Foo.java", null ) ); + AddScmResult addResult = scmManager.getProviderByUrl( getScmUrl() ) + .add( repository, new ScmFileSet( workingDirectory, "src/main/java/Foo.java", null ) ); assertResultIsSuccess( addResult ); - CheckInScmResult result = scmManager.checkIn( repository, - new ScmFileSet( workingDirectory, "**/Foo.java", null ), null, - "Commit message" ); + CheckInScmResult result = scmManager.getProviderByUrl( getScmUrl() ).checkIn( repository, + new ScmFileSet( workingDirectory, + == --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckinMojo.java Tue Jul 26 02:16:45 2005 @@ -45,7 +45,9 @@ { ScmRepository repository = getScmRepository(); - CheckInScmResult result = getScmManager().checkIn( repository, getFileSet(), null, message ); + CheckInScmResult result = getScmManager().getProviderByRepository( repository ).checkIn( repository, + getFileSet(), + null, message ); checkResult( result ); } Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/ "**/Foo.java", + null ), + null, + "Commit message" ); assertResultIsSuccess( result ); @@ -273,7 +278,8 @@ assertNull( result.getCommandOutput() ); - CheckOutScmResult checkoutResult = scmManager.checkOut( repository, new ScmFileSet( assertionDirectory ), null ); + CheckOutScmResult checkoutResult = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( assertionDirectory ), null ); assertResultIsSuccess( checkoutResult ); Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/mamaven/scm/plugin/CheckoutMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/CheckoutMojo.java Tue Jul 26 02:16:45 2005 @@ -62,7 +62,9 @@ currentTag = tag; } - CheckOutScmResult result = getScmManager().checkOut( repository, getFileSet(), currentTag ); + CheckOutScmResult result = getScmManager().getProviderByRepository( repository ).checkOut( repository, + getFileSet(), + currentTag ); checkResult( result ); } Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/ven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/checkout/CheckOutCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -20,9 +20,9 @@ import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmTestCase; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -47,7 +47,7 @@ * @version $Id$ */ public abstract class CheckOutCommandTckTest - extends ScmTestCasapache/maven/scm/plugin/DiffMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/DiffMojo.java Tue Jul 26 02:16:45 2005 @@ -63,7 +63,10 @@ { ScmRepository repository = getScmRepository(); - DiffScmResult result = getScmManager().diff( repository, getFileSet(), startRevision, endRevision ); + DiffScmResult result = getScmManager().getProviderByRepository( repository ).diff( repository, + getFileSet(), + e + extends ScmTestCase { private File workingDirectory; @@ -56,7 +56,7 @@ // ---------------------------------------------------------------------- public abstract String getScmUrl() - throws Exception; + throws Exception; /** * Copy the existing checked in repository to the working directory. @@ -66,7 +66,7 @@ * @throws Exception */ public abstract void initRepo() - throws Exception; + throws Exception; // ---------------------------------------------------------------------- // Directories the test must use @@ -94,7 +94,8 @@ FileUtils.deleteDirectory( repositoryRoot ); } - assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot.mkdirs() ); + assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot + .mkdirs() ); workingDirectory = getWorkingCopy(); @@ -1startRevision, + endRevision ); checkResult( result ); Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/StatusMojo.java Tue Jul 26 02:16:45 2005 @@ -41,7 +41,8 @@ { ScmRepository repository = getScmRepository(); - StatusScmResult result = getScmManager().status( repository, getFileSet() ); + StatusScmResult result = getScmManager().getProviderByRepository( repository ).status( rep03,7 +104,8 @@ FileUtils.deleteDirectory( workingDirectory ); } - assertTrue( "Could not make the working directory: " + workingDirectory.getAbsolutePath(), workingDirectory.mkdirs() ); + assertTrue( "Could not make the working directory: " + workingDirectory.getAbsolutePath(), workingDirectory + .mkdirs() ); initRepo(); } @@ -117,7 +119,8 @@ ScmRepository repository = scmManager.makeScmRepository( getScmUrl() ); - CheckOutScmResult result = scmManager.checkOut( repository, new ScmFileSet( workingDirectory ), tag ); + CheckOutScmResult result = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), tag ); assertResultIsSuccess( result ); Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maveository, + getFileSet() ); checkResult( result ); } Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/TagMojo.java Tue Jul 26 02:16:45 2005 @@ -45,7 +45,8 @@ { ScmRepository repository = getScmRepository(); - TagScmResult result = getScmManager().tag( repository, getFileSet(), tag ); + TagScmResult result = getScmManager().getProviderByRepository( repository ).tag( repository, gen/scm/tck/command/diff/DiffCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/diff/DiffCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -23,9 +23,9 @@ import org.apache.maven.scm.command.add.AddScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -41,14 +41,14 @@ * @version $Id$ */ public abstract class DiffCommandTckTest - extends ScmTestCase + extends ScmTestCase { // -tFileSet(), + tag ); checkResult( result ); } Modified: maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java (original) +++ maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/UpdateMojo.java Tue Jul 26 02:16:45 2005 @@ -62,7 +62,9 @@ currentTag = tag; } - UpdateScmResult result = getScmManager().update( repository, getFileSet(), currentTag ); + UpdateScmResult result = getScmManager().getProviderByRepository( repository ).update( repository, + getFileSet(), + currentTag ); checkResult( result ); } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/java/org/apache/maven/scm/provider/clearcase/ClearCaseScmProvider.java Tue Jul 26 02:16:45 2005 @@ -16,27 +16,29 @@ * limitations under the License. */ -import java.util.Map; - +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.provider.AbstractScmProvider; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.clearcase.command.changelog.ClearCaseChangeLogCommand; +import org.apache.maven.scm.provider.clearcase.command.checkout.ClearCaseCheckOutCommand; import org.apache.maven.scm.provider.clearcase.repository.ClearCaseScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.codehaus.plexus.util.StringUtils; /** * @author Trygve Laugstøl + * @author Emmanuel Venisse * @version $Id$ */ public class ClearCaseScmProvider extends AbstractScmProvider { - /** - * @requirement org.apache.maven.scm.CvsCommand - */ - private Map commands; - // ---------------------------------------------------------------------- // ScmProvider Implementation // ---------------------------------------------------------------------- @@ -52,17 +54,34 @@ return new ClearCaseScmProviderRepository(); } - // ---------------------------------------------------------------------- - // AbstractScmProvider Implementation - // ---------------------------------------------------------------------- + public String getScmType() + { + return "clearcase"; + } - protected Map getCommands() + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException { - return commands; + ClearCaseChangeLogCommand command = new ClearCaseChangeLogCommand(); + + command.setLogger( getLogger() ); + + return (ChangeLogScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } - public String getScmType() + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException { - return "clearcase"; + ClearCaseCheckOutCommand command = new ClearCaseCheckOutCommand(); + + command.setLogger( getLogger() ); + + return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-clearcase/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,39 +1,9 @@ - org.apache.maven.scm.Scm clearcase org.apache.maven.scm.provider.clearcase.ClearCaseScmProvider - - - org.apache.maven.scm.provider.svn.command.SvnCommand - commands - - - - - - - org.apache.maven.scm.provider.clearcase.command.ClearCaseCommand - changelog - org.apache.maven.scm.provider.clearcase.command.changelog.ClearCaseChangeLogCommand - - - - org.apache.maven.scm.provider.clearcase.command.ClearCaseCommand - checkout - org.apache.maven.scm.provider.clearcase.command.checkout.ClearCaseCheckOutCommand - - - - org.apache.maven.scm.provider.clearcase.command.ClearCaseCommand - update - org.apache.maven.scm.provider.clearcase.command.update.ClearcaseUpdateCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/java/org/apache/maven/scm/provider/cvslib/CvsScmProvider.java Tue Jul 26 02:16:45 2005 @@ -16,9 +16,33 @@ * limitations under the License. */ +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; +import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.command.diff.DiffScmResult; +import org.apache.maven.scm.command.remove.RemoveScmResult; +import org.apache.maven.scm.command.status.StatusScmResult; +import org.apache.maven.scm.command.tag.TagScmResult; +import org.apache.maven.scm.command.update.UpdateScmResult; +import org.apache.maven.scm.login.LoginScmResult; import org.apache.maven.scm.provider.AbstractScmProvider; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.cvslib.command.add.CvsAddCommand; +import org.apache.maven.scm.provider.cvslib.command.changelog.CvsChangeLogCommand; +import org.apache.maven.scm.provider.cvslib.command.checkin.CvsCheckInCommand; +import org.apache.maven.scm.provider.cvslib.command.checkout.CvsCheckOutCommand; +import org.apache.maven.scm.provider.cvslib.command.diff.CvsDiffCommand; +import org.apache.maven.scm.provider.cvslib.command.login.CvsLoginCommand; +import org.apache.maven.scm.provider.cvslib.command.remove.CvsRemoveCommand; +import org.apache.maven.scm.provider.cvslib.command.status.CvsStatusCommand; +import org.apache.maven.scm.provider.cvslib.command.tag.CvsTagCommand; +import org.apache.maven.scm.provider.cvslib.command.update.CvsUpdateCommand; import org.apache.maven.scm.provider.cvslib.repository.CvsScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.apache.maven.scm.repository.UnknownRepositoryStructure; import org.codehaus.plexus.util.FileUtils; @@ -26,7 +50,6 @@ import java.io.File; import java.io.IOException; -import java.util.Map; import java.util.List; import java.util.ArrayList; @@ -50,9 +73,6 @@ /** */ private final static String TRANSPORT_EXT = "ext"; - /** @requirement org.apache.maven.scm.CvsCommand */ - private Map commands; - // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- @@ -100,8 +120,11 @@ } File cvsRootFile = new File( cvsDirectory, "Root" ); + File moduleFile = new File( cvsDirectory, "Repository" ); + String cvsRoot; + String module; try @@ -131,15 +154,6 @@ return result.messages; } - // ---------------------------------------------------------------------- - // AbstractScmProvider Implementation - // ---------------------------------------------------------------------- - - protected Map getCommands() - { - return commands; - } - public String getScmType() { return "cvs"; @@ -263,7 +277,8 @@ if ( index == -1 ) { - result.messages.add( "The user_password_host part must be on the form: :@." ); + result.messages + .add( "The user_password_host part must be on the form: :@." ); return result; } @@ -312,7 +327,8 @@ if ( index == -1 ) { - result.messages.add( "The user_password_host part must be on the form: :@." ); + result.messages + .add( "The user_password_host part must be on the form: :@." ); return result; } @@ -333,7 +349,7 @@ module = tokens[4]; } - + String userHostPort = host; if ( user != null ) { @@ -401,5 +417,135 @@ } return result; + } +--------------------------------------------------------------------- // Methods the test has to implement // ---------------------------------------------------------------------- public abstract String getScmUrl() - throws Exception; + throws Exception; /** * Copy the existing checked in repository to the working directory. @@ -58,19 +58,24 @@ * @throws Exception */ public abstract void initRepo() - throws Exception; + throws Exception; private void checkOut( File workingDirectory, ScmRepository repository ) throws Exception { - CheckOutScmResult result = getScmManager().checkOut( repository, new ScmFileSet( workingDirectory ), null ); + CheckOutScmResult result = getScmManager().getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), null ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); } + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsAddCommand command = new CvsAddCommand(); + + command.setLogger( getLogger() ); + + return (AddScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#changelog(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public ChangeLogScmResult changelog( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsChangeLogCommand command = new CvsChangeLogCommand(); + + command.setLogg private void addToRepository( File workingDirectory, File file, ScmRepository repository ) throws Exception { - AddScmResult result = getScmManager().add( repository, new ScmFileSet( workingDirectory, file ) ); + AddScmResult result = getScmManager().getProviderByUrl( getScmUrl() ).add( + repository, + new ScmFileSet( workingDirectory, + file ) ); assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); List addedFiles = result.getAddedFiles(); @@ -102,7 +107,7 @@ // ---------------------------------------------------------------------- public void setUp() - throws Exception + throws Exception { super.setUp(); @@ er( getLogger() ); + + return (ChangeLogScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsCheckInCommand command = new CvsCheckInCommand(); + + command.setLogger( getLogger() ); + + return (CheckInScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileS-116,7 +121,7 @@ } public void testDiffCommand() - throws Exception + throws Exception { ScmRepository repository = makeScmRepository( getScmUrl() ); @@ -174,7 +179,9 @@ ScmManager scmManager = getScmManager(); - DiffScmResult result = scmManager.diff( repository, new ScmFileSet( getWorkingCopy() ), null, null ); + DiffScmResult result = scmManager.getProviderByUrl( getScmUrl() ).diff( repository, + new ScmFileSet( getWorkingCopy() ), + null, null ); assertNotNull( "The command returned a null result.", result ); @@ -189,6 +196,7 @@ Map differences = result.getDifferences(); assertEquals( "Expected 3 files in the changed files list " + changedFiles, 3, changedFiles.size() ); + assertEquals( "Expected 3 files in the differences list " + differences,et, CommandParameters parameters ) + throws ScmException + { + CvsCheckOutCommand command = new CvsCheckOutCommand(); + + command.setLogger( getLogger() ); + + return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#diff(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public DiffScmResult diff( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsDiffCommand command = new CvsDiffCommand(); + + command.setLogger( getLogger() ); + + return (DiffScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#login(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmF 3, differences.size() ); // ---------------------------------------------------------------------- @@ -203,7 +211,8 @@ assertEquals( ScmFileStatus.MODIFIED, file.getStatus() ); - assertEquals( "@@ -0,0 +1 @@\n+/src/main/java/org/Foo.java\n\\ No newline at end of file\n", differences.get( file.getPath() ).toString() ); + assertEquals( "@@ -0,0 +1 @@\n+/src/main/java/org/Foo.java\n\\ No newline at end of file\n", differences + .get( file.getPath() ).toString() ); file = (ScmFile) files.next(); @@ -211,13 +220,16 @@ assertEquals( ScmFileStatus.MODIFIED, file.getStatus() ); - assertEquals( "@@ -1 +1 @@\n-/readme.txt\n\\ No newline at end of file\n+changed readme.txt\n\\ No newline at end of file\n", differences.get( file.getPath() ).toString() ); + assertEquals( + "@@ -1 +1 @@\n-/readme.txt\n\\ No newline at end of file\n+changed readme.txt\n\\ No newline at end of file\n", + differences.get( file.getPath() ).toString() ); file = (ScmFile) files.next(); assertPath( "/project.xml", file.getPath() ); - assertEquals( "@@ -0,0 +1 @@\n+changed project.xml\n\\ No newline at end of file\n", differences.get( file.getPath() ).toString() ); + assertEquals( "@@ -0,0 +1 @@\n+changed project.xml\n\\ No newline at end of file\n", differences + .get( file.getPath() ).toString() ); assertEquals( ScmFileStatus.MODIFIED, file.getStatus() ); } @@ -227,7 +239,7 @@ // ---------------------------------------------------------------------- private void assertFile( File root, String fileName ) - throws Exception + throws Exception { File file = new File( root, fileName ); @@ -239,7 +251,8 @@ String actual = FileUtils.fileRead( file ); - assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, actual ); + assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, + actual ); } } Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/status/StatusCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -24,9 +24,9 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.command.status.StatusScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -53,14 +53,14 @@ * @version $Id$ */ public abstract class StatusCommandTckTest - extends ScmTestCase + extends ScmTestCase { // ---------------------------------------------------------------------- // Methods the test has to implement // ---------------------------------------------------------------------- public abstract String getScmUrl() - throws Exception; + throws Exception; /** * Copy the existing checked in repository to the working directory. @@ -70,19 +70,24 @@ * @throws Exception */ public abstract void initRepo() - throws Exception; + throws Exception; private void checkOut( File workingDirectory, ScmRepository repository ) throws Exception { - CheckOutScmResult result = getScmManager().checkOut( repository, new ScmFileSet( workingDirectory ), null ); + CheckOutScmResult result = getScmManager().getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), null ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); } private void addToRepository( File workingDirectory, File file, ScmRepository repository ) throws Exception { - AddScmResult result = getScmManager().add( repository, new ScmFileSet( workingDirectory, file ) ); + AddScmResult result = getScmManager().getProviderByUrl( getScmUrl() ).add( + repository, + new ScmFileSet( workingDirectory, + file ) ); assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); List addedFiles = result.getAddedFiles(); @@ -91,9 +96,11 @@ } private void commit( File workingDirectory, ScmRepository repository ) - throws Exception + throws Exception { - CheckInScmResult result = getScmManager().checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" ); + CheckInScmResult result = getScmManager().getProviderByUrl( getScmUrl() ) + .checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); List committedFiles = result.getCheckedInFiles(); @@ -125,7 +132,7 @@ // ---------------------------------------------------------------------- public void setUp() - throws Exception + throws Exception { super.setUp(); @@ -139,7 +146,7 @@ } public void testStatusCommand() - throws Exception + throws Exception { ScmRepository repository = makeScmRepository( getScmUrl() ); @@ -203,7 +210,8 @@ // check that readme and project.xml are not updated/created // ---------------------------------------------------------------------- - StatusScmResult result = scmManager.status( repository, new ScmFileSet( getUpdatingCopy() ) ); + StatusScmResult result = scmManager.getProviderByUrl( getScmUrl() ) + .status( repository, new ScmFileSet( getUpdatingCopy() ) ); assertNotNull( "The command returned a null result.", result ); @@ -245,7 +253,7 @@ // ---------------------------------------------------------------------- private void assertFile( File root, String fileName ) - throws Exception + throws Exception { File file = new File( root, fileName ); @@ -257,6 +265,7 @@ String actual = FileUtils.fileRead( file ); - assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, actual ); + assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, + actual ); } } Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/tag/TagCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -21,9 +21,9 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.chileSet, org.apache.maven.scm.CommandParameters) + */ + public LoginScmResult login( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsLoginCommand command = new CvsLoginCommand(); + + command.setLogger( getLogger() ); + + return (LoginScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#remove(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public RemoveScmResult remove( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsRemoveCommand command = new CvsRemoveCommand(); + + command.setLogger( getLogger() ); + + return (RemoveScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#status(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public StatusScmResult status( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsStatusCommand command = new CvsStatusCommand(); + + command.setLogger( getLogger() ); + + return (StatusScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#tag(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public TagScmResult tag( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsTagCommand command = new CvsTagCommand(); + + command.setLogger( getLogger() ); + + return (TagScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + CvsUpdateCommand command = new CvsUpdateCommand(); + + command.setLogger( getLogger() ); + + return (UpdateScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } } Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/main/resources/META-INF/plexus/components.xml Tue Jul 26 02:16:45 2005 @@ -1,71 +1,9 @@ - org.apache.maven.scm.provider.ScmProvider cvs org.apache.maven.scm.provider.cvslib.CvsScmProvider - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - commands - - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - add - org.apache.maven.scm.provider.cvslib.command.add.CvsAddCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - change-log - org.apache.maven.scm.provider.cvslib.command.changelog.CvsChangeLogCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - check-in - org.apache.maven.scm.provider.cvslib.command.checkin.CvsCheckInCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - check-out - org.apache.maven.scm.provider.cvslib.command.checkout.CvsCheckOutCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - diff - org.apache.maven.scm.provider.cvslib.coeckout.CheckOutScmResult; import org.apache.maven.scm.command.tag.TagScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -35,9 +35,11 @@ * @author Brett Porter * @version $Id$ */ -public abstract class TagCommandTckTest extends ScmTestCase +public abstract class TagCommandTckTest + extends ScmTestCase { private File workingDirectory; + // ---------------------------------------------------------------------- // Methods the provider test has to implement // ---------------------------------------------------------------------- @@ -86,8 +88,8 @@ FileUtils.deleteDirectory( repositoryRoot ); } - assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), - mmand.diff.CvsDiffCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - login - org.apache.maven.scm.provider.cvslib.command.login.CvsLoginCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - status - org.apache.maven.scm.provider.cvslib.command.status.CvsStatusCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - tag - org.apache.maven.scm.provider.cvslib.command.tag.CvsTagCommand - - - - org.apache.maven.scm.provider.cvslib.command.CvsCommand - update - org.apache.maven.scm.provider.cvslib.comman repositoryRoot.mkdirs() ); + assertTrue( "Could not make the repository root directory: " + repositoryRoot.getAbsolutePath(), repositoryRoot + .mkdirs() ); workingDirectory = getWorkingCopy(); @@ -96,8 +98,8 @@ FileUtils.deleteDirectory( workingDirectory ); } - assertTrue( "Could not make the working directory: " + workingDirectory.getAbsolutePath(), - workingDirectory.mkdirs() ); + assertTrue( "Could not make the working directory: " + workingDirectory.getAbsolutePath(), workingDirectory + .mkdirs() ); File assertionDirectory = getAssertionCopy(); @@ -119,13 +121,16 @@ ScmRepository repository = getScmRepository( scmManager ); - CheckOutScmResult checkoutResult = scmManager.checkOut( repository, new ScmFileSet( workingDirectory ), null ); + CheckOutScmResult checkoutResult = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), null ); assertResultIsSuccess( checkoutResult ); String tag = "test-tag"; - TagScmResult tagResult = scmManager.tag( repository, new ScmFileSet( workingDirectory ), tag ); + TagScmResult tagResult = scmManager.getProviderByUrl( getScmUrl() ).tag( repository, + new ScmFileSet( workingDirectory ), + tag ); assertResultIsSuccess( tagResult ); @@ -137,12 +142,14 @@ changeReadmeTxt( readmeTxt ); - CheckInScmResult checkinResult = scmManager.checkIn( repository, new ScmFileSet( workingDirectory ), null, - "commit message" ); + CheckInScmResult checkinResult = scmManager.getProviderByUrl( getScmUrl() ) + .checkIn( repository, new ScmFileSet( workingDirectory ), null, "commit message" ); assertResultIsSuccess( checkinResult ); - checkoutResult = scmManager.checkOut( repository, new ScmFileSet( getAssertionCopy() ), null ); + checkoutResult = scmManager.getProviderByUrl( getScmUrl() ).checkOut( repository, + new ScmFileSet( getAssertionCopy() ), + null ); assertResultIsSuccess( checkoutResult ); @@ -154,12 +161,12 @@ assertFalse( "check previous assertion copy deleted", getAssertionCopy().exists() ); - checkoutResult = scmManager.checkOut( repository, new ScmFileSet( getAssertionCopy() ), tag ); + checkoutResult = scmManager.getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( getAssertionCopy() ), tag ); assertResultIsSuccess( checkoutResult ); - assertEquals( "check readme.txt contents is from tagged version", "/readme.txt", - FileUtils.fileRead( readmeTxt ) ); + assertEquals( "check readme.txt contents is from tagged version", "/readme.txt", FileUtils.fileRead( readmeTxt ) ); } protected ScmRepository getScmRepository( ScmManager scmManager ) Modified: maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java (original) +++ maven/scm/trunk/maven-scm-test/src/main/java/org/apache/maven/scm/tck/command/update/UpdateCommandTckTest.java Tue Jul 26 02:16:45 2005 @@ -24,9 +24,9 @@ import org.apache.maven.scm.command.checkin.CheckInScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; import org.apache.maven.scm.command.update.UpdateScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.repository.ScmRepository; import org.codehaus.plexus.PlexusTestCase; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -53,14 +53,14 @@ * @version $Id$ */ public abstract class UpdateCommandTckTest - extends ScmTestCase + extends ScmTestCase { // ---------------------------------------------------------------------- // Methods the test has to implement // ---------------------------------------------------------------------- public abstract String getScmUrl() - throws Exception; + throws Exception; /** * Copy the existing checked in repository to the working directory. @@ -70,19 +70,25 @@ * @throws Exception */ public abstract void initRepo() - throws Exception; + throws Exception; private void checkOut( File workingDirectory, ScmRepository repository ) throws Exception { - CheckOutScmResult result = getScmManager().checkOut( repository, new ScmFileSet( workingDirectory ), null ); + CheckOutScmResult result = getScmManager().getProviderByUrl( getScmUrl() ) + .checkOut( repository, new ScmFileSet( workingDirectory ), null ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); } private void addToRepository( File workingDirectory, File file, ScmRepository repository ) throws Exception { - AddScmResult result = getScmManager().add( repository, new ScmFileSet( workingDirectory, file ) ); + AddScmResult result = getScmManager().getProviderByUrl( getScmUrl() ).add( + repository, + new Scmd.update.CvsUpdateCommand - - Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/changelog/CvsChangeLogCommandTest.java Tue Jul 26 02:16:45 2005 @@ -17,9 +17,9 @@ */ import org.apache.maven.scm.command.changelog.ChangeLogScmResuFileSet( workingDirectory, + file ) ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); List addedFiles = result.getAddedFiles(); @@ -91,9 +97,11 @@ } private void commit( File workingDirectory, ScmRepository repository ) - throws Exception + throws Exception { - CheckInScmResult result = getScmManager().checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" ); + CheckInScmResult result = getScmManager().getProviderByUrl( getScmUrl() ) + .checkIn( repository, new ScmFileSet( workingDirectory ), null, "No msg" ); + assertTrue( "Check result was successful, output: " + result.getCommandOutput(), result.isSuccess() ); List committedFiles = result.getCheckedInFiles(); @@ -125,7 +133,7 @@ // --------------------------------------------------------------lt; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; import org.apache.maven.scm.provider.cvslib.CvsScmTestUtils; -import org.codehaus.plexus.scm.ScmManager; import java.util.Date; import java.util.List; @@ -74,7 +74,7 @@ CvsScmTestUtils.executeCVS( getWorkingDirectory(), "-f -d " + getTestFile( "src/test/repository/" ) + " co " + getModule() ); - ChangeLogScmResult changeLogResult = scmManager.changeLog( getScmRepository(), getScmFileSet(), startDate, + ChangeLogScmResult changeLogResult = scmManager.getProviderByRepository( getScmRepository() ).changeLog( getScmRepository(), getScmFileSet(), startDate, endDate, 0, branch ); if ( !changeLogResult.isSuccess() ) Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCh-------- public void setUp() - throws Exception + throws Exception { super.setUp(); @@ -139,7 +147,7 @@ } public void testUpdateCommand() - throws Exception + throws Exception { ScmRepository repository = makeScmRepository( getScmUrl() ); @@ -201,7 +209,8 @@ // Update the project // ---------------------------------------------------------------------- - UpdateScmResult result = scmManager.update( repository, new ScmFileSet( getUpdatingCopy() ), null ); + UpdateScmResult result = scmManager.getProviderByUrl( getScmUrl() ) + .update( repository, new ScmFileSet( getUpdatingCopy() ), null ); assertNotNull( "The command returned a null result.", result ); @@ -212,6 +221,7 @@ assertNull( "The command output wasn't null", result.getCommandOutput() ); List updatedFiles = result.getUpdatedFiles(); + List changedFiles = result.getChanges(); assertEqueckoutCommandTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/checkout/CvsCheckoutCommandTest.java Tue Jul 26 02:16:45 2005 @@ -19,8 +19,8 @@ import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; -import org.codehaus.plexus.scm.ScmManager; import javaals( "Expected 3 files in the updated files list " + updatedFiles, 3, updatedFiles.size() ); @@ -252,7 +262,7 @@ // ---------------------------------------------------------------------- private void assertFile( File root, String fileName ) - throws Exception + throws Exception { File file = new File( root, fileName ); @@ -264,6 +274,7 @@ String actual = FileUtils.fileRead( file ); - assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, actual ); + assertEquals( "The file doesn't contain the expected contents. File: " + file.getAbsolutePath(), expected, + actual ); } } Modified: maven/scm/trunk/pom.xml URL: http://svn.apache.org/viewcvs/maven/scm/trunk/pom.xml?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/pom.xml (original) +++ maven/scm/trunk/pom.xml Tue Jul 26 02:16:45 2.io.File; import java.util.List; @@ -44,7 +44,7 @@ { ScmManager scmManager = getScmManager(); - CheckOutScmResult result = scmManager.checkOut( getScmRepository(), getScmFileSet(), null ); + CheckOutScmResult result = scmManager.getProviderByRepository( getScmRepository() ).checkOut( getScmRepository(), getScmFileSet(), null ); if ( !result.isSuccess() ) { @@ -70,7 +70,7 @@ { ScmManager scmManager = getScmManager(); - CheckOutScmResult result = scmManager.checkOut( getScmRepository(), getScmFileSet(), "1.107.4" ); + CheckOutScmResult result = scmManager.getProviderByRepository( getScmRepository() ).checkOut( getScmRepository(), getScmFileSet(), "1.107.4" ); if ( !result.isSuccess() ) { Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-provi005 @@ -38,7 +38,7 @@ plexus plexus-utils - 1.0.1-SNAPSHOT + 1.0.1 ders/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/command/update/CvsUpdateCommandTest.java Tue Jul 26 02:16:45 2005 @@ -20,10 +20,10 @@ import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.ScmFileStatus; import org.apache.maven.scm.command.update.UpdateScmResult; +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; import org.apache.maven.scm.provider.cvslib.CvsScmTestUtils; import org.apache.maven.scm.repository.ScmRepository; -import org.codehaus.plexus.scm.ScmManager; import org.codehaus.plexus.util.FileUtils; import java.io.File; @@ -84,7 +84,7 @@ // A new check out should return 0 updated files. ScmRepository scmRepository = scmManager.makeScmRepository( scmUrl ); - UpdateScmResult result = scmManager.update( scmRepository, new ScmFileSet( assertionDirectory ), null ); + UpdateScmResult result = scmManager.getProviderByRepository( scmRepository ).update( scmRepository, new ScmFileSet( assertionDirectory ), null ); assertNotNull( result ); @@ -134,7 +134,7 @@ CvsScmTestUtils.executeCVS( workingDirectory, arguments ); // Check the updated files - result = scmManager.update( scmRepository, new ScmFileSet( assertionDirectory ), null ); + result = scmManager.getProviderByRepository( scmRepository ).update( scmRepository, new ScmFileSet( assertionDirectory ), null ); assertNotNull( result ); Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-cvs/src/test/java/org/apache/maven/scm/provider/cvslib/repository/CvsScmProviderRepositoryTest.java Tue Jul 26 02:16:45 2005 @@ -16,11 +16,11 @@ * limitations under the License. */ +import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.scm.provider.cvslib.AbstractCvsScmTest; import org.apache.maven.scm.provider.cvslib.CvsScmProvider; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; -import org.codehaus.plexus.scm.ScmManager; /** * @author Emmanuel Venisse Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java?rev=225265&r1=225264&r2=225265&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-local/src/main/java/org/apache/maven/scm/provider/local/LocalScmProvider.java Tue Jul 26 02:16:45 2005 @@ -1,7 +1,7 @@ package org.apache.maven.scm.provider.local; /* - * Copyright 2001-2004 The Apache Software Foundation. + * 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. @@ -17,30 +17,34 @@ */ import java.io.File; -import java.util.Map; +import org.apache.maven.scm.CommandParameters; +import org.apache.maven.scm.ScmException; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.command.add.AddScmResult; +import org.apache.maven.scm.command.checkin.CheckInScmResult; +import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.command.update.UpdateScmResult; import org.apache.maven.scm.provider.AbstractScmProvider; import org.apache.maven.scm.provider.ScmProviderRepository; +import org.apache.maven.scm.provider.local.command.add.LocalAddCommand; +import org.apache.maven.scm.provider.local.command.checkin.LocalCheckInCommand; +import org.apache.maven.scm.provider.local.command.checkout.LocalCheckOutCommand; +import org.apache.maven.scm.provider.local.command.update.LocalUpdateCommand; import org.apache.maven.scm.provider.local.repository.LocalScmProviderRepository; +import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.repository.ScmRepositoryException; import org.codehaus.plexus.util.StringUtils; /** * @author Trygve Laugstøl + * @author Emmanuel Venisse * @version $Id$ */ public class LocalScmProvider extends AbstractScmProvider { - /** @requirement org.apache.maven.scm.CvsCommand */ - private Map commands; - - protected Map getCommands() - { - return commands; - } - public String getScmType() { return "local"; @@ -53,14 +57,16 @@ if ( tokens.length != 2 ) { - throw new ScmRepositoryException( "The connection string didn't contain the expected number of tokens. Expected 2 tokens but got " + tokens.length + " tokens." ); + throw new ScmRepositoryException( + "The connection string didn't contain the expected number of tokens. Expected 2 tokens but got " + + tokens.length + " tokens." ); } // ---------------------------------------------------------------------- // // ---------------------------------------------------------------------- - String root = tokens[ 0 ]; + String root = tokens[0]; File rootFile = new File( root ); @@ -85,13 +91,14 @@ // // ---------------------------------------------------------------------- - String module = tokens[ 1 ]; + String module = tokens[1]; File moduleFile = new File( rootFile, module ); if ( !moduleFile.exists() ) { - throw new ScmRepositoryException( "The module doesn't exist (root: " + rootFile.getAbsolutePath() + ", module: " + module + ")."); + throw new ScmRepositoryException( "The module doesn't exist (root: " + rootFile.getAbsolutePath() + + ", module: " + module + ")." ); } if ( !moduleFile.isDirectory() ) @@ -119,5 +126,57 @@ } return module; + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#add(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public AddScmResult add( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + LocalAddCommand command = new LocalAddCommand(); + + command.setLogger( getLogger() ); + + return (AddScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkin(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckInScmResult checkin( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + LocalCheckInCommand command = new LocalCheckInCommand(); + + command.setLogger( getLogger() ); + + return (CheckInScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#checkout(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public CheckOutScmResult checkout( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + LocalCheckOutCommand command = new LocalCheckOutCommand(); + + command.setLogger( getLogger() ); + + return (CheckOutScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); + } + + /** + * @see org.apache.maven.scm.provider.AbstractScmProvider#update(org.apache.maven.scm.repository.ScmRepository, org.apache.maven.scm.ScmFileSet, org.apache.maven.scm.CommandParameters) + */ + public UpdateScmResult update( ScmRepository repository, ScmFileSet fileSet, CommandParameters parameters ) + throws ScmException + { + LocalUpdateCommand command = new LocalUpdateCommand(); + + command.setLogger( getLogger() ); + + return (UpdateScmResult) command.execute( repository.getProviderRepository(), fileSet, parameters ); } }