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 );
}
}