You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2016/12/09 17:57:18 UTC
svn commit: r1773447 - in /maven/plugins/trunk/maven-assembly-plugin/src:
it/projects/basic-features/formats/
it/projects/basic-features/formats/src/assemblies/
main/java/org/apache/maven/plugins/assembly/archive/
main/java/org/apache/maven/plugins/ass...
Author: michaelo
Date: Fri Dec 9 17:57:17 2016
New Revision: 1773447
URL: http://svn.apache.org/viewvc?rev=1773447&view=rev
Log:
[MASSEMBLY-711] Add support for generating XZ compressed tarballs (.tar.xz)
Submitted-by: Mat Booth <ma...@redhat.com>
This closes #99
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/src/assemblies/format-test.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/verify.bsh
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/assembly.mdo
maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt.vm
maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/src/assemblies/format-test.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/src/assemblies/format-test.xml?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/src/assemblies/format-test.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/src/assemblies/format-test.xml Fri Dec 9 17:57:17 2016
@@ -32,6 +32,8 @@ under the License.
<format>jar</format>
<format>war</format>
<format>tar.snappy</format>
+ <format>tar.xz</format>
+ <format>txz</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<files>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/verify.bsh?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/basic-features/formats/verify.bsh Fri Dec 9 17:57:17 2016
@@ -144,4 +144,28 @@ catch( IOException e )
result = false;
}
+try
+{
+ File assembly = new File( basedir, "target/assemblies/format-test-1.0.tar.xz" );
+ result = result && assembly.exists();
+ result = result && assembly.isFile();
+}
+catch( IOException e )
+{
+ e.printStackTrace();
+ result = false;
+}
+
+try
+{
+ File assembly = new File( basedir, "target/assemblies/format-test-1.0.txz" );
+ result = result && assembly.exists();
+ result = result && assembly.isFile();
+}
+catch( IOException e )
+{
+ e.printStackTrace();
+ result = false;
+}
+
return result;
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java Fri Dec 9 17:57:17 2016
@@ -293,7 +293,7 @@ public class DefaultAssemblyArchiver
throws NoSuchArchiverException
{
Archiver archiver;
- if ( "tgz".equals( format ) || "tbz2".equals( format ) || format.startsWith( "tar" ) )
+ if ( "txz".equals( format ) || "tgz".equals( format ) || "tbz2".equals( format ) || format.startsWith( "tar" ) )
{
archiver = createTarArchiver( format, TarLongFileMode.valueOf( configSource.getTarLongFileMode() ) );
}
@@ -514,6 +514,10 @@ public class DefaultAssemblyArchiver
{
tarCompressionMethod = TarArchiver.TarCompressionMethod.bzip2;
}
+ else if ( "xz".equals( compression ) )
+ {
+ tarCompressionMethod = TarArchiver.TarCompressionMethod.xz;
+ }
else if ( "snappy".equals( compression ) )
{
tarCompressionMethod = TarArchiver.TarCompressionMethod.snappy;
@@ -533,6 +537,10 @@ public class DefaultAssemblyArchiver
{
tarArchiver.setCompression( TarArchiver.TarCompressionMethod.bzip2 );
}
+ else if ( "txz".equals( format ) )
+ {
+ tarArchiver.setCompression( TarArchiver.TarCompressionMethod.xz );
+ }
tarArchiver.setLongfile( tarLongFileMode );
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java Fri Dec 9 17:57:17 2016
@@ -163,6 +163,7 @@ public abstract class AbstractAssemblyMo
* <li><em>tar.gz</em> or <em>tgz</em> - Creates a gzip'd TAR format</li>
* <li><em>tar.bz2</em> or <em>tbz2</em> - Creates a bzip'd TAR format</li>
* <li><em>tar.snappy</em> - Creates a snappy'd TAR format</li>
+ * <li><em>tar.xz</em> or <em>txz</em> - Creates a xz'd TAR format</li>
* </ul>
*/
@Parameter
Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/assembly.mdo
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/assembly.mdo?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/assembly.mdo (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/mdo/assembly.mdo Fri Dec 9 17:57:17 2016
@@ -109,6 +109,7 @@
<li><b>"tar.gz"</b> or <b>"tgz"</b> - Creates a gzip'd TAR format</li>
<li><b>"tar.bz2"</b> or <b>"tbz2"</b> - Creates a bzip'd TAR format</li>
<li><b>"tar.snappy"</b> - Creates a snappy'd TAR format</li>
+ <li><b>"tar.xz"</b> or <b>"txz"</b> - Creates a xz'd TAR format</li>
<li><b>"jar"</b> - Creates a JAR format</li>
<li><b>"dir"</b> - Creates an exploded directory format</li>
<li><b>"war"</b> - Creates a WAR format</li>
Modified: maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt.vm
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt.vm?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt.vm (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/site/apt/index.apt.vm Fri Dec 9 17:57:17 2016
@@ -56,6 +56,8 @@ ${project.name}
* tar.snappy
+ * tar.xz (or txz)
+
* jar
* dir
Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java?rev=1773447&r1=1773446&r2=1773447&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java Fri Dec 9 17:57:17 2016
@@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembl
* under the License.
*/
-import junit.framework.Assert;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.model.Model;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
@@ -50,6 +49,7 @@ import org.codehaus.plexus.logging.conso
import org.codehaus.plexus.util.FileUtils;
import org.easymock.classextension.EasyMockSupport;
import org.junit.AfterClass;
+import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@@ -479,6 +479,42 @@ public class DefaultAssemblyArchiverTest
assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
mm.verifyAll();
+ }
+
+ @Test
+ public void testCreateTarArchiver_TarXzFormat_ShouldInitializeXzCompression()
+ throws NoSuchArchiverException, ArchiverException
+ {
+ final EasyMockSupport mm = new EasyMockSupport();
+
+ final TestTarArchiver ttArchiver = new TestTarArchiver();
+
+ final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+
+ subject.createTarArchiver( "tar.xz", TarLongFileMode.fail );
+
+ assertEquals( TarArchiver.TarCompressionMethod.xz, ttArchiver.compressionMethod );
+ assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+
+ mm.verifyAll();
+ }
+
+ @Test
+ public void testCreateTarArchiver_TXzFormat_ShouldInitializeXzCompression()
+ throws NoSuchArchiverException, ArchiverException
+ {
+ final EasyMockSupport mm = new EasyMockSupport();
+
+ final TestTarArchiver ttArchiver = new TestTarArchiver();
+
+ final DefaultAssemblyArchiver subject = createSubject( mm, ttArchiver );
+
+ subject.createTarArchiver( "txz", TarLongFileMode.fail );
+
+ assertEquals( TarArchiver.TarCompressionMethod.xz, ttArchiver.compressionMethod );
+ assertEquals( TarLongFileMode.fail, ttArchiver.longFileMode );
+
+ mm.verifyAll();
}
@Test