From 7fda7eb21f036bbeac7eb5a9cca564c79d6364fd Mon Sep 17 00:00:00 2001 From: Brett Porter Date: Thu, 6 Jul 2006 05:50:09 +0000 Subject: [PATCH] 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 --- .../converter/RepositoryConverterTest.java | 49 ++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java b/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java index c60331de5..d7b83cf7e 100644 --- a/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java +++ b/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java @@ -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 {