From: Brett Porter Date: Mon, 16 Jan 2006 03:39:15 +0000 (+0000) Subject: [MRM-9] test metadata conversion X-Git-Tag: archiva-0.9-alpha-1~981 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=5d8e7b42a4fdd6a65114c62e14bc5f06b4a8465b;p=archiva.git [MRM-9] test metadata conversion git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@369330 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java b/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java index 5ee18a4c0..56eefc96c 100644 --- a/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java +++ b/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java @@ -18,18 +18,29 @@ package org.apache.maven.repository.converter; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.artifact.metadata.ArtifactMetadata; import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata; +import org.apache.maven.artifact.repository.metadata.Metadata; +import org.apache.maven.artifact.repository.metadata.Snapshot; +import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata; +import org.apache.maven.artifact.repository.metadata.Versioning; +import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader; +import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Writer; import org.apache.maven.model.converter.ArtifactPomRewriter; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import java.io.File; +import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.StringReader; import java.io.Writer; import java.util.Iterator; import java.util.List; +import java.util.regex.Matcher; /** * Implementation of repository conversion class. @@ -66,6 +77,99 @@ public class DefaultRepositoryConverter copyArtifact( artifact, targetRepository ); copyPom( artifact, targetRepository ); + + Metadata metadata = createBaseMetadata( artifact ); + Versioning versioning = new Versioning(); + versioning.addVersion( artifact.getBaseVersion() ); + metadata.setVersioning( versioning ); + updateMetadata( new ArtifactRepositoryMetadata( artifact ), targetRepository, metadata ); + + metadata = createBaseMetadata( artifact ); + metadata.setVersion( artifact.getBaseVersion() ); + versioning = new Versioning(); + + Matcher matcher = Artifact.VERSION_FILE_PATTERN.matcher( artifact.getVersion() ); + if ( matcher.matches() ) + { + Snapshot snapshot = new Snapshot(); + snapshot.setBuildNumber( Integer.valueOf( matcher.group( 3 ) ).intValue() ); + snapshot.setTimestamp( matcher.group( 2 ) ); + versioning.setSnapshot( snapshot ); + } + + // TODO: merge latest/release/snapshot from source instead + metadata.setVersioning( versioning ); + updateMetadata( new SnapshotArtifactRepositoryMetadata( artifact ), targetRepository, metadata ); + } + + private static Metadata createBaseMetadata( Artifact artifact ) + { + Metadata metadata = new Metadata(); + metadata.setArtifactId( artifact.getArtifactId() ); + metadata.setGroupId( artifact.getGroupId() ); + return metadata; + } + + private void updateMetadata( ArtifactMetadata artifactMetadata, ArtifactRepository targetRepository, + Metadata newMetadata ) + throws RepositoryConversionException + { + File file = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) ); + + Metadata metadata; + boolean changed; + + if ( file.exists() ) + { + MetadataXpp3Reader reader = new MetadataXpp3Reader(); + FileReader fileReader = null; + try + { + fileReader = new FileReader( file ); + metadata = reader.read( fileReader ); + } + catch ( IOException e ) + { + throw new RepositoryConversionException( "Error reading target metadata", e ); + } + catch ( XmlPullParserException e ) + { + throw new RepositoryConversionException( "Error reading target metadata", e ); + } + finally + { + IOUtil.close( fileReader ); + } + changed = metadata.merge( newMetadata ); + } + else + { + changed = true; + metadata = newMetadata; + } + + if ( changed ) + { + Writer writer = null; + try + { + file.getParentFile().mkdirs(); + writer = new FileWriter( file ); + + MetadataXpp3Writer mappingWriter = new MetadataXpp3Writer(); + + mappingWriter.write( writer, metadata ); + } + catch ( IOException e ) + { + throw new RepositoryConversionException( "Error writing target metadata", e ); + } + finally + { + IOUtil.close( writer ); + } + } } private void copyPom( Artifact artifact, ArtifactRepository targetRepository ) @@ -73,6 +177,7 @@ public class DefaultRepositoryConverter { Artifact pom = artifactFactory.createProjectArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion() ); + pom.setBaseVersion( artifact.getBaseVersion() ); ArtifactRepository repository = artifact.getRepository(); File file = new File( repository.getBasedir(), repository.pathOf( pom ) ); diff --git a/maven-repository-converter/src/test/expected-files/converted-v3-snapshot.pom b/maven-repository-converter/src/test/expected-files/converted-v3-snapshot.pom new file mode 100644 index 000000000..9134c3cdf --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/converted-v3-snapshot.pom @@ -0,0 +1,22 @@ + + 4.0.0 + test + v3artifact + 1.0.0-SNAPSHOT + + scm:cvs:ext:${maven.username}@localhost:/home/cvs + + + + groupId + artifactId + version + + + groupId + test-artifactId + version + test + + + diff --git a/maven-repository-converter/src/test/expected-files/converted-v3-timestamped-snapshot.pom b/maven-repository-converter/src/test/expected-files/converted-v3-timestamped-snapshot.pom new file mode 100644 index 000000000..46eacaf2e --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/converted-v3-timestamped-snapshot.pom @@ -0,0 +1,22 @@ + + 4.0.0 + test + v3artifact + 1.0.0-20060105.130101-3 + + scm:cvs:ext:${maven.username}@localhost:/home/cvs + + + + groupId + artifactId + version + + + groupId + test-artifactId + version + test + + + diff --git a/maven-repository-converter/src/test/expected-files/v3-artifact-metadata.xml b/maven-repository-converter/src/test/expected-files/v3-artifact-metadata.xml new file mode 100644 index 000000000..fdd112904 --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v3-artifact-metadata.xml @@ -0,0 +1,9 @@ + + test + v3artifact + + + 1.0.0-SNAPSHOT + + + \ No newline at end of file diff --git a/maven-repository-converter/src/test/expected-files/v3-snapshot-metadata.xml b/maven-repository-converter/src/test/expected-files/v3-snapshot-metadata.xml new file mode 100644 index 000000000..4a65c711d --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v3-snapshot-metadata.xml @@ -0,0 +1,6 @@ + + test + v3artifact + 1.0.0-SNAPSHOT + + \ No newline at end of file diff --git a/maven-repository-converter/src/test/expected-files/v3-timestamped-snapshot-metadata.xml b/maven-repository-converter/src/test/expected-files/v3-timestamped-snapshot-metadata.xml new file mode 100644 index 000000000..2dceed432 --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v3-timestamped-snapshot-metadata.xml @@ -0,0 +1,11 @@ + + test + v3artifact + 1.0.0-SNAPSHOT + + + 20060105.130101 + 3 + + + \ No newline at end of file diff --git a/maven-repository-converter/src/test/expected-files/v4-artifact-metadata.xml b/maven-repository-converter/src/test/expected-files/v4-artifact-metadata.xml new file mode 100644 index 000000000..efc4f47bc --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v4-artifact-metadata.xml @@ -0,0 +1,9 @@ + + test + v4artifact + + + 1.0.0-SNAPSHOT + + + \ No newline at end of file diff --git a/maven-repository-converter/src/test/expected-files/v4-snapshot-metadata.xml b/maven-repository-converter/src/test/expected-files/v4-snapshot-metadata.xml new file mode 100644 index 000000000..3cbb0026e --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v4-snapshot-metadata.xml @@ -0,0 +1,6 @@ + + test + v4artifact + 1.0.0-SNAPSHOT + + \ No newline at end of file diff --git a/maven-repository-converter/src/test/expected-files/v4-timestamped-snapshot-metadata.xml b/maven-repository-converter/src/test/expected-files/v4-timestamped-snapshot-metadata.xml new file mode 100644 index 000000000..cd2d1b5dc --- /dev/null +++ b/maven-repository-converter/src/test/expected-files/v4-timestamped-snapshot-metadata.xml @@ -0,0 +1,11 @@ + + test + v4artifact + 1.0.0-SNAPSHOT + + + 20060111.120115 + 1 + + + \ No newline at end of file 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 4dc9a9a9f..af37a9830 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 @@ -18,9 +18,12 @@ package org.apache.maven.repository.converter; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.factory.ArtifactFactory; +import org.apache.maven.artifact.metadata.ArtifactMetadata; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.repository.ArtifactRepositoryFactory; import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout; +import org.apache.maven.artifact.repository.metadata.ArtifactRepositoryMetadata; +import org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; @@ -29,6 +32,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.regex.Matcher; /** * Test the repository converter. @@ -37,6 +41,8 @@ import java.util.List; * @todo what about deletions from the source repository? * @todo use artifact-test instead * @todo should reject if dependencies are missing - rely on reporting? + * @todo group metadata + * @todo write timestamp into the metadata */ public class RepositoryConverterTest extends PlexusTestCase @@ -94,9 +100,9 @@ public class RepositoryConverterTest File sourcePomFile = new File( sourceRepository.getBasedir(), sourceRepository.pathOf( artifact ) ); assertTrue( "Check POM created", pomFile.exists() ); - String sourceContent = FileUtils.fileRead( sourcePomFile ).trim(); - String targetContent = FileUtils.fileRead( pomFile ).trim(); - assertEquals( "Check POM matches", sourceContent, targetContent ); + compareFiles( sourcePomFile, pomFile ); + + // TODO: metadata } public void testV3PomConvert() @@ -118,20 +124,182 @@ public class RepositoryConverterTest compareFiles( expectedPomFile, pomFile ); - // TODO: test warnings (separate test?) + // TODO: metadata } - private static void compareFiles( File expectedPomFile, File pomFile ) - throws IOException + public void testV3PomWarningsOnConvert() { - String expectedContent = normalizeString( FileUtils.fileRead( expectedPomFile ) ); - String targetContent = normalizeString( FileUtils.fileRead( pomFile ) ); - assertEquals( "Check POM was converted", expectedContent, targetContent ); + // test that the pom is converted but that warnings are reported + + // TODO } - private static String normalizeString( String path ) + public void testV4SnapshotPomConvert() + throws IOException, RepositoryConversionException { - return path.trim().replace( "\r\n", "\n" ).replace( '\r', '\n' ); + // test that it is copied as is + + Artifact artifact = createArtifact( "test", "v4artifact", "1.0.0-SNAPSHOT" ); + ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( artifact ); + File artifactMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) ); + artifactMetadataFile.delete(); + + ArtifactMetadata snapshotMetadata = new SnapshotArtifactRepositoryMetadata( artifact ); + File snapshotMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) ); + snapshotMetadataFile.delete(); + + repositoryConverter.convert( artifact, targetRepository ); + + File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + assertTrue( "Check artifact created", artifactFile.exists() ); + assertTrue( "Check artifact matches", FileUtils.contentEquals( artifactFile, artifact.getFile() ) ); + + artifact = createPomArtifact( artifact ); + File pomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + File sourcePomFile = new File( sourceRepository.getBasedir(), sourceRepository.pathOf( artifact ) ); + assertTrue( "Check POM created", pomFile.exists() ); + + compareFiles( sourcePomFile, pomFile ); + + assertTrue( "Check artifact metadata created", artifactMetadataFile.exists() ); + + File expectedMetadataFile = getTestFile( "src/test/expected-files/v4-artifact-metadata.xml" ); + + compareFiles( expectedMetadataFile, artifactMetadataFile ); + + assertTrue( "Check snapshot metadata created", snapshotMetadataFile.exists() ); + + expectedMetadataFile = getTestFile( "src/test/expected-files/v4-snapshot-metadata.xml" ); + + compareFiles( expectedMetadataFile, snapshotMetadataFile ); + } + + public void testV3SnapshotPomConvert() + throws IOException, RepositoryConversionException + { + // test that the pom is coverted + + Artifact artifact = createArtifact( "test", "v3artifact", "1.0.0-SNAPSHOT" ); + ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( artifact ); + File artifactMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) ); + artifactMetadataFile.delete(); + + ArtifactMetadata snapshotMetadata = new SnapshotArtifactRepositoryMetadata( artifact ); + File snapshotMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) ); + snapshotMetadataFile.delete(); + + repositoryConverter.convert( artifact, targetRepository ); + + File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + assertTrue( "Check artifact created", artifactFile.exists() ); + assertTrue( "Check artifact matches", FileUtils.contentEquals( artifactFile, artifact.getFile() ) ); + + artifact = createPomArtifact( artifact ); + File pomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + File expectedPomFile = getTestFile( "src/test/expected-files/converted-v3-snapshot.pom" ); + assertTrue( "Check POM created", pomFile.exists() ); + + compareFiles( expectedPomFile, pomFile ); + + assertTrue( "Check artifact metadata created", artifactMetadataFile.exists() ); + + File expectedMetadataFile = getTestFile( "src/test/expected-files/v3-artifact-metadata.xml" ); + + compareFiles( expectedMetadataFile, artifactMetadataFile ); + + assertTrue( "Check snapshot metadata created", snapshotMetadataFile.exists() ); + + expectedMetadataFile = getTestFile( "src/test/expected-files/v3-snapshot-metadata.xml" ); + + compareFiles( expectedMetadataFile, snapshotMetadataFile ); + } + + public void testV4TimestampedSnapshotPomConvert() + throws IOException, RepositoryConversionException + { + // test that it is copied as is + + Artifact artifact = createArtifact( "test", "v4artifact", "1.0.0-20060111.120115-1" ); + ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( artifact ); + File artifactMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) ); + artifactMetadataFile.delete(); + + ArtifactMetadata snapshotMetadata = new SnapshotArtifactRepositoryMetadata( artifact ); + File snapshotMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) ); + snapshotMetadataFile.delete(); + + repositoryConverter.convert( artifact, targetRepository ); + + File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + assertTrue( "Check artifact created", artifactFile.exists() ); + assertTrue( "Check artifact matches", FileUtils.contentEquals( artifactFile, artifact.getFile() ) ); + + artifact = createPomArtifact( artifact ); + File pomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + File sourcePomFile = new File( sourceRepository.getBasedir(), sourceRepository.pathOf( artifact ) ); + assertTrue( "Check POM created", pomFile.exists() ); + + compareFiles( sourcePomFile, pomFile ); + + assertTrue( "Check artifact metadata created", artifactMetadataFile.exists() ); + + File expectedMetadataFile = getTestFile( "src/test/expected-files/v4-artifact-metadata.xml" ); + + compareFiles( expectedMetadataFile, artifactMetadataFile ); + + assertTrue( "Check snapshot metadata created", snapshotMetadataFile.exists() ); + + expectedMetadataFile = getTestFile( "src/test/expected-files/v4-timestamped-snapshot-metadata.xml" ); + + compareFiles( expectedMetadataFile, snapshotMetadataFile ); + } + + public void testV3TimestampedSnapshotPomConvert() + throws IOException, RepositoryConversionException + { + // test that the pom is coverted + + Artifact artifact = createArtifact( "test", "v3artifact", "1.0.0-20060105.130101-3" ); + ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( artifact ); + File artifactMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( artifactMetadata ) ); + artifactMetadataFile.delete(); + + ArtifactMetadata snapshotMetadata = new SnapshotArtifactRepositoryMetadata( artifact ); + File snapshotMetadataFile = new File( targetRepository.getBasedir(), + targetRepository.pathOfRemoteRepositoryMetadata( snapshotMetadata ) ); + snapshotMetadataFile.delete(); + + repositoryConverter.convert( artifact, targetRepository ); + + File artifactFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + assertTrue( "Check artifact created", artifactFile.exists() ); + assertTrue( "Check artifact matches", FileUtils.contentEquals( artifactFile, artifact.getFile() ) ); + + artifact = createPomArtifact( artifact ); + File pomFile = new File( targetRepository.getBasedir(), targetRepository.pathOf( artifact ) ); + File expectedPomFile = getTestFile( "src/test/expected-files/converted-v3-timestamped-snapshot.pom" ); + assertTrue( "Check POM created", pomFile.exists() ); + + compareFiles( expectedPomFile, pomFile ); + + assertTrue( "Check artifact snapshotMetadata created", artifactMetadataFile.exists() ); + + File expectedMetadataFile = getTestFile( "src/test/expected-files/v3-artifact-metadata.xml" ); + + compareFiles( expectedMetadataFile, artifactMetadataFile ); + + assertTrue( "Check snapshot snapshotMetadata created", snapshotMetadataFile.exists() ); + + expectedMetadataFile = getTestFile( "src/test/expected-files/v3-timestamped-snapshot-metadata.xml" ); + + compareFiles( expectedMetadataFile, snapshotMetadataFile ); } public void testNoPomConvert() @@ -213,13 +381,8 @@ public class RepositoryConverterTest repositoryConverter.convert( artifact, targetRepository ); - String expectedContent = FileUtils.fileRead( sourceFile ).trim(); - String targetContent = FileUtils.fileRead( targetFile ).trim(); - assertEquals( "Check file matches", expectedContent, targetContent ); - - expectedContent = FileUtils.fileRead( sourcePomFile ).trim(); - targetContent = FileUtils.fileRead( targetPomFile ).trim(); - assertEquals( "Check POM matches", expectedContent, targetContent ); + compareFiles( sourceFile, targetFile ); + compareFiles( sourcePomFile, targetPomFile ); assertEquals( "Check unmodified", origTime, targetFile.lastModified() ); assertEquals( "Check unmodified", origPomTime, targetPomFile.lastModified() ); @@ -259,13 +422,8 @@ public class RepositoryConverterTest repositoryConverter.convert( artifact, targetRepository ); - String expectedContent = FileUtils.fileRead( sourceFile ).trim(); - String targetContent = FileUtils.fileRead( targetFile ).trim(); - assertEquals( "Check file matches", expectedContent, targetContent ); - - expectedContent = FileUtils.fileRead( sourcePomFile ).trim(); - targetContent = FileUtils.fileRead( targetPomFile ).trim(); - assertEquals( "Check POM matches", expectedContent, targetContent ); + compareFiles( sourceFile, targetFile ); + compareFiles( sourcePomFile, targetPomFile ); assertFalse( "Check modified", origTime == targetFile.lastModified() ); assertFalse( "Check modified", origPomTime == targetPomFile.lastModified() ); @@ -366,13 +524,6 @@ public class RepositoryConverterTest // TODO } - public void testSnapshotArtifact() - { - // test snapshot artifact is converted - - // TODO - } - public void testInvalidSourceSnapshotMetadata() { // test artifact is not converted when source snapshot metadata is invalid and returns failure @@ -380,20 +531,6 @@ public class RepositoryConverterTest // TODO } - public void testCreateArtifactMetadata() - { - // test artifact level metadata is created when it doesn't exist on successful conversion - - // TODO - } - - public void testCreateSnapshotMetadata() - { - // test snapshot metadata is created when it doesn't exist on successful conversion - - // TODO - } - public void testMergeArtifactMetadata() { // test artifact level metadata is merged when it already exists on successful conversion @@ -417,12 +554,24 @@ public class RepositoryConverterTest private Artifact createArtifact( String groupId, String artifactId, String version ) { - return createArtifact( groupId, artifactId, version, "jar" ); + Matcher matcher = Artifact.VERSION_FILE_PATTERN.matcher( version ); + String baseVersion; + if ( matcher.matches() ) + { + baseVersion = matcher.group( 1 ) + "-SNAPSHOT"; + } + else + { + baseVersion = version; + } + return createArtifact( groupId, artifactId, baseVersion, version, "jar" ); } - private Artifact createArtifact( String groupId, String artifactId, String version, String type ) + private Artifact createArtifact( String groupId, String artifactId, String baseVersion, String version, + String type ) { Artifact artifact = artifactFactory.createArtifact( groupId, artifactId, version, null, type ); + artifact.setBaseVersion( baseVersion ); artifact.setRepository( sourceRepository ); artifact.setFile( new File( sourceRepository.getBasedir(), sourceRepository.pathOf( artifact ) ) ); return artifact; @@ -430,7 +579,21 @@ public class RepositoryConverterTest private Artifact createPomArtifact( Artifact artifact ) { - return createArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), "pom" ); + return createArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getBaseVersion(), + artifact.getVersion(), "pom" ); + } + + private static void compareFiles( File expectedPomFile, File pomFile ) + throws IOException + { + String expectedContent = normalizeString( FileUtils.fileRead( expectedPomFile ) ); + String targetContent = normalizeString( FileUtils.fileRead( pomFile ) ); + assertEquals( "Check file match", expectedContent, targetContent ); + } + + private static String normalizeString( String path ) + { + return path.trim().replace( "\r\n", "\n" ).replace( '\r', '\n' ); } } diff --git a/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-20060105.130101-3.jar b/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-20060105.130101-3.jar new file mode 100644 index 000000000..29ef827e8 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-20060105.130101-3.jar @@ -0,0 +1 @@ +v3 diff --git a/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-SNAPSHOT.jar b/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-SNAPSHOT.jar new file mode 100644 index 000000000..29ef827e8 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/jars/v3artifact-1.0.0-SNAPSHOT.jar @@ -0,0 +1 @@ +v3 diff --git a/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-20060111.120115-1.jar b/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-20060111.120115-1.jar new file mode 100644 index 000000000..29ef827e8 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-20060111.120115-1.jar @@ -0,0 +1 @@ +v3 diff --git a/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-SNAPSHOT.jar b/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-SNAPSHOT.jar new file mode 100644 index 000000000..29ef827e8 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/jars/v4artifact-1.0.0-SNAPSHOT.jar @@ -0,0 +1 @@ +v3 diff --git a/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-20060105.130101-3.pom b/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-20060105.130101-3.pom new file mode 100644 index 000000000..4d550c7dd --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-20060105.130101-3.pom @@ -0,0 +1,47 @@ + + + + 3 + v3artifact + test + 1.0.0-20060105.130101-3 + + + 1.0 + 1.0 + 1_0 + + + + + groupId + artifactId + version + + + groupId + test-artifactId + version + + test + + + + + scm:cvs:ext:${maven.username}@localhost:/home/cvs + + diff --git a/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-SNAPSHOT.pom b/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-SNAPSHOT.pom new file mode 100644 index 000000000..966d1a509 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/poms/v3artifact-1.0.0-SNAPSHOT.pom @@ -0,0 +1,47 @@ + + + + 3 + v3artifact + test + 1.0.0-SNAPSHOT + + + 1.0 + 1.0 + 1_0 + + + + + groupId + artifactId + version + + + groupId + test-artifactId + version + + test + + + + + scm:cvs:ext:${maven.username}@localhost:/home/cvs + + diff --git a/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-20060111.120115-1.pom b/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-20060111.120115-1.pom new file mode 100644 index 000000000..e4f36566a --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-20060111.120115-1.pom @@ -0,0 +1,22 @@ + + + + 4.0.0 + test + v4artifact + 1.0.0-20060111.120115-1 + diff --git a/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-SNAPSHOT.pom b/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-SNAPSHOT.pom new file mode 100644 index 000000000..be5b8b7e2 --- /dev/null +++ b/maven-repository-converter/src/test/source-repository/test/poms/v4artifact-1.0.0-SNAPSHOT.pom @@ -0,0 +1,22 @@ + + + + 4.0.0 + test + v4artifact + 1.0.0-SNAPSHOT +