put back a corrected custom copyDirectoryStructure that ignores .svn directories

git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@419445 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Brett Porter 2006-07-06 05:50:09 +00:00
parent ce6cc7ab56
commit 7fda7eb21f
1 changed files with 48 additions and 1 deletions

View File

@ -83,7 +83,7 @@ public class RepositoryConverterTest
layout = (ArtifactRepositoryLayout) lookup( ArtifactRepositoryLayout.ROLE, "default" );
File targetBase = getTestFile( "target/test-target-repository" );
FileUtils.copyDirectoryStructure( getTestFile( "src/test/target-repository" ), targetBase );
copyDirectoryStructure( getTestFile( "src/test/target-repository" ), targetBase );
targetRepository =
factory.createArtifactRepository( "target", targetBase.toURL().toString(), layout, null, null );
@ -97,6 +97,53 @@ public class RepositoryConverterTest
reporter = new DefaultArtifactReporter();
}
private void copyDirectoryStructure( File sourceDirectory, File destinationDirectory )
throws IOException
{
if ( !sourceDirectory.exists() )
{
throw new IOException( "Source directory doesn't exists (" + sourceDirectory.getAbsolutePath() + ")." );
}
File[] files = sourceDirectory.listFiles();
String sourcePath = sourceDirectory.getAbsolutePath();
for ( int i = 0; i < files.length; i++ )
{
File file = files[i];
String dest = file.getAbsolutePath();
dest = dest.substring( sourcePath.length() + 1 );
File destination = new File( destinationDirectory, dest );
if ( file.isFile() )
{
destination = destination.getParentFile();
FileUtils.copyFileToDirectory( file, destination );
}
else if ( file.isDirectory() )
{
if ( !".svn".equals( file.getName() ) )
{
if ( !destination.exists() && !destination.mkdirs() )
{
throw new IOException(
"Could not create destination directory '" + destination.getAbsolutePath() + "'." );
}
copyDirectoryStructure( file, destination );
}
}
else
{
throw new IOException( "Unknown file type: " + file.getAbsolutePath() );
}
}
}
public void testV4PomConvert()
throws IOException, RepositoryConversionException
{