/**
* Copyright (c) 2010 Perforce Software. All rights reserved.
*/
package com.perforce.maven.scm.provider.p4.command.export;
import org.apache.maven.scm.CommandParameter;
import org.apache.maven.scm.CommandParameters;
import org.apache.maven.scm.ScmException;
import org.apache.maven.scm.ScmFileSet;
import org.apache.maven.scm.ScmVersion;
import org.apache.maven.scm.command.checkout.CheckOutScmResult;
import org.apache.maven.scm.command.export.AbstractExportCommand;
import org.apache.maven.scm.command.export.ExportScmResult;
import org.apache.maven.scm.provider.ScmProviderRepository;
import com.perforce.maven.scm.provider.p4.command.P4Command;
import com.perforce.maven.scm.provider.p4.command.checkout.P4CheckOutCommand;
import com.perforce.p4java.client.IClient;
/**
* Use Perforce sync command to update files from the repository.
*/
public class P4ExportCommand
extends AbstractExportCommand
implements P4Command
{
/** The Constant command. */
public static final String command = "Perforce sync command";
private IClient client;
public void setClient( IClient client )
{
this.client = client;
}
/**
* @see org.apache.maven.scm.command.export.AbstractExportCommand
* executeExportCommand(org.apache.maven.scm.provider.ScmProviderRepository, org.apache.maven.scm.ScmFileSet,
* org.apache.maven.scm.ScmVersion, java.lang.String)
*/
protected ExportScmResult executeExportCommand( ScmProviderRepository repo, ScmFileSet files,
ScmVersion scmVersion, String outputDirectory )
throws ScmException
{
// Export is the same as checkout in Perforce
P4CheckOutCommand command = new P4CheckOutCommand();
command.setLogger( getLogger() );
command.setClient( client );
CommandParameters params = new CommandParameters();
params.setScmVersion( CommandParameter.SCM_VERSION, scmVersion );
CheckOutScmResult checkOutScmResult = (CheckOutScmResult) command.execute( repo, files, params );
if ( !checkOutScmResult.isSuccess() )
{
return new ExportScmResult( checkOutScmResult.getCommandLine(), checkOutScmResult.getProviderMessage(),
checkOutScmResult.getCommandOutput(), false );
}
return new ExportScmResult( checkOutScmResult.getCommandLine(), checkOutScmResult.getProviderMessage(),
checkOutScmResult.getCommandOutput(), true );
// @Note: removed change log from original code.
}
}
# |
Change |
User |
Description |
Committed |
|
#1
|
10055 |
Matt Attaway |
Pull over numerous changes from @dantran's branch. |
|
|
//guest/perforce_software/p4maven/main/com.perforce.maven/src/main/java/com/perforce/maven/scm/provider/p4/command/export/P4ExportCommand.java |
#1
|
8496 |
Matt Attaway |
Move P4Ant and P4Maven into their proper homes |
|
|
//public/perforce/p4maven/main/com.perforce.maven/src/main/java/com/perforce/maven/scm/provider/p4/command/export/P4ExportCommand.java |
#1
|
8270 |
Matt Attaway |
Initial add of P4Maven source code |
|
|