Author: dantran Date: Wed Nov 22 10:29:45 2006 New Revision: 478274 URL: http://svn.apache.org/viewvc?view=rev&rev=478274 Log: SCM-249: genete deletelocal using new command line generator
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/StarteamCommandLineUtils.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/StarteamCommandLineUtils.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/StarteamCommandLineUtils.java?view=diff&rev=478274&r1=478273&r2=478274 ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/StarteamCommandLineUtils.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/StarteamCommandLineUtils.java Wed Nov 22 10:29:45 2006 @@ -57,70 +57,6 @@ return cl; } - - public static Commandline createStarteamBaseCommandLine( String action, File relativeFileOrDir, - StarteamScmProviderRepository repo ) - { - Commandline cl = createStarteamBaseCommandLine( action, repo ); - - String fullUrl = repo.getFullUrl(); - - //when absolute path is use, there is no need to do any conversion - if ( relativeFileOrDir.isDirectory() ) - { - if ( relativeFileOrDir.isAbsolute() ) - { - cl.createArgument().setValue( "-p" ); - cl.createArgument().setValue( fullUrl ); - - cl.createArgument().setValue( "-fp" ); - cl.createArgument().setValue( relativeFileOrDir.getAbsolutePath().replace( '\\', '/' ) ); - - addCompressionOption( cl ); - - return cl; - } - } - - //set URL, makesure to alter the orginal URL - // to match with the working checkout directory of scm file - - File relativeWorkingDir = relativeFileOrDir.getParentFile(); - - if ( relativeFileOrDir.isDirectory() ) - { - relativeWorkingDir = relativeFileOrDir; - } - else - { - if ( relativeWorkingDir != null ) - { - fullUrl += "/" + relativeWorkingDir.getPath().replace( '\\', '/' ); - } - } - - cl.createArgument().setValue( "-p" ); - - cl.createArgument().setValue( fullUrl ); - - //set working directory - - File absoluteWorkingDir = relativeFileOrDir.getAbsoluteFile().getParentFile(); - - if ( relativeFileOrDir.isDirectory() ) - { - absoluteWorkingDir = relativeFileOrDir.getAbsoluteFile(); - } - - cl.createArgument().setValue( "-fp" ); - - cl.createArgument().setValue( absoluteWorkingDir.getAbsolutePath().replace( '\\', '/' ) ); - - addCompressionOption( cl ); - - return cl; - } - private static Commandline addCommandlineArguments( Commandline cl, List args ) { Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java?view=diff&rev=478274&r1=478273&r2=478274 ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-starteam/src/main/java/org/apache/maven/scm/provider/starteam/command/update/StarteamUpdateCommand.java Wed Nov 22 10:29:45 2006 @@ -81,7 +81,7 @@ if ( "true".equalsIgnoreCase( doDeleteLocal ) ) { - this.deleteLocal( repository, fileSet.getBasedir(), tag ); + this.deleteLocal( repository, fileSet, tag ); } } } @@ -138,15 +138,15 @@ return command; } - private void deleteLocal( StarteamScmProviderRepository repo, File dir, String tag ) + private void deleteLocal( StarteamScmProviderRepository repo, ScmFileSet fileSet, String tag ) throws ScmException { - if ( dir.isFile() ) + if ( fileSet.getFileList().size() != 0 ) { return; } - Commandline cl = createDeleteLocalCommand( repo, dir, tag ); + Commandline cl = createDeleteLocalCommand( repo, fileSet, tag ); StreamConsumer consumer = new DefaultConsumer(); @@ -160,27 +160,20 @@ } } - public static Commandline createDeleteLocalCommand( StarteamScmProviderRepository repo, File dirOrFile, String tag ) + public static Commandline createDeleteLocalCommand( StarteamScmProviderRepository repo, ScmFileSet dir, String tag ) { - Commandline cl = StarteamCommandLineUtils.createStarteamBaseCommandLine( "delete-local", dirOrFile, repo ); - - if ( dirOrFile.isDirectory() ) - { - cl.createArgument().setValue( "-is" ); - } - + List args = new ArrayList(); + if ( tag != null && tag.length() != 0 ) { - cl.createArgument().setValue( "-cfgl " ); - - cl.createArgument().setValue( tag ); + args.add( "-cfgl " ); + args.add( tag ); } - cl.createArgument().setValue( "-filter" ); - - cl.createArgument().setValue( "N" ); + args.add( "-filter" ); + args.add( "N" ); - return cl; + return StarteamCommandLineUtils.createStarteamCommandLine( "delete-local",args, dir, repo ); } }