import java.io.*;
import java.util.*;

import org.codehaus.plexus.util.*;

File file = new File( localRepositoryPath, "org/apache/maven/its/deploy/nma2" );
System.out.println( "Deleting " + file );
FileUtils.deleteDirectory( file );

file = new File( basedir, "target/repo" );
System.out.println( "Deleting " + file );
FileUtils.deleteDirectory( file );

return true;
