You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2007/02/11 20:52:45 UTC
svn commit: r506108 -
/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
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 );
}
}
Re: svn commit: r506108 - /maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/artifact/ProjectArtifactMetadata.java
Posted by Brett Porter <br...@apache.org>.
What about using fileutils.copyFile?
- Brett
On 12/02/2007, at 6:52 AM, jvanzyl@apache.org wrote:
> 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.RepositoryMetadataStoreE
> xception;
> -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 );
> }
> }
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org