Author: krosenvold
Date: Sat Nov 29 18:26:36 2014
New Revision: 1642461

URL: http://svn.apache.org/r1642461
Log:
p-io 2.4, p-a 2.9

Adapted to use ResourceFactory from plexus-io

Modified:
    maven/plugins/trunk/maven-assembly-plugin/pom.xml
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java
    
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
    maven/plugins/trunk/maven-war-plugin/pom.xml

Modified: maven/plugins/trunk/maven-assembly-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/pom.xml?rev=1642461&r1=1642460&r2=1642461&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/pom.xml Sat Nov 29 18:26:36 2014
@@ -124,13 +124,7 @@ under the License.
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-archiver</artifactId>
-      <version>2.8.4</version>
-      <exclusions>
-        <exclusion>
-          <groupId>org.codehaus.plexus</groupId>
-          <artifactId>plexus-component-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <version>2.9</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
@@ -155,7 +149,7 @@ under the License.
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-io</artifactId>
-      <version>2.3.5</version>
+      <version>2.4</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java?rev=1642461&r1=1642460&r2=1642461&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/archive/phase/FileItemAssemblyPhase.java
 Sat Nov 29 18:26:36 2014
@@ -19,8 +19,6 @@ package org.apache.maven.plugin.assembly
  * under the License.
  */
 
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.io.output.DeferredFileOutputStream;
 import org.apache.maven.plugin.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugin.assembly.archive.ArchiveCreationException;
 import org.apache.maven.plugin.assembly.format.AssemblyFormattingException;
@@ -31,24 +29,17 @@ import org.apache.maven.plugin.assembly.
 import org.apache.maven.plugin.assembly.utils.TypeConversionUtils;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
-import org.codehaus.plexus.archiver.util.ArchiverAttributeUtils;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.components.io.functions.InputStreamTransformer;
-import org.codehaus.plexus.components.io.resources.PlexusIoFileResource;
 import org.codehaus.plexus.components.io.resources.PlexusIoResource;
-import org.codehaus.plexus.components.io.resources.PlexusIoSymlink;
-import org.codehaus.plexus.components.io.resources.proxy.PlexusIoProxyResource;
-import 
org.codehaus.plexus.components.io.resources.proxy.PlexusIoProxySymlinkResource;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 
-import javax.annotation.Nonnull;
-import java.io.ByteArrayInputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.util.List;
 
+import static 
org.codehaus.plexus.components.io.resources.ResourceFactory.createResource;
+
 /**
  * Handles the top-level &lt;files/&gt; section of the assembly descriptor.
  *
@@ -117,33 +108,13 @@ public class FileItemAssemblyPhase
                 target = outputDirectory + "/" + destName;
             }
 
-            final PlexusIoFileResource res =
-                new PlexusIoFileResource( source, 
ArchiverAttributeUtils.getFileAttributes( source ) );
-            PlexusIoResource restoUse = res;
             try
             {
                 final InputStreamTransformer fileSetTransformers =
                     ReaderFormatter.getFileSetTransformers( configSource, 
fileItem.isFiltered(),
                                                             
fileItem.getLineEnding() );
 
-                if ( fileSetTransformers != null )
-                {
-                    restoUse = new Deferred( res )
-                    {
-                        @Override
-                        protected InputStream getInputStream()
-                            throws IOException
-                        {
-                            return fileSetTransformers.transform( res, 
res.getContents() );
-                        }
-
-                        @Override
-                        public String getName()
-                        {
-                            return res.getName();
-                        }
-                    } .asResource();
-                }
+                final PlexusIoResource restoUse = createResource( source, 
fileSetTransformers );
 
                 int mode = TypeConversionUtils.modeToInt( 
fileItem.getFileMode(), getLogger() );
                 archiver.addResource( restoUse, target, mode );
@@ -159,128 +130,6 @@ public class FileItemAssemblyPhase
         }
     }
 
-    // Nicked from archiver until I can get a better solution. I am the author 
:)
-    abstract class Deferred
-    {
-        final DeferredFileOutputStream dfos;
-
-        final PlexusIoResource resource;
-
-        public Deferred( final PlexusIoResource resource )
-            throws IOException
-        {
-            this.resource = resource;
-            // CHECKSTYLE_OFF: MagicNumber
-            dfos = new DeferredFileOutputStream( 1000000, 
"m-assembly-archiver", null, null );
-            // CHECKSTYLE_ON: MagicNumber
-            InputStream inputStream = getInputStream();
-            IOUtils.copy( inputStream, dfos );
-            IOUtils.closeQuietly( inputStream );
-        }
-
-        protected abstract InputStream getInputStream()
-            throws IOException;
-
-        @Nonnull
-        public InputStream getContents()
-            throws IOException
-        {
-            if ( dfos.isInMemory() )
-            {
-                return new ByteArrayInputStream( dfos.getData() );
-            }
-            else
-            {
-                return new FileInputStream( dfos.getFile() )
-                {
-                    @Override
-                    public void close()
-                        throws IOException
-                    {
-                        super.close();
-                        dfos.getFile().delete();
-                    }
-                };
-            }
-        }
-
-        public long getSize()
-        {
-            if ( dfos == null )
-            {
-                return resource.getSize();
-            }
-            if ( dfos.isInMemory() )
-            {
-                return dfos.getByteCount();
-            }
-            else
-            {
-                return dfos.getFile().length();
-            }
-        }
-
-        public abstract String getName();
-
-        private PlexusIoResource asSymlinkResource()
-        {
-            return new PlexusIoProxySymlinkResource( resource )
-            {
-                @Override
-                public String getName()
-                {
-                    return Deferred.this.getName();
-                }
-
-                @Nonnull
-                @Override
-                public InputStream getContents()
-                    throws IOException
-                {
-                    return Deferred.this.getContents();
-                }
-
-                @Override
-                public long getSize()
-                {
-                    return Deferred.this.getSize();
-                }
-            };
-        }
-
-        public PlexusIoResource asResource()
-        {
-            if ( resource instanceof PlexusIoSymlink )
-            {
-                return asSymlinkResource();
-            }
-
-            return new PlexusIoProxyResource( resource )
-            {
-                @Override
-                public String getName()
-                {
-                    return Deferred.this.getName();
-                }
-
-                @Nonnull
-                @Override
-                public InputStream getContents()
-                    throws IOException
-                {
-                    return Deferred.this.getContents();
-                }
-
-                @Override
-                public long getSize()
-                {
-                    return Deferred.this.getSize();
-                }
-            };
-        }
-
-    }
-
     public int order()
     {
         return 10;

Modified: 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java?rev=1642461&r1=1642460&r2=1642461&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
 (original)
+++ 
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilter.java
 Sat Nov 29 18:26:36 2014
@@ -19,6 +19,8 @@ package org.apache.maven.plugin.assembly
  * under the License.
  */
 
+import org.apache.maven.shared.utils.ReaderFactory;
+import org.apache.maven.shared.utils.WriterFactory;
 import org.codehaus.plexus.archiver.Archiver;
 import org.codehaus.plexus.archiver.ArchiverException;
 import org.codehaus.plexus.archiver.ResourceIterator;
@@ -37,8 +39,6 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
 import java.util.Collections;
@@ -104,22 +104,6 @@ public class ComponentsXmlArchiverFileFi
         }
     }
 
-    // public void addComponentsXml( File componentsXml )
-    // throws IOException, XmlPullParserException
-    // {
-    // FileReader fileReader = null;
-    // try
-    // {
-    // fileReader = new FileReader( componentsXml );
-    //
-    // addComponentsXml( fileReader );
-    // }
-    // finally
-    // {
-    // IOUtil.close( fileReader );
-    // }
-    // }
-
     private void addToArchive( final Archiver archiver )
         throws IOException
     {
@@ -128,8 +112,7 @@ public class ComponentsXmlArchiverFileFi
             final File f = File.createTempFile( "maven-assembly-plugin", "tmp" 
);
             f.deleteOnExit();
 
-            // TODO use WriterFactory.newXmlWriter() when plexus-utils is 
upgraded to 1.4.5+
-            final Writer fileWriter = new OutputStreamWriter( new 
FileOutputStream( f ), "UTF-8" );
+            final Writer fileWriter = WriterFactory.newXmlWriter( new 
FileOutputStream( f ) );
             try
             {
                 final Xpp3Dom dom = new Xpp3Dom( "component-set" );
@@ -208,16 +191,13 @@ public class ComponentsXmlArchiverFileFi
             if ( ComponentsXmlArchiverFileFilter.COMPONENTS_XML_PATH.equals( 
entry ) )
             {
                 InputStream stream = null;
-                InputStreamReader reader = null;
+                Reader reader = null;
 
                 try
                 {
                     stream = fileInfo.getContents();
-                    // TODO use ReaderFactory.newXmlReader() when plexus-utils 
is upgraded to 1.4.5+
-                    reader = new InputStreamReader( stream, "UTF-8" );
-                    // CHECKSTYLE_OFF: MagicNumber
-                    addComponentsXml( new BufferedReader( reader, 8192 ) );
-                    // CHECKSTYLE_ON: MagicNumber
+                    reader = ReaderFactory.newXmlReader( stream );
+                    addComponentsXml( new BufferedReader( reader ) );
                 }
                 catch ( final XmlPullParserException e )
                 {

Modified: maven/plugins/trunk/maven-war-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-war-plugin/pom.xml?rev=1642461&r1=1642460&r2=1642461&view=diff
==============================================================================
--- maven/plugins/trunk/maven-war-plugin/pom.xml (original)
+++ maven/plugins/trunk/maven-war-plugin/pom.xml Sat Nov 29 18:26:36 2014
@@ -118,7 +118,7 @@ under the License.
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-io</artifactId>
-      <version>2.3.2</version>
+      <version>2.4.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>commons-io</groupId>
@@ -128,7 +128,7 @@ under the License.
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-archiver</artifactId>
-      <version>2.8.1</version>
+      <version>2.9.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>


Reply via email to