Author: evenisse Date: Thu Apr 5 06:18:33 2007 New Revision: 525820 URL: http://svn.apache.org/viewvc?view=rev&rev=525820 Log: Add more doc
Modified: maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt Modified: maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt?view=diff&rev=525820&r1=525819&r2=525820 ============================================================================== --- maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt (original) +++ maven/scm/trunk/maven-scm-site/src/site/apt/guide/index.apt Thu Apr 5 06:18:33 2007 @@ -6,10 +6,12 @@ 12 March 2007 ------ -<<This document is a Draft.>> - Guides - * {{{new_provider.html}How to write a new SCM provider}} +* {{{usage.html}How to use Maven-SCM in my application?}} + + This {{{usage.html}document}} describe API usage for a SCM client. + +* {{{new_provider.html}How to write a new SCM provider?}} - * {{{usage.html}How to use Maven-SCM in my application}} + This {{{new_provider.html}document}} describe step by step the implementation of a new SCM proviser. Modified: maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt?view=diff&rev=525820&r1=525819&r2=525820 ============================================================================== --- maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt (original) +++ maven/scm/trunk/maven-scm-site/src/site/apt/guide/usage.apt Thu Apr 5 06:18:33 2007 @@ -42,20 +42,7 @@ ** Without Plexus IOC Without Plexus, you must add all your SCM providers in the manager and that - will require more work. You can use the basic SCM manager: - -+------------------------------------------+ - public class BasicScmManager - extends AbstractScmManager - { - protected ScmLogger getScmLogger() - { - return new DefaultLog(); - } - } -+------------------------------------------+ - - Now that your SCM Manager class is created, you can initialize it: + will require more work. You can use the basic SCM manager or write your own: +------------------------------------------+ import org.apache.maven.scm.manager.BasicScmManager; @@ -69,8 +56,8 @@ scmManager = new BasicScmManager(); //Add all SCM providers we want to use - scmManager.addScmProvider( "cvs", new CvsJavaScmProvider() ); - scmManager.addScmProvider( "svn", new SvnExeScmProvider() ); + scmManager.setScmProvider( "cvs", new CvsJavaScmProvider() ); + scmManager.setScmProvider( "svn", new SvnExeScmProvider() ); ... } @@ -97,14 +84,10 @@ } catch ( NoSuchScmProviderException ex ) { - System.err.println( "Could not find a provider." ); - throw new Exception( "Could not find a provider." ); } catch ( ScmRepositoryException ex ) { - System.err.println( "Error while connecting to the repository" ); - throw new Exception( "Error while connecting to the repository" ); } } @@ -133,12 +116,7 @@ CheckOutScmResult result = scmManager.checkOut( scmRepository, new ScmFileSet( workingDirectory ) ); - if ( !result.isSuccess() ) - { - showError( result ); - - return; - } + checkResult( result ); List checkedOutFiles = result.getCheckedOutFiles(); @@ -168,12 +146,7 @@ UpdateScmResult result = scmManager.update( scmRepository, new ScmFileSet( workingDirectory ) ); - if ( !result.isSuccess() ) - { - showError( result ); - - return; - } + checkResult( result ); List updatedFiles = result.getUpdatedFiles(); @@ -184,6 +157,31 @@ ScmFile file = (ScmFile) it.next(); System.out.println( " " + file.getPath() ); + } + } ++------------------------------------------+ + +* The checkResult method + + In each sample command code, we use the <<<checkResult>>> method, it isn't + required but can be useful if something failed in the command execution. + ++------------------------------------------+ + public void checkResult( ScmResult result ) + throws Exception + { + if ( !result.isSuccess() ) + { + System.err.println( "Provider message:" ); + + System.err.println( result.getProviderMessage() == null ? "" : result.getProviderMessage() ); + + System.err.println( "Command output:" ); + + System.err.println( result.getCommandOutput() == null ? "" : result.getCommandOutput() ); + + throw new Exception( + "Command failed." + StringUtils.defaultString( result.getProviderMessage() ) ); } } +------------------------------------------+