Author: jvanzyl
Date: Sun Feb 11 11:52:44 2007
New Revision: 506108

URL: http://svn.apache.org/viewvc?view=rev&rev=506108
Log:
MNG-2820 Leave the POM intact which means no interpolating and no license 
header whacking

Modified:
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java?view=diff&rev=506108&r1=506107&r2=506108
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
 Sun Feb 11 11:52:44 2007
@@ -17,25 +17,20 @@
  */
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.ArtifactStatus;
 import org.apache.maven.artifact.metadata.AbstractArtifactMetadata;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import 
org.apache.maven.artifact.repository.metadata.RepositoryMetadataStoreException;
-import org.apache.maven.model.DistributionManagement;
-import org.apache.maven.model.Model;
-import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
 import org.codehaus.plexus.util.IOUtil;
-import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.codehaus.plexus.util.FileUtils;
 
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
-import java.io.StringReader;
-import java.io.StringWriter;
+import java.io.Reader;
+import java.io.Writer;
 
 /**
  * Attach a POM to an artifact.
@@ -53,7 +48,8 @@
         this( artifact, null );
     }
 
-    public ProjectArtifactMetadata( Artifact artifact, File file )
+    public ProjectArtifactMetadata( Artifact artifact,
+                                    File file )
     {
         super( artifact );
         this.file = file;
@@ -74,42 +70,31 @@
         return getArtifactId() + "-" + artifact.getVersion() + ".pom";
     }
 
-    public void storeInLocalRepository( ArtifactRepository localRepository, 
ArtifactRepository remoteRepository )
+    public void storeInLocalRepository( ArtifactRepository localRepository,
+                                        ArtifactRepository remoteRepository )
         throws RepositoryMetadataStoreException
     {
         File destination = new File( localRepository.getBasedir(),
                                      
localRepository.pathOfLocalRepositoryMetadata( this, remoteRepository ) );
 
-        destination.getParentFile().mkdirs();
+        // 
----------------------------------------------------------------------------
+        // I'm fully aware that the file could just be moved using File.rename 
but
+        // there are bugs in various JVM that have problems doing this across
+        // different filesystem. So we'll incur the small hit to actually copy
+        // here and be safe. jvz.
+        // 
----------------------------------------------------------------------------
+
+        Reader reader = null;
+
+        Writer writer = null;
 
-        FileReader reader = null;
-        FileWriter writer = null;
         try
         {
             reader = new FileReader( file );
-            StringWriter sWriter = new StringWriter();
-            IOUtil.copy( reader, sWriter );
-            
-            String modelSrc = sWriter.toString().replaceAll( 
"\\$\\{(pom\\.|project\\.)?version\\}", artifact.getBaseVersion() );
-            
-            StringReader sReader = new StringReader( modelSrc );
-            
-            writer = new FileWriter( destination );
 
-            MavenXpp3Reader modelReader = new MavenXpp3Reader();
-            Model model = modelReader.read( sReader, false );
-            model.setVersion( artifact.getVersion() );
-
-            DistributionManagement distributionManagement = 
model.getDistributionManagement();
-            if ( distributionManagement == null )
-            {
-                distributionManagement = new DistributionManagement();
-                model.setDistributionManagement( distributionManagement );
-            }
-            distributionManagement.setStatus( 
ArtifactStatus.DEPLOYED.toString() );
+            writer = new FileWriter( destination );
 
-            MavenXpp3Writer modelWriter = new MavenXpp3Writer();
-            modelWriter.write( writer, model );
+            IOUtil.copy( reader, writer );
         }
         catch ( FileNotFoundException e )
         {
@@ -119,13 +104,10 @@
         {
             throw new RepositoryMetadataStoreException( "Error rewriting POM", 
e );
         }
-        catch ( XmlPullParserException e )
-        {
-            throw new RepositoryMetadataStoreException( "Error rewriting POM", 
e );
-        }
         finally
         {
             IOUtil.close( reader );
+
             IOUtil.close( writer );
         }
     }


Reply via email to