[maven-assembly-plugin] Update to plexus-archiver 2.6.1 and plexus-io 2.1.1

Mikolaj Izdebski mizdebsk at fedoraproject.org
Mon Sep 29 09:39:25 UTC 2014


commit 8e983f9bc7fd2a0fd3868245b49b48aeed5559ef
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date:   Mon Sep 29 11:38:35 2014 +0200

    Update to plexus-archiver 2.6.1 and plexus-io 2.1.1

 ...plexus-archiver-2.6.1-and-plexus-io-2.1.1.patch |  306 ++++++++++++++++++++
 maven-assembly-plugin.spec                         |   11 +-
 2 files changed, 315 insertions(+), 2 deletions(-)
---
diff --git a/0001-Update-to-plexus-archiver-2.6.1-and-plexus-io-2.1.1.patch b/0001-Update-to-plexus-archiver-2.6.1-and-plexus-io-2.1.1.patch
new file mode 100644
index 0000000..0760ac0
--- /dev/null
+++ b/0001-Update-to-plexus-archiver-2.6.1-and-plexus-io-2.1.1.patch
@@ -0,0 +1,306 @@
+From 7c775e719a8f19aaa6ca6a4427f302ed2ddd9af8 Mon Sep 17 00:00:00 2001
+From: Mikolaj Izdebski <mizdebsk at redhat.com>
+Date: Mon, 29 Sep 2014 11:27:56 +0200
+Subject: [PATCH] Update to plexus-archiver 2.6.1 and plexus-io 2.1.1
+
+---
+ pom.xml                                            |  4 +-
+ .../assembly/archive/DefaultAssemblyArchiver.java  | 16 +++---
+ .../archive/archiver/AssemblyProxyArchiver.java    | 59 ++++++++++++++++++++++
+ .../archive/DefaultAssemblyArchiverTest.java       | 32 ++++++++----
+ .../ComponentsXmlArchiverFileFilterTest.java       | 12 +++++
+ .../assembly/testutils/TrackingArchiverStub.java   | 12 +++++
+ 6 files changed, 115 insertions(+), 20 deletions(-)
+
+diff --git a/pom.xml b/pom.xml
+index 56de47a..01c0d6f 100644
+--- a/pom.xml
++++ b/pom.xml
+@@ -122,7 +122,7 @@ under the License.
+     <dependency>
+       <groupId>org.codehaus.plexus</groupId>
+       <artifactId>plexus-archiver</artifactId>
+-      <version>2.4.4</version>
++      <version>2.6.1</version>
+       <exclusions>
+         <exclusion>
+           <groupId>org.codehaus.plexus</groupId>
+@@ -148,7 +148,7 @@ under the License.
+     <dependency>
+       <groupId>org.codehaus.plexus</groupId>
+       <artifactId>plexus-io</artifactId>
+-      <version>2.0.9</version>
++      <version>2.1.1</version>
+       <exclusions>
+         <exclusion>
+           <groupId>org.codehaus.plexus</groupId>
+diff --git a/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java b/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
+index 2347e91..d90c2d1 100644
+--- a/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
++++ b/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java
+@@ -486,23 +486,29 @@ public class DefaultAssemblyArchiver
+     protected Archiver createTarArchiver( final String format, final String tarLongFileMode )
+         throws NoSuchArchiverException, ArchiverException
+     {
++        return createTarArchiver( format, TarLongFileMode.valueOf( tarLongFileMode ) );
++    }
++
++    protected Archiver createTarArchiver( final String format, final TarLongFileMode tarFileMode )
++                        throws NoSuchArchiverException, ArchiverException
++                    {
+         final TarArchiver tarArchiver = (TarArchiver) archiverManager.getArchiver( "tar" );
+         final int index = format.indexOf( '.' );
+         if ( index >= 0 )
+         {
+             // TODO: this needs a cleanup in plexus archiver - use a real
+             // typesafe enum
+-            final TarArchiver.TarCompressionMethod tarCompressionMethod = new TarArchiver.TarCompressionMethod();
++            final TarArchiver.TarCompressionMethod tarCompressionMethod;
+             // TODO: this should accept gz and bz2 as well so we can skip
+             // over the switch
+             final String compression = format.substring( index + 1 );
+             if ( "gz".equals( compression ) )
+             {
+-                tarCompressionMethod.setValue( "gzip" );
++                tarCompressionMethod = TarArchiver.TarCompressionMethod.gzip;
+             }
+             else if ( "bz2".equals( compression ) )
+             {
+-                tarCompressionMethod.setValue( "bzip2" );
++                tarCompressionMethod = TarArchiver.TarCompressionMethod.bzip2;
+             }
+             else
+             {
+@@ -512,10 +518,6 @@ public class DefaultAssemblyArchiver
+             tarArchiver.setCompression( tarCompressionMethod );
+         }
+ 
+-        final TarLongFileMode tarFileMode = new TarLongFileMode();
+-
+-        tarFileMode.setValue( tarLongFileMode );
+-
+         tarArchiver.setLongfile( tarFileMode );
+ 
+         return tarArchiver;
+diff --git a/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java b/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
+index 56783b6..a9b061e 100644
+--- a/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
++++ b/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java
+@@ -39,6 +39,7 @@ import java.io.File;
+ import java.io.FileInputStream;
+ import java.io.IOException;
+ import java.io.InputStream;
++import java.nio.file.Files;
+ import java.util.ArrayList;
+ import java.util.Arrays;
+ import java.util.HashSet;
+@@ -490,6 +491,58 @@ public class AssemblyProxyArchiver
+         }
+     }
+ 
++    public void addSymlink( final String symlinkName, final int permissions, final String symlinkDestination )
++        throws ArchiverException
++    {
++        if ( acceptFile( new File(symlinkName ) ))
++        {
++            inPublicApi.set( Boolean.TRUE );
++            try
++            {
++                debug( "Adding file: " + symlinkName + " to archive location: " + rootPrefix + symlinkDestination );
++
++                if ( dryRun )
++                {
++                    debug( "DRY RUN: Skipping delegated call to: " + getMethodName() );
++                }
++                else
++                {
++                    delegate.addSymlink(  symlinkName, permissions, rootPrefix + symlinkDestination );
++                }
++            }
++            finally
++            {
++                inPublicApi.set( null );
++            }
++        }
++    }
++
++    public void addSymlink( final String symlinkName, final String symlinkDestination )
++        throws ArchiverException
++    {
++        if ( acceptFile( new File(symlinkName ) ))
++        {
++            inPublicApi.set( Boolean.TRUE );
++            try
++            {
++                debug( "Adding file: " + symlinkName + " to archive location: " + rootPrefix + symlinkDestination );
++
++                if ( dryRun )
++                {
++                    debug( "DRY RUN: Skipping delegated call to: " + getMethodName() );
++                }
++                else
++                {
++                    delegate.addSymlink( symlinkName, rootPrefix + symlinkDestination );
++                }
++            }
++            finally
++            {
++                inPublicApi.set( null );
++            }
++        }
++    }
++
+     public void createArchive()
+         throws ArchiverException, IOException
+     {
+@@ -862,6 +915,12 @@ public class AssemblyProxyArchiver
+             return inputFile.isFile();
+         }
+ 
++        public boolean isSymbolicLink()
++        {
++            // return Files.isSymbolicLink( inputFile.toPath() );
++            return false;
++        }
++
+     }
+ 
+     public void addResource( final PlexusIoResource resource, final String destFileName, final int permissions )
+diff --git a/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
+index 9e52aff..0786021 100644
+--- a/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
++++ b/src/test/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiverTest.java
+@@ -299,7 +299,7 @@ public class DefaultAssemblyArchiverTest
+         final AssemblerConfigurationSource configSource = (AssemblerConfigurationSource) configCtl.getMock();
+ 
+         configSource.getTarLongFileMode();
+-        configCtl.setReturnValue( TarLongFileMode.FAIL, MockControl.ZERO_OR_MORE );
++        configCtl.setReturnValue( TarLongFileMode.fail.toString(), MockControl.ZERO_OR_MORE );
+ 
+         configSource.isDryRun();
+         configCtl.setReturnValue( false, MockControl.ZERO_OR_MORE );
+@@ -332,7 +332,7 @@ public class DefaultAssemblyArchiverTest
+         subject.createArchiver( "tar", false, "finalName", configSource, null, false);
+ 
+         assertNull( ttArchiver.compressionMethod );
+-        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
++        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+ 
+         mm.verifyAll();
+     }
+@@ -571,10 +571,10 @@ public class DefaultAssemblyArchiverTest
+         final DefaultAssemblyArchiver subject =
+             createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ 
+-        subject.createTarArchiver( "tar", TarLongFileMode.FAIL );
++        subject.createTarArchiver( "tar", TarLongFileMode.fail );
+ 
+         assertNull( ttArchiver.compressionMethod );
+-        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
++        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+ 
+         mm.verifyAll();
+     }
+@@ -596,10 +596,10 @@ public class DefaultAssemblyArchiverTest
+         final DefaultAssemblyArchiver subject =
+             createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ 
+-        subject.createTarArchiver( "tar.gz", TarLongFileMode.FAIL );
++        subject.createTarArchiver( "tar.gz", TarLongFileMode.fail );
+ 
+-        assertEquals( "gzip", ttArchiver.compressionMethod.getValue() );
+-        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
++        assertEquals( "gzip", ttArchiver.compressionMethod.toString() );
++        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+ 
+         mm.verifyAll();
+     }
+@@ -621,10 +621,10 @@ public class DefaultAssemblyArchiverTest
+         final DefaultAssemblyArchiver subject =
+             createSubject( macArchiverManager, new ArrayList<AssemblyArchiverPhase>(), null );
+ 
+-        subject.createTarArchiver( "tar.bz2", TarLongFileMode.FAIL );
++        subject.createTarArchiver( "tar.bz2", TarLongFileMode.fail );
+ 
+-        assertEquals( "bzip2", ttArchiver.compressionMethod.getValue() );
+-        assertEquals( TarLongFileMode.FAIL, ttArchiver.longFileMode.getValue() );
++        assertEquals( "bzip2", ttArchiver.compressionMethod.toString() );
++        assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+ 
+         mm.verifyAll();
+     }
+@@ -648,7 +648,7 @@ public class DefaultAssemblyArchiverTest
+ 
+         try
+         {
+-            subject.createTarArchiver( "tar.Z", null );
++            subject.createTarArchiver( "tar.Z", (TarLongFileMode) null );
+ 
+             fail( "Invalid compression formats should throw an error." );
+         }
+@@ -904,6 +904,16 @@ public class DefaultAssemblyArchiverTest
+         {
+         }
+ 
++        public void addSymlink( String arg0, String arg1 )
++            throws ArchiverException
++        {
++        }
++
++        public void addSymlink( String arg0, int arg1, String arg2 )
++            throws ArchiverException
++        {
++        }
++
+         public void addResource( final PlexusIoResource arg0, final String arg1, final int arg2 )
+             throws ArchiverException
+         {
+diff --git a/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java b/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
+index dc89740..4580748 100644
+--- a/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
++++ b/src/test/java/org/apache/maven/plugin/assembly/filter/ComponentsXmlArchiverFileFilterTest.java
+@@ -441,6 +441,18 @@ public class ComponentsXmlArchiverFileFilterTest
+             throw new UnsupportedOperationException( "not supported" );
+         }
+ 
++        public void addSymlink( final String symlinkName, final int permissions, final String symlinkDestination )
++            throws ArchiverException
++        {
++            throw new UnsupportedOperationException( "not supported" );
++        }
++
++        public void addSymlink( final String symlinkName, final String symlinkDestination )
++            throws ArchiverException
++        {
++            throw new UnsupportedOperationException( "not supported" );
++        }
++
+         public void createArchive()
+             throws ArchiverException, IOException
+         {
+diff --git a/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java b/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
+index 8279a82..27cde88 100644
+--- a/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
++++ b/src/test/java/org/apache/maven/plugin/assembly/testutils/TrackingArchiverStub.java
+@@ -106,6 +106,18 @@ public class TrackingArchiverStub
+         added.add( new Addition( inputFile, destFileName, null, null, permissions ) );
+     }
+ 
++    public void addSymlink( final String symlinkName, final String symlinkDestination )
++        throws ArchiverException
++    {
++        added.add( new Addition( symlinkName, symlinkDestination, null, null, -1 ) );
++    }
++
++    public void addSymlink( final String symlinkName, final int permissions, final String symlinkDestination )
++        throws ArchiverException
++    {
++        added.add( new Addition( symlinkName, symlinkDestination, null, null, permissions ) );
++    }
++
+     public void addArchivedFileSet( final File archiveFile )
+         throws ArchiverException
+     {
+-- 
+1.9.3
+
diff --git a/maven-assembly-plugin.spec b/maven-assembly-plugin.spec
index 020b030..d608bdb 100644
--- a/maven-assembly-plugin.spec
+++ b/maven-assembly-plugin.spec
@@ -1,12 +1,15 @@
 Name:           maven-assembly-plugin
 Version:        2.4.1
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Maven Assembly Plugin
 License:        ASL 2.0
 URL:            http://maven.apache.org/plugins/maven-assembly-plugin/
-Source0:        http://repo2.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip
 BuildArch:      noarch
 
+Source0:        http://repo2.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip
+
+Patch0:         0001-Update-to-plexus-archiver-2.6.1-and-plexus-io-2.1.1.patch
+
 BuildRequires:  maven-local
 BuildRequires:  mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
 BuildRequires:  mvn(org.apache.maven.plugins:maven-plugins:pom:)
@@ -44,6 +47,7 @@ This package provides %{summary}.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 # Tests need easymockclassextension version 2.x, which is incompatible
@@ -61,6 +65,9 @@ This package provides %{summary}.
 %doc LICENSE NOTICE
 
 %changelog
+* Mon Sep 29 2014 Mikolaj Izdebski <mizdebsk at redhat.com> - 2.4.1-2
+- Update to plexus-archiver 2.6.1 and plexus-io 2.1.1
+
 * Mon Aug  4 2014 Mikolaj Izdebski <mizdebsk at redhat.com> - 2.4.1-1
 - Update to upstream version 2.4.1
 


More information about the scm-commits mailing list