*/
public static Commandline checkoutProject( File directory, String projectSpec, ScmVersion version, String purpose,
String release, String ccmAddr )
throws ScmException
{
Commandline cl = new Commandline();
configureEnvironment( cl, ccmAddr );
cl.setExecutable( CCM );
cl.createArg().setValue( CO );
cl.createArg().setValue( "-subprojects" ); // Checkout sub-projects
cl.createArg().setValue( "-rel" ); // Relative
if ( version != null && StringUtils.isNotEmpty( version.getName() ) )
{
cl.createArg().setValue( "-t" ); // Version
cl.createArg().setValue( version.getName() );
}
if ( purpose != null && !purpose.equals( "" ) )
{
cl.createArg().setValue( "-purpose" );
cl.createArg().setValue( purpose );
}
if ( release != null && !release.equals( "" ) )
{
cl.createArg().setValue( "-release" );
cl.createArg().setValue( release );
}
if ( directory != null )
{
cl.createArg().setValue( "-path" );
try
{
cl.createArg().setValue( directory.getCanonicalPath() );
}
catch ( IOException e )
{
throw new ScmException( "Invalid directory", e );
}
}
cl.createArg().setValue( "-p" );
cl.createArg().setValue( projectSpec );
return cl;
}