Added: 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java?view=auto&rev=510627
==============================================================================
--- 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
 (added)
+++ 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
 Thu Feb 22 11:07:37 2007
@@ -0,0 +1,1010 @@
+package org.apache.maven.artifact.converter;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+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;
+
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.regex.Matcher;
+
+/**
+ * LegacyToDefaultConverterTest 
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Joakim Erdfelt</a>
+ * @version $Id$
+ */
+public class LegacyToDefaultConverterTest
+    extends PlexusTestCase
+{
+    private ArtifactRepository sourceRepository;
+
+    private ArtifactRepository targetRepository;
+
+    private ArtifactConverter artifactConverter;
+
+    private ArtifactFactory artifactFactory;
+
+    private static final int SLEEP_MILLIS = 100;
+
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+
+        ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) 
lookup( ArtifactRepositoryFactory.ROLE );
+
+        ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup( 
ArtifactRepositoryLayout.ROLE, "legacy" );
+
+        File sourceBase = getTestFile( "src/test/source-repository" );
+        sourceRepository = factory.createArtifactRepository( "source", 
sourceBase.toURL().toString(), layout, null,
+                                                             null );
+
+        layout = (ArtifactRepositoryLayout) lookup( 
ArtifactRepositoryLayout.ROLE, "default" );
+
+        File targetBase = getTestFile( "target/test-target-repository" );
+        copyDirectoryStructure( getTestFile( "src/test/target-repository" ), 
targetBase );
+
+        targetRepository = factory.createArtifactRepository( "target", 
targetBase.toURL().toString(), layout, null,
+                                                             null );
+
+        artifactConverter = (ArtifactConverter) lookup( 
ArtifactConverter.ROLE, "legacy-to-default" );
+
+        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+    }
+
+    protected void tearDown()
+        throws Exception
+    {
+        super.tearDown();
+    }
+
+    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 Exception
+    {
+        // test that it is copied as is
+
+        Artifact artifact = createArtifact( "test", "v4artifact", "1.0.0" );
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        artifactMetadataFile.delete();
+
+        ArtifactMetadata versionMetadata = new 
SnapshotArtifactRepositoryMetadata( artifact );
+        File versionMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( versionMetadata ) );
+        versionMetadataFile.delete();
+
+        File artifactFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        artifactFile.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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", 
versionMetadataFile.exists() );
+
+        expectedMetadataFile = getTestFile( 
"src/test/expected-files/v4-version-metadata.xml" );
+
+        compareFiles( expectedMetadataFile, versionMetadataFile );
+    }
+
+    public void testV3PomConvert()
+        throws Exception
+    {
+        // test that the pom is coverted
+
+        Artifact artifact = createArtifact( "test", "v3artifact", "1.0.0" );
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        artifactMetadataFile.delete();
+
+        ArtifactMetadata versionMetadata = new 
SnapshotArtifactRepositoryMetadata( artifact );
+        File versionMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( versionMetadata ) );
+        versionMetadataFile.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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.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", 
versionMetadataFile.exists() );
+
+        expectedMetadataFile = getTestFile( 
"src/test/expected-files/v3-version-metadata.xml" );
+
+        compareFiles( expectedMetadataFile, versionMetadataFile );
+    }
+
+    public void testV3PomConvertWithRelocation()
+        throws Exception
+    {
+        Artifact artifact = createArtifact( "test", "relocated-v3artifact", 
"1.0.0" );
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        artifactMetadataFile.delete();
+
+        ArtifactMetadata versionMetadata = new 
SnapshotArtifactRepositoryMetadata( artifact );
+        File versionMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( versionMetadata ) );
+        versionMetadataFile.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        //checkSuccess();  --> commented until MNG-2100 is fixed
+
+        File artifactFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        assertTrue( "Check if relocated artifact created", 
artifactFile.exists() );
+        assertTrue( "Check if relocated artifact matches", 
FileUtils.contentEquals( artifactFile, artifact.getFile() ) );
+        Artifact pomArtifact = createArtifact( "relocated-test", 
"relocated-v3artifact", "1.0.0", "1.0.0", "pom" );
+        File pomFile = getTestFile( "src/test/expected-files/" + 
targetRepository.pathOf( pomArtifact ) );
+        File testFile = getTestFile( "target/test-target-repository/" + 
targetRepository.pathOf( pomArtifact ) );
+        compareFiles( pomFile, testFile );
+
+        Artifact orig = createArtifact( "test", "relocated-v3artifact", 
"1.0.0", "1.0.0", "pom" );
+        artifactFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( orig ) );
+        assertTrue( "Check if relocation artifact pom is created", 
artifactFile.exists() );
+        testFile = getTestFile( "src/test/expected-files/" + 
targetRepository.pathOf( orig ) );
+        compareFiles( artifactFile, testFile );
+    }
+
+    public void testV3PomWarningsOnConvert()
+        throws Exception
+    {
+        // test that the pom is converted but that warnings are reported
+
+        Artifact artifact = createArtifact( "test", "v3-warnings-artifact", 
"1.0.0" );
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        artifactMetadataFile.delete();
+
+        ArtifactMetadata versionMetadata = new 
SnapshotArtifactRepositoryMetadata( artifact );
+        File versionMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( versionMetadata ) );
+        versionMetadataFile.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        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-warnings.pom" );
+        assertTrue( "Check POM created", pomFile.exists() );
+
+        compareFiles( expectedPomFile, pomFile );
+
+        // TODO: check 2 warnings (extend and versions) matched on i18n key
+    }
+
+    private void doTestV4SnapshotPomConvert( String version, String 
expectedMetadataFileName )
+        throws Exception
+    {
+        // test that it is copied as is
+
+        Artifact artifact = createArtifact( "test", "v4artifact", version );
+        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();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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-snapshot-artifact-metadata.xml" );
+
+        compareFiles( expectedMetadataFile, artifactMetadataFile );
+
+        assertTrue( "Check snapshot metadata created", 
snapshotMetadataFile.exists() );
+
+        expectedMetadataFile = getTestFile( expectedMetadataFileName );
+
+        compareFiles( expectedMetadataFile, snapshotMetadataFile );
+    }
+
+    public void testV3SnapshotPomConvert()
+        throws Exception
+    {
+        // 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();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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-snapshot-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 testV4SnapshotPomConvert()
+        throws Exception
+    {
+        doTestV4SnapshotPomConvert( "1.0.0-SNAPSHOT", 
"src/test/expected-files/v4-snapshot-metadata.xml" );
+
+        assertTrue( true );
+    }
+
+    public void testV4TimestampedSnapshotPomConvert()
+        throws Exception
+    {
+        doTestV4SnapshotPomConvert( "1.0.0-20060111.120115-1",
+                                    
"src/test/expected-files/v4-timestamped-snapshot-metadata.xml" );
+
+        assertTrue( true );
+    }
+
+    public void testMavenOnePluginConversion()
+        throws Exception
+    {
+        Artifact artifact = createArtifact( "org.apache.maven.plugins", 
"maven-foo-plugin", "1.0", "1.0",
+                                            "maven-plugin" );
+        artifact.setFile( new File( getBasedir(), 
"src/test/source-repository/test/plugins/maven-foo-plugin-1.0.jar" ) );
+        artifactConverter.convert( artifact, targetRepository );
+        // There is a warning but I can't figure out how to look at it. 
Eyeballing the results it appears
+        // the plugin is being coverted correctly.
+        //checkSuccess();
+
+        File artifactFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        assertTrue( "Check artifact created", artifactFile.exists() );
+        assertTrue( "Check artifact matches", FileUtils.contentEquals( 
artifactFile, artifact.getFile() ) );
+
+        /*
+         The POM isn't needed for Maven 1.x plugins but the raw conversion for 
 
+
+         artifact = createPomArtifact( artifact );
+         File pomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+         File expectedPomFile = getTestFile( 
"src/test/expected-files/maven-foo-plugin-1.0.pom" );
+         assertTrue( "Check POM created", pomFile.exists() );
+         compareFiles( expectedPomFile, pomFile );
+         */
+    }
+
+    public void testV3TimestampedSnapshotPomConvert()
+        throws Exception
+    {
+        // 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();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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-snapshot-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()
+        throws Exception
+    {
+        // test that a POM is not created when there was none at the source
+
+        Artifact artifact = createArtifact( "test", "noPomArtifact", "1.0.0" );
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 1 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"warning.missing.pom" ) );
+
+        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 ) );
+
+        assertFalse( "Check no POM created", pomFile.exists() );
+        assertFalse( "No source POM", sourcePomFile.exists() );
+    }
+
+    public void testIncorrectSourceChecksumMd5()
+        throws Exception
+    {
+        // test that it fails when the source md5 is wrong
+
+        Artifact artifact = createArtifact( "test", "incorrectMd5Artifact", 
"1.0.0" );
+        File file = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        file.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.incorrect.md5" ) );
+
+        assertFalse( "Check artifact not created", file.exists() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testIncorrectSourceChecksumSha1()
+        throws Exception
+    {
+        // test that it fails when the source sha1 is wrong
+
+        Artifact artifact = createArtifact( "test", "incorrectSha1Artifact", 
"1.0.0" );
+        File file = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        file.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.incorrect.sha1" ) );
+
+        assertFalse( "Check artifact not created", file.exists() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testUnmodifiedArtifact()
+        throws Exception, InterruptedException
+    {
+        // test the unmodified artifact is untouched
+
+        Artifact artifact = createArtifact( "test", "unmodified-artifact", 
"1.0.0" );
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        assertTrue( "Check target file exists", targetFile.exists() );
+        assertTrue( "Check target POM exists", targetPomFile.exists() );
+
+        sourceFile.setLastModified( System.currentTimeMillis() );
+        sourcePomFile.setLastModified( System.currentTimeMillis() );
+
+        long origTime = targetFile.lastModified();
+        long origPomTime = targetPomFile.lastModified();
+
+        // Need to guarantee last modified is not equal
+        Thread.sleep( SLEEP_MILLIS );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        compareFiles( sourceFile, targetFile );
+        compareFiles( sourcePomFile, targetPomFile );
+
+        assertEquals( "Check artifact unmodified", origTime, 
targetFile.lastModified() );
+        assertEquals( "Check POM unmodified", origPomTime, 
targetPomFile.lastModified() );
+    }
+
+    public void testModifedArtifactFails()
+        throws Exception
+    {
+        // test that it fails when the source artifact has changed and is 
different to the existing artifact in the
+        // target repository
+
+        Artifact artifact = createArtifact( "test", "modified-artifact", 
"1.0.0" );
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        assertTrue( "Check target file exists", targetFile.exists() );
+        assertTrue( "Check target POM exists", targetPomFile.exists() );
+
+        sourceFile.setLastModified( System.currentTimeMillis() );
+        sourcePomFile.setLastModified( System.currentTimeMillis() );
+
+        long origTime = targetFile.lastModified();
+        long origPomTime = targetPomFile.lastModified();
+
+        // Need to guarantee last modified is not equal
+        Thread.sleep( SLEEP_MILLIS );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.target.already.exists" ) );
+
+        assertEquals( "Check unmodified", origTime, targetFile.lastModified() 
);
+        assertEquals( "Check unmodified", origPomTime, 
targetPomFile.lastModified() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testForcedUnmodifiedArtifact()
+        throws Exception
+    {
+        // test unmodified artifact is still converted when set to force
+
+        artifactConverter = (ArtifactConverter) lookup( 
ArtifactConverter.ROLE, "force-repository-converter" );
+
+        Artifact artifact = createArtifact( "test", "unmodified-artifact", 
"1.0.0" );
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        SimpleDateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd", 
Locale.getDefault() );
+        long origTime = dateFormat.parse( "2006-03-03" ).getTime();
+        targetFile.setLastModified( origTime );
+        targetPomFile.setLastModified( origTime );
+
+        sourceFile.setLastModified( dateFormat.parse( "2006-01-01" ).getTime() 
);
+        sourcePomFile.setLastModified( dateFormat.parse( "2006-02-02" 
).getTime() );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        compareFiles( sourceFile, targetFile );
+        compareFiles( sourcePomFile, targetPomFile );
+
+        assertFalse( "Check modified", origTime == targetFile.lastModified() );
+        assertFalse( "Check modified", origTime == 
targetPomFile.lastModified() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertTrue( "Check metadata created", metadataFile.exists() );
+    }
+
+    public void testDryRunSuccess()
+        throws Exception
+    {
+        // test dry run does nothing on a run that will be successful, and 
returns success
+
+        artifactConverter = (ArtifactConverter) lookup( 
ArtifactConverter.ROLE, "dryrun-repository-converter" );
+
+        Artifact artifact = createArtifact( "test", "dryrun-artifact", "1.0.0" 
);
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        assertTrue( "Check source file exists", sourceFile.exists() );
+        assertTrue( "Check source POM exists", sourcePomFile.exists() );
+
+        assertFalse( "Check target file doesn't exist", targetFile.exists() );
+        assertFalse( "Check target POM doesn't exist", targetPomFile.exists() 
);
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testDryRunFailure()
+        throws Exception
+    {
+        // test dry run does nothing on a run that will fail, and returns 
failure
+
+        artifactConverter = (ArtifactConverter) lookup( 
ArtifactConverter.ROLE, "dryrun-repository-converter" );
+
+        Artifact artifact = createArtifact( "test", "modified-artifact", 
"1.0.0" );
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        assertTrue( "Check target file exists", targetFile.exists() );
+        assertTrue( "Check target POM exists", targetPomFile.exists() );
+
+        sourceFile.setLastModified( System.currentTimeMillis() );
+        sourcePomFile.setLastModified( System.currentTimeMillis() );
+
+        long origTime = targetFile.lastModified();
+        long origPomTime = targetPomFile.lastModified();
+
+        // Need to guarantee last modified is not equal
+        Thread.sleep( SLEEP_MILLIS );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.target.already.exists" ) );
+
+        assertEquals( "Check unmodified", origTime, targetFile.lastModified() 
);
+        assertEquals( "Check unmodified", origPomTime, 
targetPomFile.lastModified() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testRollbackArtifactCreated()
+        throws Exception
+    {
+        // test rollback can remove a created artifact, including checksums
+
+        Artifact artifact = createArtifact( "test", 
"rollback-created-artifact", "1.0.0" );
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        FileUtils.deleteDirectory( artifactMetadataFile.getParentFile() );
+
+        ArtifactMetadata versionMetadata = new 
SnapshotArtifactRepositoryMetadata( artifact );
+        File versionMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( versionMetadata ) );
+
+        File artifactFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        boolean found = false;
+        String pattern = "^" + Messages.getString( "invalid.source.pom" 
).replaceFirst( "\\{0\\}", ".*" ) + "$";
+        for ( Iterator it = 
artifactConverter.getWarnings().values().iterator(); it.hasNext() && !found; )
+        {
+            List messages = (List) it.next();
+
+            for ( Iterator itmsgs = messages.iterator(); itmsgs.hasNext(); )
+            {
+                String message = (String) itmsgs.next();
+                if ( message.matches( pattern ) )
+                {
+                    found = true;
+                    break;
+                }
+            }
+        }
+
+        assertTrue( "Check failure message.", found );
+
+        assertFalse( "check artifact rolled back", artifactFile.exists() );
+        assertFalse( "check metadata rolled back", 
artifactMetadataFile.exists() );
+        assertFalse( "check metadata rolled back", 
versionMetadataFile.exists() );
+    }
+
+    public void testMultipleArtifacts()
+        throws Exception
+    {
+        // test multiple artifacts are converted
+
+        List artifacts = new ArrayList();
+        artifacts.add( createArtifact( "test", "artifact-one", "1.0.0" ) );
+        artifacts.add( createArtifact( "test", "artifact-two", "1.0.0" ) );
+        artifacts.add( createArtifact( "test", "artifact-three", "1.0.0" ) );
+
+        for ( Iterator it = artifacts.iterator(); it.hasNext(); )
+        {
+            Artifact arti = (Artifact) it.next();
+            artifactConverter.convert( arti, targetRepository );
+            checkSuccess( artifactConverter );
+        }
+
+        for ( Iterator i = artifacts.iterator(); i.hasNext(); )
+        {
+            Artifact artifact = (Artifact) i.next();
+
+            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-" + artifact.getArtifactId()
+                + ".pom" );
+            assertTrue( "Check POM created", pomFile.exists() );
+
+            compareFiles( expectedPomFile, pomFile );
+        }
+    }
+
+    public void testInvalidSourceArtifactMetadata()
+        throws Exception
+    {
+        // test artifact is not converted when source metadata is invalid, and 
returns failure
+
+        createModernSourceRepository();
+
+        Artifact artifact = createArtifact( "test", 
"incorrectArtifactMetadata", "1.0.0" );
+        File file = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        file.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.incorrect.artifactMetadata.versions" ) );
+
+        assertFalse( "Check artifact not created", file.exists() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testInvalidSourceSnapshotMetadata()
+        throws Exception
+    {
+        // test artifact is not converted when source snapshot metadata is 
invalid and returns failure
+
+        createModernSourceRepository();
+
+        Artifact artifact = createArtifact( "test", 
"incorrectSnapshotMetadata", "1.0.0-20060102.030405-6" );
+        File file = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        file.delete();
+
+        artifactConverter.convert( artifact, targetRepository );
+        checkWarnings( artifactConverter, 2 );
+
+        assertHasWarningReason( artifactConverter, Messages.getString( 
"failure.incorrect.snapshotMetadata.snapshot" ) );
+
+        assertFalse( "Check artifact not created", file.exists() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
+    }
+
+    public void testMergeArtifactMetadata()
+        throws Exception
+    {
+        // test artifact level metadata is merged when it already exists on 
successful conversion
+
+        Artifact artifact = createArtifact( "test", "newversion-artifact", 
"1.0.1" );
+        artifactConverter.convert( artifact, targetRepository );
+        checkSuccess( artifactConverter );
+
+        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 );
+
+        ArtifactMetadata artifactMetadata = new ArtifactRepositoryMetadata( 
artifact );
+        File artifactMetadataFile = new File( targetRepository.getBasedir(), 
targetRepository
+            .pathOfRemoteRepositoryMetadata( artifactMetadata ) );
+        assertTrue( "Check artifact metadata created", 
artifactMetadataFile.exists() );
+
+        File expectedMetadataFile = getTestFile( 
"src/test/expected-files/newversion-artifact-metadata.xml" );
+
+        compareFiles( expectedMetadataFile, artifactMetadataFile );
+    }
+
+    public void testSourceAndTargetRepositoriesMatch()
+        throws Exception
+    {
+        // test that it fails if the same
+
+        ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) 
lookup( ArtifactRepositoryFactory.ROLE );
+
+        sourceRepository = factory.createArtifactRepository( "source", 
targetRepository.getUrl(), targetRepository
+            .getLayout(), null, null );
+
+        Artifact artifact = createArtifact( "test", "repository-artifact", 
"1.0" );
+
+        try
+        {
+            artifactConverter.convert( artifact, targetRepository );
+            fail( "Should have failed trying to convert within the same 
repository" );
+        }
+        catch ( ArtifactConversionException e )
+        {
+            // expected
+            assertEquals( "check message", Messages.getString( 
"exception.repositories.match" ), e.getMessage() );
+            assertNull( "Check no additional cause", e.getCause() );
+        }
+    }
+
+    private Artifact createArtifact( String groupId, String artifactId, String 
version )
+    {
+        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 
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;
+    }
+
+    private Artifact createPomArtifact( Artifact artifact )
+    {
+        return createArtifact( artifact.getGroupId(), 
artifact.getArtifactId(), artifact.getBaseVersion(), artifact
+            .getVersion(), "pom" );
+    }
+
+    private static void compareFiles( File expectedPomFile, File pomFile )
+        throws IOException
+    {
+        String expectedContent = normalizeString( AsciiFileUtil.readFile( 
expectedPomFile ) );
+        String targetContent = normalizeString( AsciiFileUtil.readFile( 
pomFile ) );
+        assertEquals( "Check file match between " + expectedPomFile + " and " 
+ pomFile, expectedContent, targetContent );
+    }
+
+    private static String normalizeString( String path )
+    {
+        return path.trim().replaceAll( "\r\n", "\n" ).replace( '\r', '\n' 
).replaceAll( "<\\?xml .+\\?>", "" );
+    }
+
+    private void checkSuccess( ArtifactConverter converter )
+    {
+        assertNotNull( "Warnings should never be null.", 
converter.getWarnings() );
+        assertEquals( "Should have no warnings.", 0, countWarningMessages( 
converter ) );
+    }
+
+    private void checkWarnings( ArtifactConverter converter, int count )
+    {
+        assertNotNull( "Warnings should never be null.", 
converter.getWarnings() );
+        assertEquals( "Should have some warnings.", count, 
countWarningMessages( converter ) );
+    }
+
+    private int countWarningMessages( ArtifactConverter converter )
+    {
+        int count = 0;
+        for ( Iterator it = converter.getWarnings().values().iterator(); 
it.hasNext(); )
+        {
+            List values = (List) it.next();
+            count += values.size();
+        }
+        return count;
+    }
+
+    private void assertHasWarningReason( ArtifactConverter converter, String 
reason )
+    {
+        assertNotNull( "Warnings should never be null.", 
converter.getWarnings() );
+        assertTrue( "Expecting 1 or more Warnings", countWarningMessages( 
converter ) > 0 );
+
+        for ( Iterator it = converter.getWarnings().values().iterator(); 
it.hasNext(); )
+        {
+            List messages = (List) it.next();
+            if ( messages.contains( reason ) )
+            {
+                /* No need to check any furthor */
+                return;
+            }
+        }
+
+        /* didn't find it. */
+
+        for ( Iterator it = converter.getWarnings().entrySet().iterator(); 
it.hasNext(); )
+        {
+            Map.Entry entry = (Entry) it.next();
+            Artifact artifact = (Artifact) entry.getKey();
+            System.out.println( "-Artifact: " + artifact.getGroupId() + ":" + 
artifact.getArtifactId() + ":"
+                + artifact.getVersion() );
+            List messages = (List) entry.getValue();
+            for ( Iterator itmsgs = messages.iterator(); itmsgs.hasNext(); )
+            {
+                String message = (String) itmsgs.next();
+                System.out.println( "  " + message );
+            }
+        }
+        fail( "Unable to find message <" + reason + "> in warnings." );
+    }
+
+    private void createModernSourceRepository()
+        throws Exception
+    {
+        ArtifactRepositoryFactory factory = (ArtifactRepositoryFactory) 
lookup( ArtifactRepositoryFactory.ROLE );
+
+        ArtifactRepositoryLayout layout = (ArtifactRepositoryLayout) lookup( 
ArtifactRepositoryLayout.ROLE, "default" );
+
+        File sourceBase = getTestFile( "src/test/source-modern-repository" );
+        sourceRepository = factory.createArtifactRepository( "source", 
sourceBase.toURL().toString(), layout, null,
+                                                             null );
+    }
+}

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/java/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
URL: 
http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml?view=auto&rev=510627
==============================================================================
--- 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
 (added)
+++ 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
 Thu Feb 22 11:07:37 2007
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~   http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing,
+  ~ software distributed under the License is distributed on an
+  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  ~ KIND, either express or implied.  See the License for the
+  ~ specific language governing permissions and limitations
+  ~ under the License.
+-->
+
+<component-set>
+  <components>
+    
+    <component>
+      <role>org.apache.maven.artifact.converter.ArtifactConverter</role>
+      <role-hint>force-repository-converter</role-hint>
+      
<implementation>org.apache.maven.artifact.converter.LegacyToDefaultConverter</implementation>
+      <description>LegacyToDefaultConverter</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.digest.Digester</role>
+          <field-name>digesters</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.model.converter.ModelConverter</role>
+          <field-name>translator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+          <field-name>artifactFactory</field-name>
+        </requirement>
+        <requirement>
+          
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+          <field-name>artifactHandlerManager</field-name>
+        </requirement>
+      </requirements>
+      <configuration>
+        <force>true</force>
+        <dryrun>false</dryrun>
+      </configuration>
+    </component>
+    
+    <component>
+      <role>org.apache.maven.artifact.converter.ArtifactConverter</role>
+      <role-hint>dryrun-repository-converter</role-hint>
+      
<implementation>org.apache.maven.artifact.converter.LegacyToDefaultConverter</implementation>
+      <description>LegacyToDefaultConverter</description>
+      <requirements>
+        <requirement>
+          <role>org.codehaus.plexus.digest.Digester</role>
+          <field-name>digesters</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.model.converter.ModelConverter</role>
+          <field-name>translator</field-name>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.artifact.factory.ArtifactFactory</role>
+          <field-name>artifactFactory</field-name>
+        </requirement>
+        <requirement>
+          
<role>org.apache.maven.artifact.handler.manager.ArtifactHandlerManager</role>
+          <field-name>artifactHandlerManager</field-name>
+        </requirement>
+      </requirements>
+      <configuration>
+        <force>false</force>
+        <dryrun>true</dryrun>
+      </configuration>
+    </component>
+    
+    
+
+  </components>
+</component-set>

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: 
maven/shared/trunk/maven-artifact-converter/src/test/resources/org/apache/maven/artifact/converter/LegacyToDefaultConverterTest.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml


Reply via email to