Author: bimargulies Date: Mon Oct 5 00:46:32 2015 New Revision: 1706743 URL: http://svn.apache.org/viewvc?rev=1706743&view=rev Log: MASSEMBLY-780: backport - -which required the backport of plexus archiver 3.0.1.
Modified: maven/plugins/branches/maven-assembly-plugin-2.x/ (props changed) maven/plugins/branches/maven-assembly-plugin-2.x/pom.xml maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/src/assemblies/format-test.xml maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/verify.bsh maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java maven/plugins/branches/maven-assembly-plugin-2.x/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java Propchange: maven/plugins/branches/maven-assembly-plugin-2.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Mon Oct 5 00:46:32 2015 @@ -1 +1,2 @@ /maven/plugins/branches/maven-assembly-plugin-2.2-beta-4:773752-780691 +/maven/plugins/trunk/maven-assembly-plugin:1685886,1692379 Modified: maven/plugins/branches/maven-assembly-plugin-2.x/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/pom.xml?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/pom.xml (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/pom.xml Mon Oct 5 00:46:32 2015 @@ -127,7 +127,7 @@ under the License. <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-archiver</artifactId> - <version>2.10.2</version> + <version>3.0.1</version> </dependency> <dependency> <groupId>org.apache.maven.shared</groupId> Modified: maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/src/assemblies/format-test.xml URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/src/assemblies/format-test.xml?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/src/assemblies/format-test.xml (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/src/assemblies/format-test.xml Mon Oct 5 00:46:32 2015 @@ -31,6 +31,7 @@ under the License. <format>tbz2</format> <format>jar</format> <format>war</format> + <format>tar.snappy</format> </formats> <includeBaseDirectory>false</includeBaseDirectory> <files> Modified: maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/verify.bsh URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/verify.bsh?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/verify.bsh (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/src/it/projects/basic-features/formats/verify.bsh Mon Oct 5 00:46:32 2015 @@ -132,4 +132,16 @@ catch( IOException e ) result = false; } +try +{ + File assembly = new File( basedir, "target/assemblies/format-test-1.0.tar.snappy" ); + result = result && assembly.exists(); + result = result && assembly.isFile(); +} +catch( IOException e ) +{ + e.printStackTrace(); + result = false; +} + return result; Modified: maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/DefaultAssemblyArchiver.java Mon Oct 5 00:46:32 2015 @@ -495,7 +495,7 @@ public class DefaultAssemblyArchiver { TarArchiver.TarCompressionMethod tarCompressionMethod; // TODO: this should accept gz and bz2 as well so we can skip - // over the switch + // TODO: over the switch final String compression = format.substring( index + 1 ); if ( "gz".equals( compression ) ) { @@ -505,6 +505,10 @@ public class DefaultAssemblyArchiver { tarCompressionMethod = TarArchiver.TarCompressionMethod.bzip2; } + else if ( "snappy".equals( compression ) ) + { + tarCompressionMethod = TarArchiver.TarCompressionMethod.snappy; + } else { // TODO: better handling Modified: maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/src/main/java/org/apache/maven/plugin/assembly/archive/archiver/AssemblyProxyArchiver.java Mon Oct 5 00:46:32 2015 @@ -64,18 +64,17 @@ public class AssemblyProxyArchiver private final Archiver delegate; - private String rootPrefix; - - private FileSelector[] selectors; - private final ThreadLocal<Boolean> inPublicApi = new ThreadLocal<Boolean>(); private final Logger logger; - private boolean forced; + private final String assemblyWorkPath; + private String rootPrefix; - private final String assemblyWorkPath; + private FileSelector[] selectors; + + private boolean forced; /** * @since 2.2 @@ -141,15 +140,15 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addArchivedFileSet( @Nonnull final File archiveFile, final String prefix, final String[] includes, final String[] excludes ) { inPublicApi.set( Boolean.TRUE ); try { - final DefaultArchivedFileSet fs = new DefaultArchivedFileSet(); + final DefaultArchivedFileSet fs = new DefaultArchivedFileSet( archiveFile ); - fs.setArchive( archiveFile ); fs.setIncludes( includes ); fs.setExcludes( excludes ); fs.setPrefix( rootPrefix + prefix ); @@ -176,14 +175,14 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addArchivedFileSet( @Nonnull final File archiveFile, final String prefix ) { inPublicApi.set( Boolean.TRUE ); try { - final DefaultArchivedFileSet fs = new DefaultArchivedFileSet(); + final DefaultArchivedFileSet fs = new DefaultArchivedFileSet( archiveFile ); - fs.setArchive( archiveFile ); fs.setPrefix( rootPrefix + prefix ); fs.setFileSelectors( selectors ); @@ -200,14 +199,14 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addArchivedFileSet( final File archiveFile, final String[] includes, final String[] excludes ) { inPublicApi.set( Boolean.TRUE ); try { - final DefaultArchivedFileSet fs = new DefaultArchivedFileSet(); + final DefaultArchivedFileSet fs = new DefaultArchivedFileSet( archiveFile ); - fs.setArchive( archiveFile ); fs.setIncludes( includes ); fs.setExcludes( excludes ); fs.setPrefix( rootPrefix ); @@ -226,14 +225,14 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addArchivedFileSet( @Nonnull final File archiveFile ) { inPublicApi.set( Boolean.TRUE ); try { - final DefaultArchivedFileSet fs = new DefaultArchivedFileSet(); + final DefaultArchivedFileSet fs = new DefaultArchivedFileSet( archiveFile ); - fs.setArchive( archiveFile ); fs.setPrefix( rootPrefix ); fs.setFileSelectors( selectors ); @@ -250,6 +249,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addDirectory( @Nonnull final File directory, final String prefix, final String[] includes, final String[] excludes ) { @@ -277,6 +277,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addSymlink( String symlinkName, String symlinkDestination ) { inPublicApi.set( Boolean.TRUE ); @@ -294,6 +295,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addSymlink( String symlinkName, int permissions, String symlinkDestination ) { inPublicApi.set( Boolean.TRUE ); @@ -311,6 +313,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addDirectory( @Nonnull final File directory, final String prefix ) { inPublicApi.set( Boolean.TRUE ); @@ -335,6 +338,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addDirectory( @Nonnull final File directory, final String[] includes, final String[] excludes ) { inPublicApi.set( Boolean.TRUE ); @@ -361,6 +365,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addDirectory( @Nonnull final File directory ) { inPublicApi.set( Boolean.TRUE ); @@ -385,6 +390,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addFile( @Nonnull final File inputFile, @Nonnull final String destFileName, final int permissions ) { if ( acceptFile( inputFile ) ) @@ -406,6 +412,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addFile( @Nonnull final File inputFile, @Nonnull final String destFileName ) { if ( acceptFile( inputFile ) ) @@ -427,6 +434,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void createArchive() throws IOException { @@ -445,6 +453,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public int getDefaultDirectoryMode() { inPublicApi.set( Boolean.TRUE ); @@ -461,12 +470,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public int getDefaultFileMode() + @Override + public void setDefaultDirectoryMode( final int mode ) { inPublicApi.set( Boolean.TRUE ); try { - return delegate.getDefaultFileMode(); + delegate.setDefaultDirectoryMode( mode ); } finally { @@ -477,12 +487,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public File getDestFile() + @Override + public int getDefaultFileMode() { inPublicApi.set( Boolean.TRUE ); try { - return delegate.getDestFile(); + return delegate.getDefaultFileMode(); } finally { @@ -490,13 +501,16 @@ public class AssemblyProxyArchiver } } - @SuppressWarnings( { "rawtypes", "deprecation" } ) - /** {@inheritDoc} */ public Map<String, ArchiveEntry> getFiles() + /** + * {@inheritDoc} + */ + @Override + public void setDefaultFileMode( final int mode ) { inPublicApi.set( Boolean.TRUE ); try { - return delegate.getFiles(); + delegate.setDefaultFileMode( mode ); } finally { @@ -507,12 +521,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public boolean getIncludeEmptyDirs() + @Override + public File getDestFile() { inPublicApi.set( Boolean.TRUE ); try { - return delegate.getIncludeEmptyDirs(); + return delegate.getDestFile(); } finally { @@ -523,12 +538,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public boolean isForced() + @Override + public void setDestFile( final File destFile ) { inPublicApi.set( Boolean.TRUE ); try { - return delegate.isForced(); + delegate.setDestFile( destFile ); } finally { @@ -536,15 +552,14 @@ public class AssemblyProxyArchiver } } - /** - * {@inheritDoc} - */ - public boolean isSupportingForced() + @Override + @SuppressWarnings( { "deprecation" } ) + public Map<String, ArchiveEntry> getFiles() { inPublicApi.set( Boolean.TRUE ); try { - return delegate.isSupportingForced(); + return delegate.getFiles(); } finally { @@ -555,12 +570,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public void setDefaultDirectoryMode( final int mode ) + @Override + public boolean getIncludeEmptyDirs() { inPublicApi.set( Boolean.TRUE ); try { - delegate.setDefaultDirectoryMode( mode ); + return delegate.getIncludeEmptyDirs(); } finally { @@ -571,12 +587,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public void setDefaultFileMode( final int mode ) + @Override + public void setIncludeEmptyDirs( final boolean includeEmptyDirs ) { inPublicApi.set( Boolean.TRUE ); try { - delegate.setDefaultFileMode( mode ); + delegate.setIncludeEmptyDirs( includeEmptyDirs ); } finally { @@ -587,12 +604,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public void setDestFile( final File destFile ) + @Override + public boolean isForced() { inPublicApi.set( Boolean.TRUE ); try { - delegate.setDestFile( destFile ); + return delegate.isForced(); } finally { @@ -603,6 +621,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void setForced( final boolean forced ) { inPublicApi.set( Boolean.TRUE ); @@ -620,12 +639,13 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public void setIncludeEmptyDirs( final boolean includeEmptyDirs ) + @Override + public boolean isSupportingForced() { inPublicApi.set( Boolean.TRUE ); try { - delegate.setIncludeEmptyDirs( includeEmptyDirs ); + return delegate.isSupportingForced(); } finally { @@ -636,6 +656,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void setDotFileDirectory( final File dotFileDirectory ) { throw new UnsupportedOperationException( @@ -645,6 +666,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addArchivedFileSet( final ArchivedFileSet fileSet ) { inPublicApi.set( Boolean.TRUE ); @@ -662,8 +684,8 @@ public class AssemblyProxyArchiver } } + @Override public void addArchivedFileSet( ArchivedFileSet archivedFileSet, Charset charset ) - throws ArchiverException { inPublicApi.set( Boolean.TRUE ); try @@ -684,6 +706,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addFileSet( @Nonnull final FileSet fileSet ) { inPublicApi.set( Boolean.TRUE ); @@ -785,47 +808,10 @@ public class AssemblyProxyArchiver return true; } - private static final class DefaultFileInfo - implements FileInfo - { - - private final File inputFile; - - DefaultFileInfo( final File inputFile ) - { - this.inputFile = inputFile; - } - - public InputStream getContents() - throws IOException - { - return new FileInputStream( inputFile ); - } - - public String getName() - { - return inputFile.getName(); - } - - public boolean isDirectory() - { - return inputFile.isDirectory(); - } - - public boolean isFile() - { - return inputFile.isFile(); - } - - public boolean isSymbolicLink() - { - return false; - } - } - /** * {@inheritDoc} */ + @Override public void addResource( final PlexusIoResource resource, final String destFileName, final int permissions ) { File file = new File( resource.getName() ); // zOMG. @@ -847,6 +833,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void addResources( final PlexusIoResourceCollection resources ) { inPublicApi.set( Boolean.TRUE ); @@ -863,6 +850,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override @Nonnull public ResourceIterator getResources() { @@ -872,6 +860,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public String getDuplicateBehavior() { return delegate.getDuplicateBehavior(); @@ -880,6 +869,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void setDuplicateBehavior( final String duplicate ) { inPublicApi.set( Boolean.TRUE ); @@ -896,6 +886,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public int getDirectoryMode() { return delegate.getDirectoryMode(); @@ -904,30 +895,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ - public int getFileMode() - { - return delegate.getFileMode(); - } - - /** - * {@inheritDoc} - */ - public int getOverrideDirectoryMode() - { - return delegate.getOverrideDirectoryMode(); - } - - /** - * {@inheritDoc} - */ - public int getOverrideFileMode() - { - return delegate.getOverrideFileMode(); - } - - /** - * {@inheritDoc} - */ + @Override public void setDirectoryMode( final int mode ) { inPublicApi.set( Boolean.TRUE ); @@ -944,6 +912,16 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override + public int getFileMode() + { + return delegate.getFileMode(); + } + + /** + * {@inheritDoc} + */ + @Override public void setFileMode( final int mode ) { inPublicApi.set( Boolean.TRUE ); @@ -960,6 +938,25 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override + public int getOverrideDirectoryMode() + { + return delegate.getOverrideDirectoryMode(); + } + + /** + * {@inheritDoc} + */ + @Override + public int getOverrideFileMode() + { + return delegate.getOverrideFileMode(); + } + + /** + * {@inheritDoc} + */ + @Override public boolean isUseJvmChmod() { return useJvmChmod; @@ -968,6 +965,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void setUseJvmChmod( final boolean useJvmChmod ) { this.useJvmChmod = useJvmChmod; @@ -976,6 +974,7 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public boolean isIgnorePermissions() { return delegate.isIgnorePermissions(); @@ -984,9 +983,53 @@ public class AssemblyProxyArchiver /** * {@inheritDoc} */ + @Override public void setIgnorePermissions( final boolean ignorePermissions ) { delegate.setIgnorePermissions( ignorePermissions ); } + private static final class DefaultFileInfo + implements FileInfo + { + + private final File inputFile; + + DefaultFileInfo( final File inputFile ) + { + this.inputFile = inputFile; + } + + @Override + public InputStream getContents() + throws IOException + { + return new FileInputStream( inputFile ); + } + + @Override + public String getName() + { + return inputFile.getName(); + } + + @Override + public boolean isDirectory() + { + return inputFile.isDirectory(); + } + + @Override + public boolean isFile() + { + return inputFile.isFile(); + } + + @Override + public boolean isSymbolicLink() + { + return false; + } + } + } Modified: maven/plugins/branches/maven-assembly-plugin-2.x/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java URL: http://svn.apache.org/viewvc/maven/plugins/branches/maven-assembly-plugin-2.x/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java?rev=1706743&r1=1706742&r2=1706743&view=diff ============================================================================== --- maven/plugins/branches/maven-assembly-plugin-2.x/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java (original) +++ maven/plugins/branches/maven-assembly-plugin-2.x/src/test/java/org/apache/maven/plugin/assembly/format/ReaderFormatterTest.java Mon Oct 5 00:46:32 2015 @@ -117,8 +117,8 @@ public class ReaderFormatterTest private PlexusIoVirtualFileResource dummyResource() { - return new PlexusIoVirtualFileResource( new File( "fud" ) ) + return new PlexusIoVirtualFileResource( new File( "fud" ), "fud" ) { }; } -} \ No newline at end of file +}