diff --git a/pom.xml b/pom.xml index d170affb6..d1e3c3df4 100644 --- a/pom.xml +++ b/pom.xml @@ -32,6 +32,8 @@ 8 + 0.3.5 + 1.7.36 2022-06-10T17:04:57Z @@ -49,13 +51,13 @@ - + - org.codehaus.plexus - plexus-container-default - 2.1.1 - provided + javax.inject + javax.inject + 1 + org.codehaus.plexus plexus-utils @@ -64,7 +66,7 @@ org.codehaus.plexus plexus-io - 3.3.1 + 3.4.0 @@ -78,6 +80,11 @@ 1.21 + + org.slf4j + slf4j-api + ${slf4jVersion} + org.iq80.snappy snappy @@ -101,6 +108,37 @@ junit 4.13.2 test + + + org.hamcrest + hamcrest-core + + + + + org.hamcrest + hamcrest + 2.2 + test + + + org.slf4j + slf4j-simple + ${slf4jVersion} + test + + + + org.eclipse.sisu + org.eclipse.sisu.inject + ${sisuVersion} + test + + + com.google.inject + guice + 5.1.0 + test @@ -127,12 +165,15 @@ 2.7 - org.codehaus.plexus - plexus-component-metadata + org.eclipse.sisu + sisu-maven-plugin + ${sisuVersion} + index-project - generate-metadata + main-index + test-index diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java index 6abf673ed..da3a7da24 100755 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java @@ -34,11 +34,11 @@ import java.util.NoSuchElementException; import java.util.Set; import javax.annotation.Nonnull; -import org.codehaus.plexus.PlexusConstants; -import org.codehaus.plexus.PlexusContainer; +import javax.inject.Inject; +import javax.inject.Provider; + import org.codehaus.plexus.archiver.manager.ArchiverManager; import org.codehaus.plexus.archiver.manager.NoSuchArchiverException; -import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.attributes.SimpleResourceAttributes; import org.codehaus.plexus.components.io.functions.ResourceAttributeSupplier; @@ -49,21 +49,22 @@ import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; import org.codehaus.plexus.components.io.resources.proxy.PlexusIoProxyResourceCollection; -import org.codehaus.plexus.context.Context; -import org.codehaus.plexus.context.ContextException; -import org.codehaus.plexus.logging.AbstractLogEnabled; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.logging.console.ConsoleLogger; -import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import static org.codehaus.plexus.archiver.util.DefaultArchivedFileSet.archivedFileSet; import static org.codehaus.plexus.archiver.util.DefaultFileSet.fileSet; public abstract class AbstractArchiver - extends AbstractLogEnabled - implements Archiver, Contextualizable, FinalizerEnabled + implements Archiver, FinalizerEnabled { - private Logger logger; + private final Logger logger = LoggerFactory.getLogger( getClass() ); + + protected Logger getLogger() + { + return logger; + } private File destFile; @@ -135,8 +136,12 @@ public abstract class AbstractArchiver */ private String overrideGroupName; - // contextualized. - private ArchiverManager archiverManager; + /** + * Injected: Allows us to pull the ArchiverManager instance out of the container without causing a chicken-and-egg + * instantiation/composition problem. + */ + @Inject + private Provider archiverManagerProvider; private static class AddedResourceCollection { @@ -186,7 +191,7 @@ public void setDuplicateBehavior( final String duplicate ) if ( !Archiver.DUPLICATES_VALID_BEHAVIORS.contains( duplicate ) ) { throw new IllegalArgumentException( - "Invalid duplicate-file behavior: \'" + duplicate + "\'. Please specify one of: " + "Invalid duplicate-file behavior: '" + duplicate + "'. Please specify one of: " + Archiver.DUPLICATES_VALID_BEHAVIORS ); } @@ -524,7 +529,7 @@ public ResourceIterator getResources() return new ResourceIterator() { - private final Iterator addedResourceIter = resources.iterator(); + private final Iterator addedResourceIter = resources.iterator(); private AddedResourceCollection currentResourceCollection; @@ -532,7 +537,7 @@ public ResourceIterator getResources() private ArchiveEntry nextEntry; - private final Set seenEntries = new HashSet(); + private final Set seenEntries = new HashSet<>(); @Override public boolean hasNext() @@ -727,24 +732,6 @@ public void setDestFile( final File destFile ) } } - @Override - protected Logger getLogger() - { - if ( logger == null ) - { - if ( super.getLogger() != null ) - { - logger = super.getLogger(); - } - else - { - logger = new ConsoleLogger( Logger.LEVEL_INFO, "console" ); - } - } - - return logger; - } - protected PlexusIoResourceCollection asResourceCollection( final ArchivedFileSet fileSet, Charset charset ) throws ArchiverException { @@ -753,7 +740,7 @@ protected PlexusIoResourceCollection asResourceCollection( final ArchivedFileSet final PlexusIoResourceCollection resources; try { - resources = archiverManager.getResourceCollection( archiveFile ); + resources = archiverManagerProvider.get().getResourceCollection( archiveFile ); } catch ( final NoSuchArchiverException e ) { @@ -880,26 +867,6 @@ public void addArchivedFileSet( @Nonnull final File archiveFile ) addArchivedFileSet( archivedFileSet( archiveFile ).includeEmptyDirs( includeEmptyDirs ) ); } - /** - * Allows us to pull the ArchiverManager instance out of the container without causing a chicken-and-egg - * instantiation/composition problem. - */ - @Override - public void contextualize( final Context context ) - throws ContextException - { - final PlexusContainer container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY ); - - try - { - archiverManager = (ArchiverManager) container.lookup( ArchiverManager.ROLE ); - } - catch ( final ComponentLookupException e ) - { - throw new ContextException( "Error retrieving ArchiverManager instance: " + e.getMessage(), e ); - } - } - @Override public boolean isForced() { @@ -917,7 +884,7 @@ public void addArchiveFinalizer( final ArchiveFinalizer finalizer ) { if ( finalizers == null ) { - finalizers = new ArrayList(); + finalizers = new ArrayList<>(); } finalizers.add( finalizer ); @@ -946,7 +913,7 @@ protected boolean isUptodate() } final long destTimestamp = getFileLastModifiedTime(zipFile); - final Iterator it = resources.iterator(); + final Iterator it = resources.iterator(); if ( !it.hasNext() ) { getLogger().debug( "isUp2date: false (No input files.)" ); @@ -1314,14 +1281,7 @@ public void configureReproducibleBuild( FileTime lastModifiedTime ) setLastModifiedTime( normalizeLastModifiedTime ( lastModifiedTime ) ); // 2. sort filenames in each directory when scanning filesystem - setFilenameComparator( new Comparator() - { - @Override - public int compare( String s1, String s2 ) - { - return s1.compareTo( s2 ); - } - } ); + setFilenameComparator( String::compareTo ); // 3. ignore file/directory mode from filesystem, since they may vary based on local user umask // notice: this overrides execute bit on Unix (that is already ignored on Windows) diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java index a4a094c6b..ab78577fa 100644 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractUnArchiver.java @@ -26,16 +26,19 @@ import java.util.Date; import java.util.List; import java.util.Locale; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.LongAdder; import org.codehaus.plexus.archiver.util.ArchiveEntryUtils; import org.codehaus.plexus.components.io.attributes.SymlinkUtils; import org.codehaus.plexus.components.io.filemappers.FileMapper; import org.codehaus.plexus.components.io.fileselectors.FileSelector; import org.codehaus.plexus.components.io.resources.PlexusIoResource; -import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; // TODO there should really be constructors which take the source file. @@ -43,9 +46,14 @@ * @author Emmanuel Venisse */ public abstract class AbstractUnArchiver - extends AbstractLogEnabled implements UnArchiver, FinalizerEnabled { + private final Logger logger = LoggerFactory.getLogger( getClass() ); + + protected Logger getLogger() + { + return logger; + } private File destDirectory; @@ -384,6 +392,11 @@ else if ( isDirectory ) } } + /** + * Counter for casing message emitted, visible for testing. + */ + final AtomicInteger casingMessageEmitted = new AtomicInteger( 0 ); + // Visible for testing protected boolean shouldExtractEntry( File targetDirectory, File targetFileName, String entryName, Date entryDate ) throws IOException { @@ -423,6 +436,7 @@ protected boolean shouldExtractEntry( File targetDirectory, File targetFileName, if ( differentCasing ) { getLogger().warn( casingMessage ); + casingMessageEmitted.incrementAndGet(); } return false; } @@ -431,6 +445,7 @@ protected boolean shouldExtractEntry( File targetDirectory, File targetFileName, if ( differentCasing ) { getLogger().warn( casingMessage ); + casingMessageEmitted.incrementAndGet(); } // (2) diff --git a/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java b/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java index 595bc7ce9..a17e9b32c 100644 --- a/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java +++ b/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java @@ -40,7 +40,7 @@ public class ArchiveEntry public static final int SYMLINK = 3; - @Nonnull private PlexusIoResource resource; + @Nonnull private final PlexusIoResource resource; private final String name; diff --git a/src/main/java/org/codehaus/plexus/archiver/ArchiveFile.java b/src/main/java/org/codehaus/plexus/archiver/ArchiveFile.java index 1e85f0244..ceedd371b 100644 --- a/src/main/java/org/codehaus/plexus/archiver/ArchiveFile.java +++ b/src/main/java/org/codehaus/plexus/archiver/ArchiveFile.java @@ -15,7 +15,7 @@ public interface ArchiveFile * Any element returned by the enumeration is an instance * of {@link org.apache.commons.compress.archivers.ArchiveEntry}. */ - public Enumeration getEntries() + Enumeration getEntries() throws IOException; /** diff --git a/src/main/java/org/codehaus/plexus/archiver/Archiver.java b/src/main/java/org/codehaus/plexus/archiver/Archiver.java index 0ba6be645..d51f6f49a 100644 --- a/src/main/java/org/codehaus/plexus/archiver/Archiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/Archiver.java @@ -48,17 +48,15 @@ public interface Archiver */ int DEFAULT_SYMLILNK_MODE = UnixStat.LINK_FLAG | UnixStat.DEFAULT_LINK_PERM; - String ROLE = Archiver.class.getName(); + String DUPLICATES_ADD = "add"; - public static final String DUPLICATES_ADD = "add"; + String DUPLICATES_PRESERVE = "preserve"; - public static final String DUPLICATES_PRESERVE = "preserve"; + String DUPLICATES_SKIP = "skip"; - public static final String DUPLICATES_SKIP = "skip"; + String DUPLICATES_FAIL = "fail"; - public static final String DUPLICATES_FAIL = "fail"; - - public static final Set DUPLICATES_VALID_BEHAVIORS = new HashSet() + Set DUPLICATES_VALID_BEHAVIORS = new HashSet() { private static final long serialVersionUID = 1L; diff --git a/src/main/java/org/codehaus/plexus/archiver/BaseFileSet.java b/src/main/java/org/codehaus/plexus/archiver/BaseFileSet.java index cf9f5b3c8..bcb8ae602 100644 --- a/src/main/java/org/codehaus/plexus/archiver/BaseFileSet.java +++ b/src/main/java/org/codehaus/plexus/archiver/BaseFileSet.java @@ -37,7 +37,7 @@ public interface BaseFileSet /** * Returns, whether the include/exclude patterns are - * case sensitive. + * case-sensitive. */ boolean isCaseSensitive(); diff --git a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java index db2372c87..e3f44da07 100644 --- a/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java +++ b/src/main/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizer.java @@ -8,6 +8,7 @@ import java.util.Collections; import java.util.List; +import org.codehaus.plexus.archiver.util.DefaultFileSet; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; @@ -63,7 +64,7 @@ public void finalizeArchiveCreation( Archiver archiver ) System.out.println( "adding directory = " + directory ); - archiver.addDirectory( directory ); + archiver.addFileSet( new DefaultFileSet( directory ) ); } else { @@ -73,11 +74,12 @@ public void finalizeArchiveCreation( Archiver archiver ) if ( s[1].endsWith( "/" ) ) { - archiver.addDirectory( directory, s[1] ); + + archiver.addFileSet( new DefaultFileSet( directory ).prefixed( s[1] ) ); } else { - archiver.addDirectory( directory, s[1] + "/" ); + archiver.addFileSet( new DefaultFileSet( directory ).prefixed( s[1] + "/" ) ); } } } diff --git a/src/main/java/org/codehaus/plexus/archiver/UnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/UnArchiver.java index 6a58ffb89..486df7b4f 100644 --- a/src/main/java/org/codehaus/plexus/archiver/UnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/UnArchiver.java @@ -22,9 +22,6 @@ public interface UnArchiver { - - String ROLE = UnArchiver.class.getName(); - /** * Extract the archive. * diff --git a/src/main/java/org/codehaus/plexus/archiver/UnixStat.java b/src/main/java/org/codehaus/plexus/archiver/UnixStat.java index 4e3772115..ac2222214 100644 --- a/src/main/java/org/codehaus/plexus/archiver/UnixStat.java +++ b/src/main/java/org/codehaus/plexus/archiver/UnixStat.java @@ -29,28 +29,28 @@ public interface UnixStat * * @since 1.1 */ - int PERM_MASK = 07777; + int PERM_MASK = 0_7777; /** * Indicates symbolic links. * * @since 1.1 */ - int LINK_FLAG = 0120000; + int LINK_FLAG = 0_120000; /** * Indicates plain files. * * @since 1.1 */ - int FILE_FLAG = 0100000; + int FILE_FLAG = 0_100000; /** * Indicates directories. * * @since 1.1 */ - int DIR_FLAG = 040000; + int DIR_FLAG = 0_40000; // ---------------------------------------------------------- // somewhat arbitrary choices that are quite common for shared @@ -61,20 +61,20 @@ public interface UnixStat * * @since 1.1 */ - int DEFAULT_LINK_PERM = 0777; + int DEFAULT_LINK_PERM = 0_777; /** * Default permissions for directories. * * @since 1.1 */ - int DEFAULT_DIR_PERM = 0755; + int DEFAULT_DIR_PERM = 0_755; /** * Default permissions for plain files. * * @since 1.1 */ - int DEFAULT_FILE_PERM = 0644; + int DEFAULT_FILE_PERM = 0_644; } diff --git a/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2Archiver.java b/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2Archiver.java index efb59c156..2f9449dcb 100644 --- a/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2Archiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2Archiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.bzip2; +import javax.inject.Named; + import java.io.IOException; import org.codehaus.plexus.archiver.AbstractArchiver; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -23,11 +25,12 @@ import org.codehaus.plexus.archiver.ResourceIterator; import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; +@Named( "bzip2" ) public class BZip2Archiver extends AbstractArchiver { - private BZip2Compressor compressor = new BZip2Compressor(); + private final BZip2Compressor compressor = new BZip2Compressor(); @Override public void execute() diff --git a/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2UnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2UnArchiver.java index a65da8849..07ab52f96 100644 --- a/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2UnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/bzip2/BZip2UnArchiver.java @@ -20,6 +20,8 @@ import java.io.IOException; import java.io.InputStream; import javax.annotation.Nonnull; +import javax.inject.Named; + import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream; import org.codehaus.plexus.archiver.AbstractUnArchiver; import org.codehaus.plexus.archiver.ArchiverException; @@ -32,6 +34,7 @@ /** * @author Emmanuel Venisse */ +@Named( "bzip2" ) public class BZip2UnArchiver extends AbstractUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBz2ResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBz2ResourceCollection.java new file mode 100644 index 000000000..59c447ee5 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBz2ResourceCollection.java @@ -0,0 +1,12 @@ +package org.codehaus.plexus.archiver.bzip2; + +import javax.inject.Named; + +/** + * Alias of {@link PlexusIoBzip2ResourceCollection}. + */ +@Named( "bz2" ) +public class PlexusIoBz2ResourceCollection + extends PlexusIoBzip2ResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java index a985ec481..651e0cb57 100644 --- a/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/bzip2/PlexusIoBzip2ResourceCollection.java @@ -8,6 +8,7 @@ import java.util.HashMap; import javax.annotation.Nonnull; import javax.annotation.WillNotClose; +import javax.inject.Named; import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; @@ -18,6 +19,7 @@ * Implementation of {@link PlexusIoResourceCollection} for * bzip2 compressed files. */ +@Named( "bzip2" ) public class PlexusIoBzip2ResourceCollection extends PlexusIoCompressedFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/car/CarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/car/CarUnArchiver.java new file mode 100644 index 000000000..7ce6ba243 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/car/CarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.car; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "car" ) +public class CarUnArchiver + extends ZipUnArchiver +{ + + public CarUnArchiver() + { + } + + public CarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/car/PlexusIoCarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/car/PlexusIoCarFileResourceCollection.java new file mode 100644 index 000000000..465721e31 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/car/PlexusIoCarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.car; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "car" ) +public class PlexusIoCarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/DryRunArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/DryRunArchiver.java index e216a5179..775885505 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/DryRunArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/DryRunArchiver.java @@ -28,7 +28,7 @@ import org.codehaus.plexus.archiver.FileSet; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; -import org.codehaus.plexus.logging.Logger; +import org.slf4j.Logger; /** * A dry run archiver that does nothing. Some methods fall through to the underlying diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java index 6386d4478..9b03beed5 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java @@ -51,7 +51,7 @@ public class TrackingArchiver private File destFile; - public final List added = new ArrayList(); + public final List added = new ArrayList<>(); private boolean useJvmChmod; @@ -290,7 +290,7 @@ ResourceIterator getResources() @Override public Map getFiles() { - return new HashMap(); + return new HashMap<>(); } @Override diff --git a/src/main/java/org/codehaus/plexus/archiver/dir/DirectoryArchiver.java b/src/main/java/org/codehaus/plexus/archiver/dir/DirectoryArchiver.java index f63eb448c..559272875 100644 --- a/src/main/java/org/codehaus/plexus/archiver/dir/DirectoryArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/dir/DirectoryArchiver.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.dir; +import javax.inject.Named; + import java.io.File; import java.io.IOException; import java.nio.file.Files; @@ -35,6 +37,7 @@ /** * A plexus archiver implementation that stores the files to archive in a directory. */ +@Named( "dir" ) public class DirectoryArchiver extends AbstractArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/ear/EarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/ear/EarArchiver.java index d25d4c3c4..2b2d5fadc 100644 --- a/src/main/java/org/codehaus/plexus/archiver/ear/EarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/ear/EarArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.ear; +import javax.inject.Named; + import java.io.File; import java.io.IOException; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -27,6 +29,7 @@ /** * Creates a EAR archive. Based on WAR task */ +@Named( "ear" ) public class EarArchiver extends JarArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/ear/EarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/ear/EarUnArchiver.java new file mode 100644 index 000000000..a61003ac2 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/ear/EarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.ear; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "ear" ) +public class EarUnArchiver + extends ZipUnArchiver +{ + + public EarUnArchiver() + { + } + + public EarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/ear/PlexusIoEarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/ear/PlexusIoEarFileResourceCollection.java new file mode 100644 index 000000000..bd0b7b4fc --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/ear/PlexusIoEarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.ear; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "ear" ) +public class PlexusIoEarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/esb/EsbUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/esb/EsbUnArchiver.java new file mode 100644 index 000000000..e953c7557 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/esb/EsbUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.esb; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "esb" ) +public class EsbUnArchiver + extends ZipUnArchiver +{ + + public EsbUnArchiver() + { + } + + public EsbUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/esb/PlexusIoEsbFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/esb/PlexusIoEsbFileResourceCollection.java new file mode 100644 index 000000000..c502a75ff --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/esb/PlexusIoEsbFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.esb; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "esb" ) +public class PlexusIoEsbFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/filters/JarSecurityFileSelector.java b/src/main/java/org/codehaus/plexus/archiver/filters/JarSecurityFileSelector.java index b5ac077a2..f9fb69a01 100644 --- a/src/main/java/org/codehaus/plexus/archiver/filters/JarSecurityFileSelector.java +++ b/src/main/java/org/codehaus/plexus/archiver/filters/JarSecurityFileSelector.java @@ -15,6 +15,9 @@ import java.io.IOException; import javax.annotation.Nonnull; +import javax.inject.Named; +import javax.inject.Singleton; + import org.codehaus.plexus.components.io.fileselectors.FileInfo; import org.codehaus.plexus.components.io.fileselectors.FileSelector; import org.codehaus.plexus.util.SelectorUtils; @@ -22,12 +25,11 @@ /** * @since 1.0-alpha-9 */ +@Singleton +@Named( "jar-security" ) public class JarSecurityFileSelector implements FileSelector { - - public static final String ROLE_HINT = "jar-security"; - public static final String[] SECURITY_FILE_PATTERNS = { "META-INF/*.RSA", diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipArchiver.java index 668d22597..d21222f3d 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.gzip; +import javax.inject.Named; + import java.io.IOException; import org.codehaus.plexus.archiver.AbstractArchiver; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -23,6 +25,7 @@ import org.codehaus.plexus.archiver.ResourceIterator; import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; +@Named( "gzip" ) public class GZipArchiver extends AbstractArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java index 469745601..b8bb06a5b 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/GZipUnArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.gzip; +import javax.inject.Named; + import static org.codehaus.plexus.archiver.util.Streams.copyFully; import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @@ -32,6 +34,7 @@ /** * @author Emmanuel Venisse */ +@Named( "gzip" ) public class GZipUnArchiver extends AbstractUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzResourceCollection.java new file mode 100644 index 000000000..89fce6420 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzResourceCollection.java @@ -0,0 +1,12 @@ +package org.codehaus.plexus.archiver.gzip; + +import javax.inject.Named; + +/** + * Alias for {@link PlexusIoGzipResourceCollection} + */ +@Named( "gz" ) +public class PlexusIoGzResourceCollection + extends PlexusIoGzipResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java index b2fcf2bb8..8e90cf6f5 100644 --- a/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/gzip/PlexusIoGzipResourceCollection.java @@ -10,6 +10,7 @@ import java.util.zip.GZIPInputStream; import javax.annotation.Nonnull; +import javax.inject.Named; import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; @@ -19,6 +20,7 @@ * Abstract base class for compressed files, aka singleton * resource collections. */ +@Named( "gzip" ) public class PlexusIoGzipResourceCollection extends PlexusIoCompressedFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java index 6f17825f2..ae767d020 100644 --- a/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/jar/JarArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.jar; +import javax.inject.Named; + import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @@ -46,16 +48,11 @@ import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.zip.ConcurrentJarCreator; import org.codehaus.plexus.archiver.zip.ZipArchiver; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.logging.console.ConsoleLogger; /** * Base class for tasks that build archives in JAR file format. */ -@SuppressWarnings( -{ - "NullableProblems" -} ) +@Named( "jar" ) public class JarArchiver extends ZipArchiver { @@ -139,7 +136,7 @@ public class JarArchiver *

* Will not be filled unless the user has asked for an index. */ - private List rootEntries; + private final List rootEntries; /** * Path containing jars that shall be indexed in addition to this archive. @@ -763,26 +760,24 @@ protected static String findJarName( String fileName, String[] classpath ) * * @throws java.io.IOException */ - protected static void grabFilesAndDirs( String file, List dirs, List files ) + private void grabFilesAndDirs( String file, List dirs, List files ) throws IOException { File zipFile = new File( file ); if ( !zipFile.exists() ) { - Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "console" ); - logger.error( "JarArchive skipping non-existing file: " + zipFile.getAbsolutePath() ); + getLogger().error( "JarArchive skipping non-existing file: " + zipFile.getAbsolutePath() ); } else if ( zipFile.isDirectory() ) { - Logger logger = new ConsoleLogger( Logger.LEVEL_INFO, "console" ); - logger.info( "JarArchiver skipping indexJar " + zipFile + " because it is not a jar" ); + getLogger().info( "JarArchiver skipping indexJar " + zipFile + " because it is not a jar" ); } else { try ( ZipFile zf = new ZipFile( file, "utf-8" ) ) { Enumeration entries = zf.getEntries(); - HashSet dirSet = new HashSet(); + HashSet dirSet = new HashSet<>(); while ( entries.hasMoreElements() ) { ZipArchiveEntry ze = entries.nextElement(); diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/JarToolModularJarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/jar/JarToolModularJarArchiver.java index f58281192..54e6f9d8b 100644 --- a/src/main/java/org/codehaus/plexus/archiver/jar/JarToolModularJarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/jar/JarToolModularJarArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.jar; +import javax.inject.Named; + import java.io.File; import java.io.IOException; import java.io.PrintStream; @@ -58,6 +60,7 @@ * archive created by {@link JarArchiver} * is left unchanged. */ +@Named( "mjar" ) public class JarToolModularJarArchiver extends ModularJarArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/JarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/jar/JarUnArchiver.java new file mode 100644 index 000000000..46bcb8c6f --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/jar/JarUnArchiver.java @@ -0,0 +1,43 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.jar; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.AbstractZipUnArchiver; +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "jar" ) +public class JarUnArchiver + extends ZipUnArchiver +{ + + public JarUnArchiver() + { + } + + public JarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/jar/PlexusIoJarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/jar/PlexusIoJarFileResourceCollection.java new file mode 100644 index 000000000..5f59aefee --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/jar/PlexusIoJarFileResourceCollection.java @@ -0,0 +1,48 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.jar; + +import javax.inject.Named; + +import java.io.Closeable; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.net.URLClassLoader; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Enumeration; +import java.util.Iterator; +import java.util.jar.JarFile; + +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipFile; +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; +import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier; +import org.codehaus.plexus.components.io.resources.AbstractPlexusIoArchiveResourceCollection; +import org.codehaus.plexus.components.io.resources.EncodingSupported; +import org.codehaus.plexus.components.io.resources.PlexusIoResource; +import org.codehaus.plexus.components.io.resources.PlexusIoURLResource; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "jar" ) +public class PlexusIoJarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/manager/ArchiverManager.java b/src/main/java/org/codehaus/plexus/archiver/manager/ArchiverManager.java index cc455ea9d..b32a0a698 100644 --- a/src/main/java/org/codehaus/plexus/archiver/manager/ArchiverManager.java +++ b/src/main/java/org/codehaus/plexus/archiver/manager/ArchiverManager.java @@ -27,9 +27,6 @@ */ public interface ArchiverManager { - - String ROLE = ArchiverManager.class.getName(); - @Nonnull Archiver getArchiver( @Nonnull String archiverName ) throws NoSuchArchiverException; diff --git a/src/main/java/org/codehaus/plexus/archiver/manager/DefaultArchiverManager.java b/src/main/java/org/codehaus/plexus/archiver/manager/DefaultArchiverManager.java index 1db0d3f2a..5eea03035 100644 --- a/src/main/java/org/codehaus/plexus/archiver/manager/DefaultArchiverManager.java +++ b/src/main/java/org/codehaus/plexus/archiver/manager/DefaultArchiverManager.java @@ -18,65 +18,71 @@ import java.io.File; import java.util.Locale; +import java.util.Map; + import javax.annotation.Nonnull; -import org.codehaus.plexus.PlexusConstants; -import org.codehaus.plexus.PlexusContainer; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Provider; +import javax.inject.Singleton; + import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.UnArchiver; -import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; -import org.codehaus.plexus.context.Context; -import org.codehaus.plexus.context.ContextException; -import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; +import static java.util.Objects.requireNonNull; + /** * @author dantran */ +@Singleton +@Named public class DefaultArchiverManager - implements ArchiverManager, Contextualizable + implements ArchiverManager { - private PlexusContainer container; + private final Map> archivers; - // ---------------------------------------------------------------------- - // Component Lifecycle - // ---------------------------------------------------------------------- + private final Map> unArchivers; - @Override - public void contextualize( Context context ) - throws ContextException + private final Map> plexusIoResourceCollections; + + @Inject + public DefaultArchiverManager( Map> archivers, + Map> unArchivers, + Map> plexusIoResourceCollections ) { - container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY ); + this.archivers = requireNonNull( archivers ); + this.unArchivers = requireNonNull( unArchivers ); + this.plexusIoResourceCollections = requireNonNull( plexusIoResourceCollections ); } @Override @Nonnull public Archiver getArchiver( @Nonnull String archiverName ) throws NoSuchArchiverException { - try - { - return (Archiver) container.lookup( Archiver.ROLE, archiverName ); - } - catch ( ComponentLookupException e ) + requireNonNull( archiverName ); + Provider archiver = archivers.get( archiverName ); + if ( archiver == null ) { throw new NoSuchArchiverException( archiverName ); } + return archiver.get(); } @Override @Nonnull public UnArchiver getUnArchiver( @Nonnull String unArchiverName ) throws NoSuchArchiverException { - try - { - return (UnArchiver) container.lookup( UnArchiver.ROLE, unArchiverName ); - } - catch ( ComponentLookupException e ) + requireNonNull( unArchiverName ); + Provider unArchiver = unArchivers.get( unArchiverName ); + if ( unArchiver == null ) { throw new NoSuchArchiverException( unArchiverName ); } + return unArchiver.get(); } @Override @@ -84,15 +90,14 @@ public void contextualize( Context context ) PlexusIoResourceCollection getResourceCollection( String resourceCollectionName ) throws NoSuchArchiverException { - try - { - return (PlexusIoResourceCollection) container.lookup( PlexusIoResourceCollection.ROLE, - resourceCollectionName ); - } - catch ( ComponentLookupException e ) + requireNonNull( resourceCollectionName ); + Provider resourceCollection = + plexusIoResourceCollections.get( resourceCollectionName ); + if ( resourceCollection == null ) { throw new NoSuchArchiverException( resourceCollectionName ); } + return resourceCollection.get(); } private static @Nonnull diff --git a/src/main/java/org/codehaus/plexus/archiver/manager/NoSuchArchiverException.java b/src/main/java/org/codehaus/plexus/archiver/manager/NoSuchArchiverException.java index d7e972ce7..79f19d971 100644 --- a/src/main/java/org/codehaus/plexus/archiver/manager/NoSuchArchiverException.java +++ b/src/main/java/org/codehaus/plexus/archiver/manager/NoSuchArchiverException.java @@ -23,7 +23,7 @@ public class NoSuchArchiverException extends Exception { - private String archiverName; + private final String archiverName; public NoSuchArchiverException( String archiverName ) { diff --git a/src/main/java/org/codehaus/plexus/archiver/nar/NarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/nar/NarUnArchiver.java new file mode 100644 index 000000000..184d00c4d --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/nar/NarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.nar; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "nar" ) +public class NarUnArchiver + extends ZipUnArchiver +{ + + public NarUnArchiver() + { + } + + public NarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/nar/PlexusIoNarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/nar/PlexusIoNarFileResourceCollection.java new file mode 100644 index 000000000..0235086e4 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/nar/PlexusIoNarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.nar; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "nar" ) +public class PlexusIoNarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/par/ParUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/par/ParUnArchiver.java new file mode 100644 index 000000000..0b28c5c37 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/par/ParUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.par; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "par" ) +public class ParUnArchiver + extends ZipUnArchiver +{ + + public ParUnArchiver() + { + } + + public ParUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/par/PlexusIoJarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/par/PlexusIoJarFileResourceCollection.java new file mode 100644 index 000000000..40751c93d --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/par/PlexusIoJarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.par; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "par" ) +public class PlexusIoJarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/rar/PlexusIoRarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/rar/PlexusIoRarFileResourceCollection.java new file mode 100644 index 000000000..01e3d4cdd --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/rar/PlexusIoRarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.rar; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "rar" ) +public class PlexusIoRarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/rar/RarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/rar/RarArchiver.java new file mode 100644 index 000000000..39b17d258 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/rar/RarArchiver.java @@ -0,0 +1,39 @@ +/* + * Copyright 2000-2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.codehaus.plexus.archiver.rar; + +import javax.inject.Named; + +import java.io.File; +import java.io.IOException; + +import org.codehaus.plexus.archiver.ArchiveEntry; +import org.codehaus.plexus.archiver.ArchiverException; +import org.codehaus.plexus.archiver.jar.JarArchiver; +import org.codehaus.plexus.archiver.util.ResourceUtils; +import org.codehaus.plexus.archiver.zip.ConcurrentJarCreator; + +/** + * Rar archiver. + * + * @see JarArchiver + */ +@Named( "rar" ) +public class RarArchiver + extends JarArchiver +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/rar/RarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/rar/RarUnArchiver.java new file mode 100644 index 000000000..f1c702905 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/rar/RarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.rar; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "rar" ) +public class RarUnArchiver + extends ZipUnArchiver +{ + + public RarUnArchiver() + { + } + + public RarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/sar/PlexusIoSarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/sar/PlexusIoSarFileResourceCollection.java new file mode 100644 index 000000000..5bea8ab49 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/sar/PlexusIoSarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.sar; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "sar" ) +public class PlexusIoSarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/sar/SarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/sar/SarUnArchiver.java new file mode 100644 index 000000000..565e22e0e --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/sar/SarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.sar; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "sar" ) +public class SarUnArchiver + extends ZipUnArchiver +{ + + public SarUnArchiver() + { + } + + public SarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java index 1f9571c06..9a973644f 100644 --- a/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/snappy/PlexusIoSnappyResourceCollection.java @@ -7,6 +7,7 @@ import javax.annotation.Nonnull; import javax.annotation.WillNotClose; +import javax.inject.Named; import org.codehaus.plexus.archiver.util.Streams; import org.codehaus.plexus.components.io.attributes.FileAttributes; @@ -17,6 +18,7 @@ * Implementation of {@link org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection} for * snappy compressed files. */ +@Named( "snappy" ) public class PlexusIoSnappyResourceCollection extends PlexusIoCompressedFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyArchiver.java b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyArchiver.java index 73f416028..ad5f33bb5 100644 --- a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.snappy; +import javax.inject.Named; + import java.io.IOException; import org.codehaus.plexus.archiver.AbstractArchiver; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -26,11 +28,12 @@ /** * Snappy archiver. */ +@Named( "snappy" ) public class SnappyArchiver extends AbstractArchiver { - private SnappyCompressor compressor = new SnappyCompressor(); + private final SnappyCompressor compressor = new SnappyCompressor(); @Override public void execute() diff --git a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyCompressor.java b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyCompressor.java index 016ac3be9..b24113815 100644 --- a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyCompressor.java +++ b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyCompressor.java @@ -19,7 +19,7 @@ import java.io.IOException; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.util.Compressor; -import org.iq80.snappy.SnappyOutputStream; +import org.iq80.snappy.SnappyFramedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.fileOutputStream; @@ -30,7 +30,7 @@ public class SnappyCompressor extends Compressor { - private SnappyOutputStream zOut; + private SnappyFramedOutputStream zOut; /** * perform the Snappy compression operation. @@ -41,7 +41,7 @@ public void compress() { try { - zOut = new SnappyOutputStream( bufferedOutputStream( fileOutputStream( getDestFile() ) ) ); + zOut = new SnappyFramedOutputStream( bufferedOutputStream( fileOutputStream( getDestFile() ) ) ); compress( getSource(), zOut ); } catch ( IOException ioe ) diff --git a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyUnArchiver.java index f246e6d6e..ad0bbaef9 100644 --- a/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/snappy/SnappyUnArchiver.java @@ -20,9 +20,11 @@ import java.io.IOException; import java.io.InputStream; import javax.annotation.Nonnull; +import javax.inject.Named; + import org.codehaus.plexus.archiver.AbstractUnArchiver; import org.codehaus.plexus.archiver.ArchiverException; -import org.iq80.snappy.SnappyInputStream; +import org.iq80.snappy.SnappyFramedInputStream; import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import static org.codehaus.plexus.archiver.util.Streams.copyFully; @@ -32,6 +34,7 @@ /** * Unarchiver for snappy-compressed files. */ +@Named( "snappy" ) public class SnappyUnArchiver extends AbstractUnArchiver { @@ -64,12 +67,12 @@ protected void execute() } public static @Nonnull - SnappyInputStream getSnappyInputStream( InputStream bis ) + SnappyFramedInputStream getSnappyInputStream( InputStream bis ) throws ArchiverException { try { - return new SnappyInputStream( bis ); + return new SnappyFramedInputStream( bis, true ); } catch ( IOException e ) { diff --git a/src/main/java/org/codehaus/plexus/archiver/swc/PlexusIoSwcFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/swc/PlexusIoSwcFileResourceCollection.java new file mode 100644 index 000000000..d83f73a82 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/swc/PlexusIoSwcFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.swc; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "swc" ) +public class PlexusIoSwcFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/swc/SwcUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/swc/SwcUnArchiver.java new file mode 100644 index 000000000..dc3b0d10e --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/swc/SwcUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.swc; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "swc" ) +public class SwcUnArchiver + extends ZipUnArchiver +{ + + public SwcUnArchiver() + { + } + + public SwcUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTBZ2FileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTBZ2FileResourceCollection.java new file mode 100644 index 000000000..924fed27c --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTBZ2FileResourceCollection.java @@ -0,0 +1,14 @@ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link PlexusIoTarBZip2FileResourceCollection} + */ +@Named( "tbz2" ) +public class PlexusIoTBZ2FileResourceCollection + extends PlexusIoTarBZip2FileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTGZFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTGZFileResourceCollection.java new file mode 100644 index 000000000..293945fed --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTGZFileResourceCollection.java @@ -0,0 +1,14 @@ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link PlexusIoTarGZipFileResourceCollection} + */ +@Named( "tgz" ) +public class PlexusIoTGZFileResourceCollection + extends PlexusIoTarGZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTXZFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTXZFileResourceCollection.java new file mode 100644 index 000000000..2d7f90c0e --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTXZFileResourceCollection.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Codehaus. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link PlexusIoTarXZFileResourceCollection} + */ +@Named( "txz" ) +public class PlexusIoTXZFileResourceCollection extends PlexusIoTarXZFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarBZip2FileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarBZip2FileResourceCollection.java index 2953418c2..a6e6cba38 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarBZip2FileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarBZip2FileResourceCollection.java @@ -1,7 +1,10 @@ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; +@Named( "tar.bz2" ) public class PlexusIoTarBZip2FileResourceCollection extends PlexusIoTarFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarFileResourceCollection.java index 293afde63..a12014737 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarFileResourceCollection.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.Closeable; import java.io.File; import java.io.IOException; @@ -26,15 +28,11 @@ import org.codehaus.plexus.components.io.resources.AbstractPlexusIoArchiveResourceCollection; import org.codehaus.plexus.components.io.resources.PlexusIoResource; +@Named( "tar" ) public class PlexusIoTarFileResourceCollection extends AbstractPlexusIoArchiveResourceCollection implements Closeable { - /** - * The zip file resource collections role hint. - */ - public static final String ROLE_HINT = "tar"; - protected TarFile newTarFile( File file ) { return new TarFile( file ); diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarGZipFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarGZipFileResourceCollection.java index 9da6d85e6..ee689e949 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarGZipFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarGZipFileResourceCollection.java @@ -1,7 +1,10 @@ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; +@Named( "tar.gz" ) public class PlexusIoTarGZipFileResourceCollection extends PlexusIoTarFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarSnappyFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarSnappyFileResourceCollection.java index f3de42ec9..139adadeb 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarSnappyFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarSnappyFileResourceCollection.java @@ -1,7 +1,10 @@ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; +@Named( "tar.snappy" ) public class PlexusIoTarSnappyFileResourceCollection extends PlexusIoTarFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarXZFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarXZFileResourceCollection.java index 71be02f33..588e0342d 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarXZFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/PlexusIoTarXZFileResourceCollection.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; /** @@ -22,6 +24,7 @@ * @author philip.lourandos * @since 3.3 */ +@Named( "tar.xz" ) public class PlexusIoTarXZFileResourceCollection extends PlexusIoTarFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TBZ2UnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TBZ2UnArchiver.java new file mode 100644 index 000000000..31d154e96 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TBZ2UnArchiver.java @@ -0,0 +1,30 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link TarBZip2UnArchiver}. + */ +@Named( "tbz2" ) +public class TBZ2UnArchiver + extends TarBZip2UnArchiver +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TGZUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TGZUnArchiver.java new file mode 100644 index 000000000..ce26b89bb --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TGZUnArchiver.java @@ -0,0 +1,30 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link TarGZipUnArchiver}. + */ +@Named( "tgz" ) +public class TGZUnArchiver + extends TarGZipUnArchiver +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TXZUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TXZUnArchiver.java new file mode 100644 index 000000000..5b80be224 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TXZUnArchiver.java @@ -0,0 +1,28 @@ +/* + * Copyright 2016 Codehaus. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.tar; + +import javax.inject.Named; + +import java.io.File; + +/** + * Alias for {@link TarXZUnArchiver}. + */ +@Named( "txz" ) +public class TXZUnArchiver extends TarXZUnArchiver +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java index 8d8bd85d7..8166a1f35 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import static org.codehaus.plexus.archiver.util.Streams.bufferedOutputStream; import java.io.File; @@ -46,6 +48,7 @@ /** * @author Emmanuel Venisse */ +@Named( "tar" ) public class TarArchiver extends AbstractArchiver { @@ -59,7 +62,7 @@ public class TarArchiver private TarCompressionMethod compression = TarCompressionMethod.none; - private TarOptions options = new TarOptions(); + private final TarOptions options = new TarOptions(); private TarArchiveOutputStream tOut; @@ -474,7 +477,7 @@ public void setPreserveLeadingSlashes( boolean preserveLeadingSlashes ) /** * Valid Modes for Compression attribute to Tar Task */ - public static enum TarCompressionMethod + public enum TarCompressionMethod { none, diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiver.java index 81ec97a6c..3cb84c918 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; /** @@ -23,6 +25,7 @@ * * @author Dan Tran */ +@Named( "tar.bz2" ) public class TarBZip2UnArchiver extends TarUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiver.java index 0b7d9ce45..879c8f0dc 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; /** @@ -23,6 +25,7 @@ * * @author Dan Tran */ +@Named( "tar.gz" ) public class TarGZipUnArchiver extends TarUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiver.java index 046900af2..e20cdfe6e 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiver.java @@ -16,12 +16,15 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; /** * Extract files in tar with snappy compression * */ +@Named( "tar.snappy" ) public class TarSnappyUnArchiver extends TarUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java index 6a5b43c6e..9e68cfdf3 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarUnArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; import static org.codehaus.plexus.archiver.util.Streams.fileInputStream; @@ -32,11 +34,12 @@ import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.archiver.util.Streams; import org.codehaus.plexus.components.io.filemappers.FileMapper; -import org.iq80.snappy.SnappyInputStream; +import org.iq80.snappy.SnappyFramedInputStream; /** * @author Emmanuel Venisse */ +@Named( "tar" ) public class TarUnArchiver extends AbstractUnArchiver { @@ -150,7 +153,7 @@ else if ( compression == UntarCompressionMethod.BZIP2 ) } else if ( compression == UntarCompressionMethod.SNAPPY ) { - return new SnappyInputStream( istream, true ); + return new SnappyFramedInputStream( istream, true ); } else if ( compression == UntarCompressionMethod.XZ ) { @@ -162,7 +165,7 @@ else if ( compression == UntarCompressionMethod.XZ ) /** * Valid Modes for Compression attribute to Untar Task */ - public static enum UntarCompressionMethod + public enum UntarCompressionMethod { NONE( "none" ), diff --git a/src/main/java/org/codehaus/plexus/archiver/tar/TarXZUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/tar/TarXZUnArchiver.java index 7e82f148a..0c6160070 100644 --- a/src/main/java/org/codehaus/plexus/archiver/tar/TarXZUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/tar/TarXZUnArchiver.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.tar; +import javax.inject.Named; + import java.io.File; /** @@ -22,6 +24,7 @@ * @author philip.lourandos * @since 3.3 */ +@Named( "tar.xz" ) public class TarXZUnArchiver extends TarUnArchiver { @@ -37,7 +40,7 @@ public TarXZUnArchiver( File sourceFile ) setupCompressionMethod(); } - private final void setupCompressionMethod() + private void setupCompressionMethod() { setCompression( TarUnArchiver.UntarCompressionMethod.XZ ); } diff --git a/src/main/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtils.java b/src/main/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtils.java index 9da66c94d..c4960024a 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtils.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtils.java @@ -19,8 +19,8 @@ import java.io.IOException; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.components.io.attributes.AttributeUtils; -import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.Os; +import org.slf4j.Logger; @SuppressWarnings( "JavaDoc" ) public final class ArchiveEntryUtils diff --git a/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java b/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java index 19f4761db..31e801073 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/Compressor.java @@ -22,11 +22,17 @@ import java.io.OutputStream; import org.codehaus.plexus.archiver.ArchiverException; import org.codehaus.plexus.components.io.resources.PlexusIoResource; -import org.codehaus.plexus.logging.AbstractLogEnabled; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class Compressor - extends AbstractLogEnabled { + private final Logger logger = LoggerFactory.getLogger( getClass() ); + + protected Logger getLogger() + { + return logger; + } private File destFile; diff --git a/src/main/java/org/codehaus/plexus/archiver/util/DefaultArchivedFileSet.java b/src/main/java/org/codehaus/plexus/archiver/util/DefaultArchivedFileSet.java index 5ff83ea2e..dc59ce1a8 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/DefaultArchivedFileSet.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/DefaultArchivedFileSet.java @@ -14,7 +14,7 @@ public class DefaultArchivedFileSet implements ArchivedFileSet { - private File archive; + private final File archive; public DefaultArchivedFileSet( @Nonnull File archive ) { diff --git a/src/main/java/org/codehaus/plexus/archiver/util/FilePermission.java b/src/main/java/org/codehaus/plexus/archiver/util/FilePermission.java index f7ed9da26..830645173 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/FilePermission.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/FilePermission.java @@ -26,17 +26,17 @@ public class FilePermission { - private boolean executable; + private final boolean executable; - private boolean ownerOnlyExecutable; + private final boolean ownerOnlyExecutable; - private boolean ownerOnlyReadable; + private final boolean ownerOnlyReadable; - private boolean readable; + private final boolean readable; - private boolean ownerOnlyWritable; + private final boolean ownerOnlyWritable; - private boolean writable; + private final boolean writable; public FilePermission( boolean executable, boolean ownerOnlyExecutable, boolean ownerOnlyReadable, boolean readable, boolean ownerOnlyWritable, boolean writable ) diff --git a/src/main/java/org/codehaus/plexus/archiver/util/FilePermissionUtils.java b/src/main/java/org/codehaus/plexus/archiver/util/FilePermissionUtils.java index 86c78f2b1..c83f5d806 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/FilePermissionUtils.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/FilePermissionUtils.java @@ -20,8 +20,8 @@ import java.util.ArrayList; import java.util.List; -import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; +import org.slf4j.Logger; /** * @author Olivier Lamy @@ -52,7 +52,7 @@ public static FilePermission getFilePermissionFromMode( String mode, Logger logg throw new IllegalArgumentException( " file mode must be 3 or 4 characters" ); } - List modes = new ArrayList( mode.length() ); + List modes = new ArrayList<>( mode.length() ); for ( int i = 0, size = mode.length(); i < size; i++ ) { modes.add( String.valueOf( mode.charAt( i ) ) ); @@ -64,7 +64,7 @@ public static FilePermission getFilePermissionFromMode( String mode, Logger logg // handle user perm try { - int userMode = Integer.valueOf( modes.get( mode.length() == 4 ? 1 : 0 ) ); + int userMode = Integer.parseInt( modes.get( mode.length() == 4 ? 1 : 0 ) ); switch ( userMode ) { case 0: @@ -107,7 +107,7 @@ public static FilePermission getFilePermissionFromMode( String mode, Logger logg // handle all perm try { - int allMode = Integer.valueOf( modes.get( mode.length() == 4 ? 3 : 2 ) ); + int allMode = Integer.parseInt( modes.get( mode.length() == 4 ? 3 : 2 ) ); switch ( allMode ) { case 0: diff --git a/src/main/java/org/codehaus/plexus/archiver/util/FilterSupport.java b/src/main/java/org/codehaus/plexus/archiver/util/FilterSupport.java index 198d13611..bc0cd31c4 100644 --- a/src/main/java/org/codehaus/plexus/archiver/util/FilterSupport.java +++ b/src/main/java/org/codehaus/plexus/archiver/util/FilterSupport.java @@ -5,7 +5,7 @@ import org.codehaus.plexus.archiver.ArchiveFileFilter; import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.components.io.fileselectors.FileSelector; -import org.codehaus.plexus.logging.Logger; +import org.slf4j.Logger; /** * @deprecated Use {@link FileSelector} and {@link Archiver#addFileSet}. diff --git a/src/main/java/org/codehaus/plexus/archiver/war/PlexusIoWarFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/war/PlexusIoWarFileResourceCollection.java new file mode 100644 index 000000000..360a0f40c --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/war/PlexusIoWarFileResourceCollection.java @@ -0,0 +1,29 @@ +/* + * Copyright 2007 The Codehaus Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.war; + +import javax.inject.Named; + +import org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection; + +/** + * Alias for {@link PlexusIoZipFileResourceCollection}. + */ +@Named( "war" ) +public class PlexusIoWarFileResourceCollection + extends PlexusIoZipFileResourceCollection +{ +} diff --git a/src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java b/src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java index 22930545c..befce726c 100644 --- a/src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/war/WarArchiver.java @@ -16,6 +16,8 @@ */ package org.codehaus.plexus.archiver.war; +import javax.inject.Named; + import java.io.File; import java.io.IOException; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -40,6 +42,7 @@ * * @see JarArchiver */ +@Named( "war" ) public class WarArchiver extends JarArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/war/WarUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/war/WarUnArchiver.java new file mode 100644 index 000000000..5cc7afc61 --- /dev/null +++ b/src/main/java/org/codehaus/plexus/archiver/war/WarUnArchiver.java @@ -0,0 +1,42 @@ +/** + * + * Copyright 2004 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.codehaus.plexus.archiver.war; + +import javax.inject.Named; + +import java.io.File; + +import org.codehaus.plexus.archiver.zip.ZipUnArchiver; + +/** + * Alias for {@link ZipUnArchiver}. + */ +@Named( "war" ) +public class WarUnArchiver + extends ZipUnArchiver +{ + + public WarUnArchiver() + { + } + + public WarUnArchiver( File sourceFile ) + { + super( sourceFile ); + } + +} diff --git a/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java index c83a9fffc..cf7666524 100644 --- a/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/xz/PlexusIoXZResourceCollection.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.xz; +import javax.inject.Named; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -29,6 +31,7 @@ * @author lore * @since 3.3 */ +@Named( "xz" ) public class PlexusIoXZResourceCollection extends PlexusIoCompressedFileResourceCollection { diff --git a/src/main/java/org/codehaus/plexus/archiver/xz/XZArchiver.java b/src/main/java/org/codehaus/plexus/archiver/xz/XZArchiver.java index 1158382e0..79b7f2ed1 100644 --- a/src/main/java/org/codehaus/plexus/archiver/xz/XZArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/xz/XZArchiver.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.xz; +import javax.inject.Named; + import java.io.IOException; import org.codehaus.plexus.archiver.AbstractArchiver; import org.codehaus.plexus.archiver.ArchiveEntry; @@ -26,6 +28,7 @@ * @author philiplourandos * @since 3.3 */ +@Named( "xz" ) public class XZArchiver extends AbstractArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/xz/XZUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/xz/XZUnArchiver.java index 4985ceb6f..a52324dbe 100644 --- a/src/main/java/org/codehaus/plexus/archiver/xz/XZUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/xz/XZUnArchiver.java @@ -19,6 +19,8 @@ import java.io.IOException; import java.io.InputStream; import javax.annotation.Nonnull; +import javax.inject.Named; + import org.apache.commons.compress.compressors.xz.XZCompressorInputStream; import org.codehaus.plexus.archiver.AbstractUnArchiver; import org.codehaus.plexus.archiver.ArchiverException; @@ -32,6 +34,7 @@ * @author philip.lourandos * @since 3.3 */ +@Named( "xz" ) public class XZUnArchiver extends AbstractUnArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java index a63a63ae8..f1df19cd6 100755 --- a/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/AbstractZipArchiver.java @@ -55,10 +55,7 @@ import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.util.FileUtils; -@SuppressWarnings( -{ - "NullableProblems", "UnusedDeclaration" -} ) +@SuppressWarnings( { "UnusedDeclaration" } ) public abstract class AbstractZipArchiver extends AbstractArchiver { @@ -316,8 +313,8 @@ private void createArchiveMain() /** * Gets the {@code UnicodeExtraFieldPolicy} to apply. * - * @return {@link ZipArchiveOutputStream.UnicodeExtraFieldPolicy.NEVER}, if the effective encoding is - * UTF-8; {@link ZipArchiveOutputStream.UnicodeExtraFieldPolicy.ALWAYS}, if the effective encoding is not + * @return {@link ZipArchiveOutputStream.UnicodeExtraFieldPolicy#NEVER}, if the effective encoding is + * UTF-8; {@link ZipArchiveOutputStream.UnicodeExtraFieldPolicy#ALWAYS}, if the effective encoding is not * UTF-8. * * @see #getEncoding() diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollection.java index 8176d9251..dfb2c7608 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollection.java @@ -1,9 +1,12 @@ package org.codehaus.plexus.archiver.zip; +import javax.inject.Named; + import java.io.Closeable; import java.io.File; import java.io.IOException; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.Enumeration; import java.util.Iterator; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; @@ -12,16 +15,12 @@ import org.codehaus.plexus.components.io.resources.EncodingSupported; import org.codehaus.plexus.components.io.resources.PlexusIoResource; +@Named( "zip" ) public class PlexusArchiverZipFileResourceCollection extends AbstractPlexusIoArchiveResourceCollection implements EncodingSupported { - /** - * The zip file resource collections role hint. - */ - public static final String ROLE_HINT = "zip"; - - private Charset charset = Charset.forName( "UTF-8" ); + private Charset charset = StandardCharsets.UTF_8; @Override protected Iterator getEntries() diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollection.java b/src/main/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollection.java index 90c970bc3..92dd8d37b 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollection.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollection.java @@ -15,6 +15,8 @@ */ package org.codehaus.plexus.archiver.zip; +import javax.inject.Named; + import java.io.Closeable; import java.io.File; import java.io.IOException; @@ -22,6 +24,7 @@ import java.net.URL; import java.net.URLClassLoader; import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.util.Enumeration; import java.util.Iterator; import java.util.jar.JarFile; @@ -33,22 +36,14 @@ import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.components.io.resources.PlexusIoURLResource; +// TODO: there were two components for same name! +// @Named( "zip" ) public class PlexusIoZipFileResourceCollection extends AbstractPlexusIoArchiveResourceCollection implements EncodingSupported { - /** - * The zip file resource collections role hint. - */ - public static final String ROLE_HINT = "zipFile"; - - /** - * The zip file resource collections role hint for jar files. - */ - public static final String JAR_ROLE_HINT = "jarFile"; - - private Charset charset = Charset.forName( "UTF-8" ); + private Charset charset = StandardCharsets.UTF_8; public PlexusIoZipFileResourceCollection() { diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/ZipArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/ZipArchiver.java index 6c8c19493..b19b681e8 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/ZipArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/ZipArchiver.java @@ -16,6 +16,9 @@ */ package org.codehaus.plexus.archiver.zip; +import javax.inject.Named; + +@Named( "zip" ) public class ZipArchiver extends AbstractZipArchiver { diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/ZipUnArchiver.java b/src/main/java/org/codehaus/plexus/archiver/zip/ZipUnArchiver.java index 6e321fe30..4041b6fdf 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/ZipUnArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/ZipUnArchiver.java @@ -16,11 +16,14 @@ */ package org.codehaus.plexus.archiver.zip; +import javax.inject.Named; + import java.io.File; /** * @author Emmanuel Venisse */ +@Named( "zip" ) public class ZipUnArchiver extends AbstractZipUnArchiver { diff --git a/src/main/resources/META-INF/plexus/components.xml b/src/main/resources/META-INF/plexus/components.xml deleted file mode 100644 index 71d47ac1f..000000000 --- a/src/main/resources/META-INF/plexus/components.xml +++ /dev/null @@ -1,442 +0,0 @@ - - - - - org.codehaus.plexus.archiver.Archiver - bzip2 - org.codehaus.plexus.archiver.bzip2.BZip2Archiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - xz - org.codehaus.plexus.archiver.xz.XZArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - dir - org.codehaus.plexus.archiver.dir.DirectoryArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - ear - org.codehaus.plexus.archiver.ear.EarArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - gzip - org.codehaus.plexus.archiver.gzip.GZipArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - jar - org.codehaus.plexus.archiver.jar.JarArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - mjar - org.codehaus.plexus.archiver.jar.JarToolModularJarArchiver - per-lookup - - - - org.codehaus.plexus.archiver.Archiver - snappy - org.codehaus.plexus.archiver.snappy.SnappyArchiver - per-lookup - - - - org.codehaus.plexus.archiver.Archiver - tar - org.codehaus.plexus.archiver.tar.TarArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - war - org.codehaus.plexus.archiver.war.WarArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - zip - org.codehaus.plexus.archiver.zip.ZipArchiver - per-lookup - - - org.codehaus.plexus.archiver.Archiver - rar - - org.codehaus.plexus.archiver.jar.JarArchiver - per-lookup - - - - - org.codehaus.plexus.archiver.UnArchiver - bzip2 - org.codehaus.plexus.archiver.bzip2.BZip2UnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - xz - org.codehaus.plexus.archiver.xz.XZUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - gzip - org.codehaus.plexus.archiver.gzip.GZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - snappy - org.codehaus.plexus.archiver.snappy.SnappyUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - tar - org.codehaus.plexus.archiver.tar.TarUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - zip - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - jar - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - war - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - ear - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - swc - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - nar - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - esb - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - sar - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - car - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - par - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - rar - - org.codehaus.plexus.archiver.zip.ZipUnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - tgz - org.codehaus.plexus.archiver.tar.TarGZipUnArchiver - per-lookup - - - org.codehaus.plexus.archiver.UnArchiver - tar.gz - org.codehaus.plexus.archiver.tar.TarGZipUnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - tbz2 - org.codehaus.plexus.archiver.tar.TarBZip2UnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - tar.bz2 - org.codehaus.plexus.archiver.tar.TarBZip2UnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - txz - org.codehaus.plexus.archiver.tar.TarXZUnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - tar.xz - org.codehaus.plexus.archiver.tar.TarXZUnArchiver - per-lookup - - - - org.codehaus.plexus.archiver.UnArchiver - tar.snappy - org.codehaus.plexus.archiver.tar.TarSnappyUnArchiver - per-lookup - - - - - org.codehaus.plexus.archiver.manager.ArchiverManager - org.codehaus.plexus.archiver.manager.DefaultArchiverManager - default - - - - - org.codehaus.plexus.components.io.fileselectors.FileSelector - jar-security - org.codehaus.plexus.archiver.filters.JarSecurityFileSelector - singleton - - - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - bzip2 - org.codehaus.plexus.archiver.bzip2.PlexusIoBzip2ResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - bz2 - org.codehaus.plexus.archiver.bzip2.PlexusIoBzip2ResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - xz - org.codehaus.plexus.archiver.xz.PlexusIoXZResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - gzip - org.codehaus.plexus.archiver.gzip.PlexusIoGzipResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - gz - org.codehaus.plexus.archiver.gzip.PlexusIoGzipResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - snappy - org.codehaus.plexus.archiver.snappy.PlexusIoSnappyResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tar - org.codehaus.plexus.archiver.tar.PlexusIoTarFileResourceCollection - per-lookup - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - jar - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - war - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - ear - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - swc - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - nar - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - esb - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - sar - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - car - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - Par - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - rar - - org.codehaus.plexus.archiver.zip.PlexusIoZipFileResourceCollection - per-lookup - - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tgz - org.codehaus.plexus.archiver.tar.PlexusIoTarGZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tar.gz - org.codehaus.plexus.archiver.tar.PlexusIoTarGZipFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - snappy.gz - org.codehaus.plexus.archiver.tar.PlexusIoTarSnappyFileResourceCollection - per-lookup - - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tbz2 - org.codehaus.plexus.archiver.tar.PlexusIoTarBZip2FileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tar.bz2 - org.codehaus.plexus.archiver.tar.PlexusIoTarBZip2FileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - txz - org.codehaus.plexus.archiver.tar.PlexusIoTarXZFileResourceCollection - per-lookup - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - tar.xz - org.codehaus.plexus.archiver.tar.PlexusIoTarXZFileResourceCollection - per-lookup - - - - org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection - zip - org.codehaus.plexus.archiver.zip.PlexusArchiverZipFileResourceCollection - per-lookup - - - diff --git a/src/test/java/org/codehaus/plexus/archiver/AbstractArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/AbstractArchiverTest.java index 92c52a1d7..6faa59f6b 100644 --- a/src/test/java/org/codehaus/plexus/archiver/AbstractArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/AbstractArchiverTest.java @@ -2,17 +2,20 @@ import java.io.File; import java.io.IOException; -import junit.framework.TestCase; -public class AbstractArchiverTest extends TestCase +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class AbstractArchiverTest { private AbstractArchiver archiver; - @Override - protected void setUp() throws Exception + @Before + public void setUp() throws Exception { - super.setUp(); this.archiver = new AbstractArchiver() { @@ -37,6 +40,7 @@ protected void close() throws IOException }; } + @Test public void testModesAndOverridesAreUnsetByDefault() { assertEquals( -1, archiver.getDefaultFileMode() ); @@ -46,12 +50,14 @@ public void testModesAndOverridesAreUnsetByDefault() assertEquals( -1, archiver.getOverrideDirectoryMode() ); } + @Test public void testWhenUnsetModeUsesDefault() { assertEquals( Archiver.DEFAULT_FILE_MODE, archiver.getFileMode() ); assertEquals( Archiver.DEFAULT_DIR_MODE, archiver.getDirectoryMode() ); } + @Test public void testSetModeIsUsedWithFlagsForType() { archiver.setFileMode( 0400 ); @@ -61,6 +67,7 @@ public void testSetModeIsUsedWithFlagsForType() assertEquals( 040600, archiver.getDirectoryMode() ); } + @Test public void testSetDefaultIncludesFlagsForType() { archiver.setDefaultFileMode( 0400 ); @@ -70,6 +77,7 @@ public void testSetDefaultIncludesFlagsForType() assertEquals( 040600, archiver.getDefaultDirectoryMode() ); } + @Test public void testDefaultIsUsedWhenModeIsUnset() { archiver.setDefaultFileMode( 0400 ); @@ -79,6 +87,7 @@ public void testDefaultIsUsedWhenModeIsUnset() assertEquals( 040600, archiver.getDirectoryMode() ); } + @Test public void testOverridesCanBeReset() { archiver.setFileMode( 0400 ); @@ -90,6 +99,7 @@ public void testOverridesCanBeReset() assertEquals( -1, archiver.getOverrideDirectoryMode() ); } + @Test public void testSetDestFileInTheWorkingDir() { archiver.setDestFile( new File( "archive" ) ); } diff --git a/src/test/java/org/codehaus/plexus/archiver/AbstractUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/AbstractUnArchiverTest.java index 8435fdf33..e965d395a 100644 --- a/src/test/java/org/codehaus/plexus/archiver/AbstractUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/AbstractUnArchiverTest.java @@ -21,9 +21,6 @@ import java.util.Date; import org.codehaus.plexus.components.io.filemappers.FileMapper; -import org.hamcrest.BaseMatcher; -import org.hamcrest.Description; -import org.hamcrest.core.StringContains; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -31,10 +28,10 @@ import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; -import static org.hamcrest.CoreMatchers.hasItem; +import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; -import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.greaterThan; /** * Unit test for {@link AbstractUnArchiver} @@ -50,7 +47,6 @@ public class AbstractUnArchiverTest public TemporaryFolder temporaryFolder = new TemporaryFolder(); private AbstractUnArchiver abstractUnArchiver; - private CapturingLog log = new CapturingLog( 0 /*debug*/, "AbstractUnArchiver" ); @Before public void setUp() @@ -71,7 +67,6 @@ protected void execute() // unused } }; - this.abstractUnArchiver.enableLogging( log ); } @After @@ -147,7 +142,7 @@ public void shouldNotExtractWhenFileOnDiskIsNewerThanEntryInArchive_andWarnAbout // when & then assertThat( this.abstractUnArchiver.shouldExtractEntry( temporaryFolder.getRoot(), file, entryname, entryDate ), is ( false ) ); - assertThat( this.log.getWarns(), hasItem( new LogMessageMatcher( "names differ only by case" ) ) ); + assertThat( this.abstractUnArchiver.casingMessageEmitted.get(), greaterThan(0) ); } @Test @@ -182,7 +177,7 @@ public void shouldExtractWhenEntryInArchiveIsNewerThanFileOnDiskAndWarnAboutDiff assertThat( this.abstractUnArchiver.shouldExtractEntry( temporaryFolder.getRoot(), file, entryname, entryDate ), is( true ) ); this.abstractUnArchiver.setOverwrite( false ); assertThat( this.abstractUnArchiver.shouldExtractEntry( temporaryFolder.getRoot(), file, entryname, entryDate ), is( false ) ); - assertThat( this.log.getWarns(), hasItem( new LogMessageMatcher( "names differ only by case" ) ) ); + assertThat( this.abstractUnArchiver.casingMessageEmitted.get(), greaterThan(0) ); } @Test @@ -197,34 +192,6 @@ public void shouldNotWarnAboutDifferentCasingForDirectoryEntries() throws IOExce // when & then this.abstractUnArchiver.setOverwrite( true ); assertThat( this.abstractUnArchiver.shouldExtractEntry( temporaryFolder.getRoot(), file, entryname, entryDate ), is( true ) ); - assertThat( this.log.getWarns(), not( hasItem( new LogMessageMatcher( "names differ only by case" ) ) ) ); - } - - static class LogMessageMatcher extends BaseMatcher { - private final StringContains delegateMatcher; - - LogMessageMatcher( String needle ) - { - this.delegateMatcher = new StringContains( needle ); - } - - @Override - public void describeTo( Description description ) - { - description.appendText( "a log message with " ); - delegateMatcher.describeTo( description ); - } - - @Override - public boolean matches( Object item ) - { - if ( item instanceof CapturingLog.Message ) - { - CapturingLog.Message message = (CapturingLog.Message) item; - String haystack = message.message; - return delegateMatcher.matches( haystack ); - } - return false; - } + assertThat( this.abstractUnArchiver.casingMessageEmitted.get(), equalTo( 0 ) ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/BasePlexusArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/BasePlexusArchiverTest.java index 915e8327d..647b0f072 100644 --- a/src/test/java/org/codehaus/plexus/archiver/BasePlexusArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/BasePlexusArchiverTest.java @@ -28,14 +28,13 @@ import java.nio.file.Files; import java.nio.file.attribute.FileTime; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; /** * Base abstract class that all the test-cases for different archivers * extend so that they can use its helpful methods. */ -public abstract class BasePlexusArchiverTest extends PlexusTestCase +public abstract class BasePlexusArchiverTest extends TestSupport { /** @@ -104,7 +103,7 @@ protected Archiver createArchiver( String format ) throws Exception final File pomFile = new File( "pom.xml" ); final File rarFile = new File( "target/output/pom.xml." + format ); - Archiver archiver = (Archiver) lookup( Archiver.ROLE, format ); + Archiver archiver = (Archiver) lookup( Archiver.class, format ); archiver.setDestFile( rarFile ); archiver.addFile( pomFile, "pom.xml" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/CapturingLog.java b/src/test/java/org/codehaus/plexus/archiver/CapturingLog.java deleted file mode 100644 index 320566d3e..000000000 --- a/src/test/java/org/codehaus/plexus/archiver/CapturingLog.java +++ /dev/null @@ -1,99 +0,0 @@ -package org.codehaus.plexus.archiver; - -import org.codehaus.plexus.logging.AbstractLogger; -import org.codehaus.plexus.logging.Logger; - -import java.util.ArrayList; -import java.util.List; - -public class CapturingLog extends AbstractLogger -{ - public CapturingLog( int threshold, String name ) - { - super( threshold, name ); - } - - static class Message { - public final String message; - public final Throwable throwable; - - public Message( String message, Throwable throwable ) - { - this.message = message; - this.throwable = throwable; - } - - @Override - public String toString() - { - return "Message{" + "message='" + message + '\'' + ", throwable=" + throwable + '}'; - } - } - - private final List debugs = new ArrayList<>(); - @Override - public void debug( String s, Throwable throwable ) - { - debugs.add( new Message( s, throwable ) ); - } - - public List getDebugs() - { - return debugs; - } - - - private final List infos = new ArrayList<>(); - @Override - public void info( String s, Throwable throwable ) - { - infos.add( new Message( s, throwable ) ); - } - - public List getInfos() - { - return infos; - } - - private final List warns = new ArrayList<>(); - @Override - public void warn( String s, Throwable throwable ) - { - warns.add( new Message( s, throwable ) ); - } - - public List getWarns() - { - return warns; - } - - private final List errors = new ArrayList<>(); - @Override - public void error( String s, Throwable throwable ) - { - errors.add( new Message( s, throwable ) ); - } - - public List getErors() - { - return errors; - } - - private final List fatals = new ArrayList<>(); - @Override - public void fatalError( String s, Throwable throwable ) - { - fatals.add( new Message( s, throwable ) ); - } - - public List getFatals() - { - return fatals; - } - - @Override - public Logger getChildLogger( String s ) - { - return null; - } -} diff --git a/src/test/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizerTest.java b/src/test/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizerTest.java index aa1776e46..713d25866 100644 --- a/src/test/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizerTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/DotDirectiveArchiveFinalizerTest.java @@ -2,16 +2,19 @@ import java.io.File; import java.util.jar.JarFile; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.jar.JarArchiver; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; /** * @author Jason van Zyl */ public class DotDirectiveArchiveFinalizerTest - extends PlexusTestCase + extends TestSupport { + @Test public void testDotDirectiveArchiveFinalizer() throws Exception { @@ -39,6 +42,7 @@ public void testDotDirectiveArchiveFinalizer() assertNotNull( jar.getEntry( "META-INF/maven/NOTICE.txt" ) ); } + @Test public void testDefaultDotDirectiveBehaviour() throws Exception { diff --git a/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java b/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java index afab59f3d..81b9f766e 100644 --- a/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/DuplicateFilesTest.java @@ -9,18 +9,19 @@ import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.codehaus.plexus.DefaultPlexusContainer; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.tar.TarArchiver; import org.codehaus.plexus.archiver.tar.TarLongFileMode; -import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * @author Erik Engstrom */ public class DuplicateFilesTest - extends PlexusTestCase + extends TestSupport { private static final File file1 = getTestFile( "src/test/resources/group-writable/foo.txt" ); @@ -29,18 +30,12 @@ public class DuplicateFilesTest private static final File destination = getTestFile( "target/output/duplicateFiles" ); - public void setUp() - throws Exception - { - super.setUp(); - DefaultPlexusContainer container = (DefaultPlexusContainer) getContainer(); - container.getLoggerManager().setThreshold( Logger.LEVEL_DEBUG ); - } + @Test public void testZipArchiver() throws Exception { - Archiver archiver = (Archiver) lookup( Archiver.ROLE, "zip" ); + Archiver archiver = lookup( Archiver.class, "zip" ); archiver.setDuplicateBehavior( Archiver.DUPLICATES_SKIP ); File archive = createArchive( archiver, "zip" ); @@ -63,19 +58,21 @@ public void testZipArchiver() testArchive( archive, "zip" ); } + @Test public void testDirArchiver() throws Exception { - Archiver archiver = (Archiver) lookup( Archiver.ROLE, "dir" ); + Archiver archiver = lookup( Archiver.class, "dir" ); createArchive( archiver, "dir" ); testFinalFile( "target/output/duplicateFiles.dir/duplicateFiles/foo.txt" ); } + @Test public void testTarArchiver() throws Exception { - TarArchiver archiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver archiver = (TarArchiver) lookup( Archiver.class, "tar" ); archiver.setLongfile( TarLongFileMode.posix ); archiver.setDuplicateBehavior( Archiver.DUPLICATES_SKIP ); @@ -128,7 +125,7 @@ private void testArchive( File archive, String role ) { // Check the content of the archive by extracting it - UnArchiver unArchiver = (UnArchiver) lookup( UnArchiver.ROLE, role ); + UnArchiver unArchiver = lookup( UnArchiver.class, role ); unArchiver.setSourceFile( archive ); unArchiver.setDestDirectory( getTestFile( "target/output/" ) ); diff --git a/src/test/java/org/codehaus/plexus/archiver/EmptyDirectoryTest.java b/src/test/java/org/codehaus/plexus/archiver/EmptyDirectoryTest.java index 07a19e308..bc48ec4d0 100644 --- a/src/test/java/org/codehaus/plexus/archiver/EmptyDirectoryTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/EmptyDirectoryTest.java @@ -24,23 +24,27 @@ package org.codehaus.plexus.archiver; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.tar.TarArchiver; import org.codehaus.plexus.archiver.tar.TarLongFileMode; +import org.junit.Test; + +import static org.junit.Assert.assertTrue; /** * @author Daniel Krisher */ public class EmptyDirectoryTest - extends PlexusTestCase + extends TestSupport { + @Test public void testZipArchiver() throws Exception { - testEmptyDirectory( "zip", (Archiver) lookup( Archiver.ROLE, "zip" ) ); + testEmptyDirectory( "zip", lookup( Archiver.class, "zip" ) ); } + @Test public void testJarArchiver() throws Exception { @@ -48,10 +52,11 @@ public void testJarArchiver() // testEmptyDirectory( "jar" ); } + @Test public void testTarArchiver() throws Exception { - final TarArchiver tar = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + final TarArchiver tar = (TarArchiver) lookup( Archiver.class, "tar" ); tar.setLongfile( TarLongFileMode.posix ); testEmptyDirectory( "tar", tar ); } @@ -87,7 +92,7 @@ private void testEmptyDirectory( String role, Archiver archiver ) emptyDir.delete(); // Check the content of the archive by extracting it - UnArchiver unArchiver = (UnArchiver) lookup( UnArchiver.ROLE, role ); + UnArchiver unArchiver = lookup( UnArchiver.class, role ); unArchiver.setSourceFile( archive ); unArchiver.setDestDirectory( getTestFile( "target/output/emptyTest" ) ); diff --git a/src/test/java/org/codehaus/plexus/archiver/SymlinkTest.java b/src/test/java/org/codehaus/plexus/archiver/SymlinkTest.java index 0afb78aca..f2731a3a9 100644 --- a/src/test/java/org/codehaus/plexus/archiver/SymlinkTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/SymlinkTest.java @@ -3,7 +3,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.dir.DirectoryArchiver; import org.codehaus.plexus.archiver.tar.TarArchiver; import org.codehaus.plexus.archiver.tar.TarLongFileMode; @@ -11,14 +10,19 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.archiver.zip.ZipUnArchiver; import org.codehaus.plexus.util.Os; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Kristian Rosenvold */ public class SymlinkTest - extends PlexusTestCase + extends TestSupport { + @Test public void testSymlinkDir() throws IOException { @@ -30,6 +34,7 @@ public void testSymlinkDir() } } + @Test public void testSymlinkDirWithSlash() throws IOException { @@ -41,6 +46,7 @@ public void testSymlinkDirWithSlash() } } + @Test public void testSymlinkFile() { if ( !Os.isFamily( Os.FAMILY_WINDOWS ) ) @@ -51,10 +57,11 @@ public void testSymlinkFile() } } + @Test public void testSymlinkTar() throws Exception { - TarArchiver archiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver archiver = (TarArchiver) lookup( Archiver.class, "tar" ); archiver.setLongfile( TarLongFileMode.posix ); File dummyContent = getTestFile( "src/test/resources/symlinks/src" ); @@ -64,16 +71,17 @@ public void testSymlinkTar() archiver.createArchive(); File output = getTestFile( "target/output/untaredSymlinks" ); output.mkdirs(); - TarUnArchiver unarchiver = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar" ); + TarUnArchiver unarchiver = (TarUnArchiver) lookup( UnArchiver.class, "tar" ); unarchiver.setSourceFile( archiveFile ); unarchiver.setDestFile( output ); unarchiver.extract(); } + @Test public void testSymlinkZip() throws Exception { - ZipArchiver archiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver archiver = (ZipArchiver) lookup( Archiver.class, "zip" ); File dummyContent = getTestFile( "src/test/resources/symlinks/src" ); archiver.addDirectory( dummyContent ); @@ -84,18 +92,19 @@ public void testSymlinkZip() File output = getTestFile( "target/output/unzippedSymlinks" ); output.mkdirs(); - ZipUnArchiver unarchiver = (ZipUnArchiver) lookup( UnArchiver.ROLE, "zip" ); + ZipUnArchiver unarchiver = (ZipUnArchiver) lookup( UnArchiver.class, "zip" ); unarchiver.setSourceFile( archiveFile ); unarchiver.setDestFile( output ); unarchiver.extract(); } + @Test public void testSymlinkDirArchiver() throws Exception { if ( !Os.isFamily( Os.FAMILY_WINDOWS ) ) { - DirectoryArchiver archiver = (DirectoryArchiver) lookup( Archiver.ROLE, "dir" ); + DirectoryArchiver archiver = (DirectoryArchiver) lookup( Archiver.class, "dir" ); File dummyContent = getTestFile( "src/test/resources/symlinks/src" ); archiver.addDirectory( dummyContent ); diff --git a/src/test/java/org/codehaus/plexus/archiver/TestSupport.java b/src/test/java/org/codehaus/plexus/archiver/TestSupport.java new file mode 100644 index 000000000..3b87685af --- /dev/null +++ b/src/test/java/org/codehaus/plexus/archiver/TestSupport.java @@ -0,0 +1,29 @@ +package org.codehaus.plexus.archiver; + +import java.io.File; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.eclipse.sisu.launch.InjectedTest; + +/** + * Test support class. + */ +public abstract class TestSupport + extends InjectedTest +{ + private static Path basedir() + { + return Paths.get( System.getProperty( "basedir", ( new File( "" ) ).getAbsolutePath() ) ); + } + + protected static File getTestFile( final String path ) + { + return basedir().resolve( path ).toFile(); + } + + protected static File getTestFile( final String basedir, final String path ) + { + return basedir().resolve( basedir ).resolve( path ).toFile(); + } +} diff --git a/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java index 04c8178a7..b39bf1ba0 100644 --- a/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/bzip2/BZip2ArchiverTest.java @@ -36,6 +36,12 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author Emmanuel Venisse @@ -44,14 +50,15 @@ public class BZip2ArchiverTest extends BasePlexusArchiverTest { + @Test public void testCreateArchive() throws Exception { - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.addDirectory( getTestFile( "src" ) ); zipArchiver.setDestFile( getTestFile( "target/output/archiveForbz2.zip" ) ); zipArchiver.createArchive(); - BZip2Archiver archiver = (BZip2Archiver) lookup( Archiver.ROLE, "bzip2" ); + BZip2Archiver archiver = (BZip2Archiver) lookup( Archiver.class, "bzip2" ); String[] inputFiles = new String[ 1 ]; inputFiles[0] = "archiveForbz2.zip"; archiver.addDirectory( getTestFile( "target/output" ), inputFiles, null ); @@ -59,10 +66,11 @@ public void testCreateArchive() archiver.createArchive(); } + @Test public void testCreateEmptyArchive() throws Exception { - BZip2Archiver archiver = (BZip2Archiver) lookup( Archiver.ROLE, "bzip2" ); + BZip2Archiver archiver = (BZip2Archiver) lookup( Archiver.class, "bzip2" ); archiver.setDestFile( getTestFile( "target/output/empty.bz2" ) ); try { @@ -75,12 +83,13 @@ public void testCreateEmptyArchive() } } + @Test public void testCreateResourceCollection() throws Exception { final File pomFile = new File( "pom.xml" ); final File bz2File = new File( "target/output/pom.xml.bz2" ); - BZip2Archiver bzip2Archiver = (BZip2Archiver) lookup( Archiver.ROLE, "bzip2" ); + BZip2Archiver bzip2Archiver = (BZip2Archiver) lookup( Archiver.class, "bzip2" ); bzip2Archiver.setDestFile( bz2File ); bzip2Archiver.addFile( pomFile, "pom.xml" ); FileUtils.removePath( bz2File.getPath() ); @@ -89,7 +98,7 @@ public void testCreateResourceCollection() System.out.println( "Created: " + bz2File.getAbsolutePath() ); final File zipFile = new File( "target/output/pom.zip" ); - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.setDestFile( zipFile ); zipArchiver.addArchivedFileSet( bz2File, "prfx/" ); FileUtils.removePath( zipFile.getPath() ); @@ -112,6 +121,7 @@ public void testCreateResourceCollection() * * @throws Exception */ + @Test public void testBz2IsForcedBehaviour() throws Exception { BZip2Archiver bZip2Archiver = (BZip2Archiver) createArchiver( "bzip2" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java index 3a6c532ab..bbff5d354 100644 --- a/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/gzip/GZipArchiverTest.java @@ -36,6 +36,13 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author Emmanuel Venisse @@ -44,14 +51,15 @@ public class GZipArchiverTest extends BasePlexusArchiverTest { + @Test public void testCreateArchive() throws Exception { - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.addDirectory( getTestFile( "src" ) ); zipArchiver.setDestFile( getTestFile( "target/output/archiveForGzip.zip" ) ); zipArchiver.createArchive(); - GZipArchiver archiver = (GZipArchiver) lookup( Archiver.ROLE, "gzip" ); + GZipArchiver archiver = (GZipArchiver) lookup( Archiver.class, "gzip" ); String[] inputFiles = new String[ 1 ]; inputFiles[0] = "archiveForGzip.zip"; archiver.addDirectory( getTestFile( "target/output" ), inputFiles, null ); @@ -59,11 +67,11 @@ public void testCreateArchive() archiver.createArchive(); } - + @Test public void testCreateEmptyArchive() throws Exception { - GZipArchiver archiver = (GZipArchiver) lookup( Archiver.ROLE, "gzip" ); + GZipArchiver archiver = (GZipArchiver) lookup( Archiver.class, "gzip" ); archiver.setDestFile( getTestFile( "target/output/empty.gz" ) ); try { @@ -76,19 +84,20 @@ public void testCreateEmptyArchive() } } + @Test public void testCreateResourceCollection() throws Exception { final File pomFile = new File( "pom.xml" ); final File gzFile = new File( "target/output/pom.xml.gz" ); - GZipArchiver gzipArchiver = (GZipArchiver) lookup( Archiver.ROLE, "gzip" ); + GZipArchiver gzipArchiver = (GZipArchiver) lookup( Archiver.class, "gzip" ); gzipArchiver.setDestFile( gzFile ); gzipArchiver.addFile( pomFile, "pom.xml" ); FileUtils.removePath( gzFile.getPath() ); gzipArchiver.createArchive(); final File zipFile = new File( "target/output/pom.zip" ); - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.setDestFile( zipFile ); zipArchiver.addArchivedFileSet( gzFile, "prfx/" ); FileUtils.removePath( zipFile.getPath() ); @@ -110,6 +119,7 @@ public void testCreateResourceCollection() * * @throws Exception */ + @Test public void testTarGzIsForcedBehaviour() throws Exception { GZipArchiver gZipArchiver = (GZipArchiver) createArchiver( "gzip" ); @@ -128,7 +138,7 @@ public void testTarGzIsForcedBehaviour() throws Exception final long firstRunTime = gZipArchiver.getDestFile().lastModified(); - assertFalse( creationTime == firstRunTime ); + assertNotEquals( creationTime, firstRunTime ); gZipArchiver = (GZipArchiver) createArchiver( "gzip" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/DirectoryArchiverUnpackJarTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/DirectoryArchiverUnpackJarTest.java index 84a7a0d07..b142f14e3 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/DirectoryArchiverUnpackJarTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/DirectoryArchiverUnpackJarTest.java @@ -5,15 +5,18 @@ import java.io.InputStream; import java.nio.charset.Charset; import javax.annotation.Nonnull; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.util.ArchiveEntryUtils; import org.codehaus.plexus.archiver.util.DefaultArchivedFileSet; import org.codehaus.plexus.components.io.functions.InputStreamTransformer; import org.codehaus.plexus.components.io.resources.PlexusIoResource; +import org.junit.Test; + +import static org.junit.Assert.assertTrue; public class DirectoryArchiverUnpackJarTest - extends PlexusTestCase + extends TestSupport { public static final String[] DEFAULT_INCLUDES_ARRAY = @@ -39,6 +42,7 @@ public InputStream transform( @Nonnull PlexusIoResource resource, @Nonnull Input } + @Test public void test_dependency_sets_depSet_unpacked_rdonly() throws Exception { @@ -49,7 +53,7 @@ public void test_dependency_sets_depSet_unpacked_rdonly() afs.setExcludes( null ); afs.setPrefix( "child-1/" ); afs.setStreamTransformer( new IdentityTransformer() ); - Archiver archiver = (Archiver) lookup( Archiver.ROLE, "dir" ); + Archiver archiver = (Archiver) lookup( Archiver.class, "dir" ); archiver.setDefaultDirectoryMode( 0555 ); archiver.setDirectoryMode( 0555 ); // causes permission denied if bug is not fixed. archiver.setDestFile( new File( "target/depset_unpack" ) ); diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/IndexTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/IndexTest.java index a91660d8f..be42e6fd7 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/IndexTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/IndexTest.java @@ -18,21 +18,26 @@ import java.io.InputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; +import org.junit.Test; + import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; /** * @author Richard van der Hoff */ -public class IndexTest extends PlexusTestCase +public class IndexTest extends TestSupport { + @Test public void testCreateArchiveWithIndexedJars() throws Exception { /* create a dummy jar */ - JarArchiver archiver1 = (JarArchiver) lookup( Archiver.ROLE, "jar" ); + JarArchiver archiver1 = (JarArchiver) lookup( Archiver.class, "jar" ); archiver1.addFile( getTestFile( "src/test/resources/manifests/manifest1.mf" ), "one.txt" ); archiver1.setDestFile( getTestFile( "target/output/archive1.jar" ) ); archiver1.createArchive(); @@ -43,7 +48,7 @@ public void testCreateArchiveWithIndexedJars() Manifest.Attribute classpathAttr = new Manifest.Attribute( "Class-Path", "archive1.jar" ); m.addConfiguredAttribute( classpathAttr ); - JarArchiver archiver2 = (JarArchiver) lookup( Archiver.ROLE, "jar" ); + JarArchiver archiver2 = (JarArchiver) lookup( Archiver.class, "jar" ); archiver2.addFile( getTestFile( "src/test/resources/manifests/manifest2.mf" ), "two.txt" ); archiver2.setIndex( true ); archiver2.addConfiguredIndexJars( archiver1.getDestFile() ); @@ -71,11 +76,12 @@ public void testCreateArchiveWithIndexedJars() * this is pretty much a duplicate of testCreateArchiveWithIndexedJars(), but adds some extra * tests for files in META-INF */ + @Test public void testCreateArchiveWithIndexedJarsAndMetaInf() throws Exception { /* create a dummy jar */ - JarArchiver archiver1 = (JarArchiver) lookup( Archiver.ROLE, "jar" ); + JarArchiver archiver1 = (JarArchiver) lookup( Archiver.class, "jar" ); archiver1.addFile( getTestFile( "src/test/resources/manifests/manifest1.mf" ), "one.txt" ); // add a file in the META-INF directory, as this previously didn't make it into the index @@ -84,7 +90,7 @@ public void testCreateArchiveWithIndexedJarsAndMetaInf() archiver1.createArchive(); /* create another dummy jar, with an index but nothing else in META-INF. Also checks non-leaf files. */ - JarArchiver archiver3 = (JarArchiver) lookup( Archiver.ROLE, "jar" ); + JarArchiver archiver3 = (JarArchiver) lookup( Archiver.class, "jar" ); archiver3.addFile( getTestFile( "src/test/resources/manifests/manifest1.mf" ), "org/apache/maven/one.txt" ); archiver3.addFile( getTestFile( "src/test/resources/manifests/manifest2.mf" ), "META-INF/INDEX.LIST" ); archiver3.setDestFile( getTestFile( "target/output/archive3.jar" ) ); @@ -96,7 +102,7 @@ public void testCreateArchiveWithIndexedJarsAndMetaInf() Manifest.Attribute classpathAttr = new Manifest.Attribute( "Class-Path", "archive1.jar archive3.jar" ); m.addConfiguredAttribute( classpathAttr ); - JarArchiver archiver2 = (JarArchiver) lookup( Archiver.ROLE, "jar" ); + JarArchiver archiver2 = (JarArchiver) lookup( Archiver.class, "jar" ); archiver2.addFile( getTestFile( "src/test/resources/manifests/manifest2.mf" ), "two.txt" ); archiver2.setIndex( true ); archiver2.addConfiguredIndexJars( archiver1.getDestFile() ); diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java index 0e2120767..61a0c67b6 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/JdkManifestFactoryTest.java @@ -5,25 +5,32 @@ import java.io.InputStream; import java.util.jar.Attributes; import java.util.jar.Manifest; -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.util.Streams; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; /** * @author Kristian Rosenvold */ public class JdkManifestFactoryTest - extends PlexusTestCase + extends TestSupport { + @Test public void testGetDefaultManifest() throws Exception { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); Manifest manifest = JdkManifestFactory.getDefaultManifest(); manifest.write( byteArrayOutputStream ); - System.out.println( new String( byteArrayOutputStream.toByteArray() ) ); + System.out.println( byteArrayOutputStream ); } + @Test public void testGetDefaultManifestString() throws Exception { @@ -37,6 +44,7 @@ public void testGetDefaultManifestString() assertEquals( value, value2 ); } + @Test public void testIllegals() throws ManifestException, IOException { @@ -54,6 +62,7 @@ public void testIllegals() } } + @Test public void testMerge() throws ManifestException, IOException { @@ -82,6 +91,7 @@ public void testMerge() assertEquals( "002", redz.getValue( "Baz" ) ); } + @Test public void testDualClassPath() throws ManifestException, IOException { diff --git a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java index 0dd9b8013..ee113d259 100644 --- a/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/jar/ManifestTest.java @@ -22,15 +22,23 @@ import java.nio.file.Files; import java.util.jar.Attributes; -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.archiver.TestSupport; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author Emmanuel Venisse */ public class ManifestTest - extends PlexusTestCase + extends TestSupport { + @Test public void testManifest1() throws Exception { @@ -39,6 +47,7 @@ public void testManifest1() assertEquals( "Manifest was not created with correct version - ", "1.0", version ); } + @Test public void testManifest2() throws Exception { @@ -52,6 +61,7 @@ public void testManifest2() } } + @Test public void testManifest3() throws Exception { @@ -65,6 +75,7 @@ public void testManifest3() } } + @Test public void testManifest5() throws Exception { @@ -78,6 +89,7 @@ public void testManifest5() } } + @Test public void testAddConfiguredSection() throws ManifestException { @@ -89,6 +101,7 @@ public void testAddConfiguredSection() assertEquals( "baz", manifest.getAttributes( "fud" ).getValue( "bar" ) ); } + @Test public void testAttributeLongLineWrite() throws Exception { @@ -108,6 +121,7 @@ public void testAttributeLongLineWrite() } + @Test public void testAttributeLongLineWriteNonAscii() throws Exception { @@ -138,6 +152,7 @@ public void testAttributeLongLineWriteNonAscii() } + @Test public void testDualClassPath() throws ManifestException, IOException { @@ -147,6 +162,7 @@ public void testDualClassPath() assertEquals( "baz", attribute ); } + @Test public void testAttributeMultiLineValue() throws Exception { @@ -155,6 +171,7 @@ public void testAttributeMultiLineValue() } + @Test public void testAttributeDifferentLineEndings() throws Exception { @@ -163,6 +180,7 @@ public void testAttributeDifferentLineEndings() } + @Test public void testAddAttributes() throws ManifestException, IOException { @@ -173,6 +191,7 @@ public void testAddAttributes() assertEquals( "bzz", manifest.getSection( "Fudz" ).getAttributeValue( "boz" ) ); } + @Test public void testRemoveAttributes() throws ManifestException, IOException { @@ -184,6 +203,7 @@ public void testRemoveAttributes() assertNull( fudz.getAttributeValue( "boz" ) ); } + @Test public void testAttributeSerialization() throws IOException, ManifestException { @@ -203,6 +223,7 @@ public void testAttributeSerialization() assertTrue( s.contains( "attB: caB" ) ); } + @Test public void testDefaultBehaviour() { Manifest manifest = new Manifest(); @@ -213,6 +234,7 @@ public void testDefaultBehaviour() assertNull( manifest.getSection( "Fud" ) ); } + @Test public void testGetDefaultManifest() throws Exception { @@ -276,6 +298,7 @@ private static String dumpString( String in ) return out; } + @Test public void testAddAttributesPlexusManifest() throws ManifestException, IOException { @@ -285,6 +308,7 @@ public void testAddAttributesPlexusManifest() assertEquals( "bzz", manifest.getSection( "Fudz" ).getAttributeValue( "boz" ) ); } + @Test public void testRemoveAttributesPlexusManifest() throws ManifestException, IOException { @@ -296,6 +320,7 @@ public void testRemoveAttributesPlexusManifest() assertNull( fudz.getAttributeValue( "boz" ) ); } + @Test public void testAttributeSerializationPlexusManifest() throws IOException, ManifestException { @@ -316,6 +341,7 @@ public void testAttributeSerializationPlexusManifest() assertTrue( s.contains( "attB: caB" ) ); } + @Test public void testClassPathPlexusManifest() throws ManifestException { @@ -325,6 +351,7 @@ public void testClassPathPlexusManifest() assertEquals( "fud duf", manifest.getMainSection().getAttributeValue( ManifestConstants.ATTRIBUTE_CLASSPATH ) ); } + @Test public void testAddConfiguredSectionPlexusManifest() throws ManifestException { diff --git a/src/test/java/org/codehaus/plexus/archiver/manager/ArchiverManagerTest.java b/src/test/java/org/codehaus/plexus/archiver/manager/ArchiverManagerTest.java index 5640600a4..ba5f74648 100644 --- a/src/test/java/org/codehaus/plexus/archiver/manager/ArchiverManagerTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/manager/ArchiverManagerTest.java @@ -24,30 +24,38 @@ package org.codehaus.plexus.archiver.manager; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; +import org.junit.Test; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author Dan T. Tran */ public class ArchiverManagerTest - extends PlexusTestCase + extends TestSupport { + @Test public void testLookupArchiver() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); Archiver archiver = manager.getArchiver( "jar" ); assertNotNull( archiver ); } + @Test public void testReuseArchiver() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); Archiver archiver = manager.getArchiver( "jar" ); assertNotNull( archiver ); @@ -61,19 +69,21 @@ public void testReuseArchiver() assertTrue( !newArchiver.getResources().hasNext() ); } + @Test public void testLookupUnArchiver() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); UnArchiver unarchiver = manager.getUnArchiver( "zip" ); assertNotNull( unarchiver ); } + @Test public void testLookupUnknownArchiver() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); try { manager.getArchiver( "Unknown" ); @@ -84,10 +94,11 @@ public void testLookupUnknownArchiver() } } + @Test public void testLookupUnknownUnArchiver() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); try { manager.getUnArchiver( "Unknown" ); @@ -98,10 +109,11 @@ public void testLookupUnknownUnArchiver() } } + @Test public void testLookupUnArchiverUsingFile() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); UnArchiver unarchiver = manager.getUnArchiver( new File( "test.tar.gz" ) ); assertNotNull( unarchiver ); @@ -123,10 +135,11 @@ public void testLookupUnArchiverUsingFile() } + @Test public void testLookupArchiverUsingFile() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); Archiver archiver = manager.getArchiver( new File( "test.gzip" ) ); assertNotNull( archiver ); @@ -139,10 +152,11 @@ public void testLookupArchiverUsingFile() } + @Test public void testUnspportedLookupArchiverUsingFile() throws Exception { - ArchiverManager manager = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager manager = lookup( ArchiverManager.class ); try { diff --git a/src/test/java/org/codehaus/plexus/archiver/rar/RarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/rar/RarArchiverTest.java index 4615e16fd..43299c977 100644 --- a/src/test/java/org/codehaus/plexus/archiver/rar/RarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/rar/RarArchiverTest.java @@ -20,6 +20,12 @@ import org.codehaus.plexus.archiver.BasePlexusArchiverTest; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; /** * @author olamy @@ -35,7 +41,7 @@ public File getTargetRarFolder() } @Override - protected void setUp() + public void setUp() throws Exception { super.setUp(); @@ -46,10 +52,11 @@ protected void setUp() } } + @Test public void testArchive() throws Exception { - Archiver archiver = (Archiver) lookup( Archiver.ROLE, "rar" ); + Archiver archiver = lookup( Archiver.class, "rar" ); archiver.setDestFile( new File( getTargetRarFolder(), "test.rar" ) ); //archiver.addDirectory( , "manifests" ); archiver.addFile( getTestFile( "src/test/resources/manifests/manifest1.mf" ), "manifests/manifest1.mf" ); @@ -57,7 +64,7 @@ public void testArchive() archiver.createArchive(); assertTrue( new File( getTargetRarFolder(), "test.rar" ).exists() ); - UnArchiver unArchiver = (UnArchiver) lookup( UnArchiver.ROLE, "rar" ); + UnArchiver unArchiver = lookup( UnArchiver.class, "rar" ); unArchiver.setSourceFile( new File( getTargetRarFolder(), "test.rar" ) ); unArchiver.setDestDirectory( getTargetRarFolder() ); unArchiver.extract(); @@ -68,11 +75,12 @@ public void testArchive() assertTrue( manifestsFile.exists() ); } + @Test public void testUnarchive() throws Exception { - UnArchiver unArchiver = (UnArchiver) lookup( UnArchiver.ROLE, "rar" ); + UnArchiver unArchiver = lookup( UnArchiver.class, "rar" ); File rarFile = new File( getBasedir() + "/src/test/jars/test.rar" ); assertTrue( rarFile.exists() ); unArchiver.setSourceFile( rarFile ); @@ -92,6 +100,7 @@ public void testUnarchive() * * @throws Exception */ + @Test public void testRarIsForcedBehaviour() throws Exception { Archiver rarArvhiver = createArchiver( "rar" ); @@ -112,7 +121,7 @@ public void testRarIsForcedBehaviour() throws Exception rarArvhiver.createArchive(); final long firstRunTime = rarArvhiver.getDestFile().lastModified(); - assertFalse( creationTime == firstRunTime ); + assertNotEquals( creationTime, firstRunTime ); //waitUntilNewTimestamp( rarArvhiver.getDestFile(), firstRunTime ); rarArvhiver = createArchiver( "rar" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/sar/SarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/sar/SarArchiverTest.java index 770b58ca6..6a84a0d55 100644 --- a/src/test/java/org/codehaus/plexus/archiver/sar/SarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/sar/SarArchiverTest.java @@ -18,19 +18,23 @@ import org.codehaus.plexus.archiver.BasePlexusArchiverTest; import org.codehaus.plexus.archiver.manager.ArchiverManager; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; public class SarArchiverTest extends BasePlexusArchiverTest { + @Test public void testLookup() throws Exception { - ArchiverManager dam = (ArchiverManager) lookup( ArchiverManager.ROLE ); + ArchiverManager dam = lookup( ArchiverManager.class ); PlexusIoResourceCollection sar = dam.getResourceCollection( "sar" ); assertNotNull( sar ); PlexusIoResourceCollection archiver = - (PlexusIoResourceCollection) lookup( PlexusIoResourceCollection.ROLE, "sar" ); + (PlexusIoResourceCollection) lookup( PlexusIoResourceCollection.class, "sar" ); assertNotNull( archiver ); } diff --git a/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java index 6b68e4d29..8b6b5dbb8 100644 --- a/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/snappy/SnappyArchiverTest.java @@ -24,7 +24,6 @@ package org.codehaus.plexus.archiver.snappy; import java.io.File; -import java.io.FileInputStream; import java.io.InputStream; import java.nio.file.Files; import java.util.Arrays; @@ -36,6 +35,13 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * Tests for the snappy archiver @@ -44,14 +50,15 @@ public class SnappyArchiverTest extends BasePlexusArchiverTest { + @Test public void testCreateArchive() throws Exception { - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.addDirectory( getTestFile( "src" ) ); zipArchiver.setDestFile( getTestFile( "target/output/archiveForSnappy.zip" ) ); zipArchiver.createArchive(); - SnappyArchiver archiver = (SnappyArchiver) lookup( Archiver.ROLE, "snappy" ); + SnappyArchiver archiver = (SnappyArchiver) lookup( Archiver.class, "snappy" ); String[] inputFiles = new String[ 1 ]; inputFiles[0] = "archiveForSnappy.zip"; archiver.addDirectory( getTestFile( "target/output" ), inputFiles, null ); @@ -59,10 +66,11 @@ public void testCreateArchive() archiver.createArchive(); } + @Test public void testCreateEmptyArchive() throws Exception { - SnappyArchiver archiver = (SnappyArchiver) lookup( Archiver.ROLE, "snappy" ); + SnappyArchiver archiver = (SnappyArchiver) lookup( Archiver.class, "snappy" ); archiver.setDestFile( getTestFile( "target/output/empty.snappy" ) ); try { @@ -75,12 +83,13 @@ public void testCreateEmptyArchive() } } + @Test public void testCreateResourceCollection() throws Exception { final File pomFile = new File( "pom.xml" ); final File snappyFile = new File( "target/output/pom.xml.snappy" ); - SnappyArchiver SnappyArchiver = (SnappyArchiver) lookup( Archiver.ROLE, "snappy" ); + SnappyArchiver SnappyArchiver = (SnappyArchiver) lookup( Archiver.class, "snappy" ); SnappyArchiver.setDestFile( snappyFile ); SnappyArchiver.addFile( pomFile, "pom.xml" ); FileUtils.removePath( snappyFile.getPath() ); @@ -89,7 +98,7 @@ public void testCreateResourceCollection() System.out.println( "Created: " + snappyFile.getAbsolutePath() ); final File zipFile = new File( "target/output/pom.zip" ); - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.setDestFile( zipFile ); zipArchiver.addArchivedFileSet( snappyFile, "prfx/" ); FileUtils.removePath( zipFile.getPath() ); @@ -112,6 +121,7 @@ public void testCreateResourceCollection() * * @throws Exception */ + @Test public void testsnappyIsForcedBehaviour() throws Exception { SnappyArchiver SnappyArchiver = (SnappyArchiver) createArchiver( "snappy" ); @@ -130,7 +140,7 @@ public void testsnappyIsForcedBehaviour() throws Exception final long firstRunTime = SnappyArchiver.getDestFile().lastModified(); - assertFalse( creationTime == firstRunTime ); + assertNotEquals( creationTime, firstRunTime ); SnappyArchiver = (SnappyArchiver) createArchiver( "snappy" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java index 4238ca560..e7575cee1 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarArchiverTest.java @@ -25,10 +25,13 @@ import static org.codehaus.plexus.archiver.util.Streams.bufferedInputStream; import static org.codehaus.plexus.components.io.resources.ResourceFactory.createResource; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; import java.io.BufferedInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.Writer; import java.nio.charset.StandardCharsets; @@ -39,9 +42,9 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.ArchiverException; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnixStat; import org.codehaus.plexus.archiver.bzip2.BZip2Compressor; import org.codehaus.plexus.archiver.exceptions.EmptyArchiveException; @@ -55,15 +58,16 @@ import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; -import org.junit.Assert; +import org.junit.Test; /** * @author Emmanuel Venisse */ public class TarArchiverTest - extends PlexusTestCase + extends TestSupport { + @Test public void testCreateArchiveWithDetectedModes() throws Exception { @@ -232,6 +236,7 @@ public void testCreateArchiveWithDetectedModes() } } + @Test public void testCreateEmptyArchive() throws Exception { @@ -248,6 +253,7 @@ public void testCreateEmptyArchive() } } + @Test public void testUnicode() throws Exception { File tmpDir = getTestFile( "src/test/resources/utf8" ); @@ -278,6 +284,7 @@ private void writeFile( File dir, String fname, int mode ) ArchiveEntryUtils.chmod( file, mode ); } + @Test public void testCreateArchive() throws Exception { @@ -357,6 +364,7 @@ else if ( te.getName().equals( "two.txt" ) ) } + @Test public void testCreateArchiveWithJiustASymlink() throws Exception { @@ -404,7 +412,7 @@ else if ( te.isSymbolicLink() ) private TarArchiver getPosixTarArchiver() throws Exception { - TarArchiver archiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver archiver = (TarArchiver) lookup( Archiver.class, "tar" ); archiver.setLongfile( TarLongFileMode.posix ); return archiver; } @@ -496,18 +504,21 @@ TarFile newTarFile( File tarFile ) } + @Test public void testUncompressedResourceCollection() throws Exception { testCreateResourceCollection( new TarHandler() ); } + @Test public void testGzipCompressedResourceCollection() throws Exception { testCreateResourceCollection( new GZipTarHandler() ); } + @Test public void testGzipFIleHandleLeak() throws Exception { @@ -524,7 +535,7 @@ public void accept( TarArchiveEntry ze1 ) throws IOException { final String name1 = ze1.getName(); - Assert.assertNotNull( name1 ); + assertNotNull( name1 ); } @@ -534,12 +545,14 @@ public void accept( TarArchiveEntry ze1 ) } + @Test public void testBzip2CompressedResourceCollection() throws Exception { testCreateResourceCollection( new BZip2TarHandler() ); } + @Test public void testTarFileNotClosingInputStream() throws Exception { @@ -563,6 +576,7 @@ private void testCreateResourceCollection( TarHandler tarHandler ) cmp2.close(); } + @Test public void testSymlinkArchivedFileSet() throws Exception { diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiverTest.java index 33cd17803..d7f7ea11d 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarBZip2UnArchiverTest.java @@ -24,22 +24,27 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.bzip2.BZip2Archiver; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * @author Dan Tran */ public class TarBZip2UnArchiverTest - extends PlexusTestCase + extends TestSupport { + @Test public void testExtract() throws Exception { - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setLongfile( TarLongFileMode.posix ); String fileName1 = "TarBZip2UnArchiverTest1.txt"; @@ -56,13 +61,13 @@ public void testExtract() tarArchiver.setDestFile( getTestFile( "target/output/archive.tar" ) ); tarArchiver.createArchive(); - BZip2Archiver bzip2Archiver = (BZip2Archiver) lookup( Archiver.ROLE, "bzip2" ); + BZip2Archiver bzip2Archiver = (BZip2Archiver) lookup( Archiver.class, "bzip2" ); bzip2Archiver.setDestFile( testBZip2File ); bzip2Archiver.addFile( getTestFile( "target/output/archive.tar" ), "dontcare" ); bzip2Archiver.createArchive(); - TarBZip2UnArchiver tarBZip2UnArchiver = (TarBZip2UnArchiver) lookup( UnArchiver.ROLE, "tbz2" ); + TarBZip2UnArchiver tarBZip2UnArchiver = (TarBZip2UnArchiver) lookup( UnArchiver.class, "tbz2" ); tarBZip2UnArchiver.setDestDirectory( getTestFile( "target/output" ) ); tarBZip2UnArchiver.setSourceFile( testBZip2File ); @@ -76,10 +81,11 @@ public void testExtract() } + @Test public void testLookup() throws Exception { - lookup( UnArchiver.ROLE, "tar.bz2" ); + lookup( UnArchiver.class, "tar.bz2" ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java index 6c9642548..8be300d2f 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileAttributesTest.java @@ -1,15 +1,14 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import java.io.FileWriter; import java.io.IOException; import java.io.Writer; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; import java.util.List; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.util.DefaultArchivedFileSet; import org.codehaus.plexus.components.io.attributes.AttributeUtils; @@ -17,10 +16,13 @@ import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.Os; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; @SuppressWarnings( "ResultOfMethodCallIgnored" ) public class TarFileAttributesTest - extends PlexusTestCase + extends TestSupport { private final List toDelete = new ArrayList(); @@ -73,6 +75,7 @@ private void printTestHeader() System.out.println( "\n\nRunning: " + e.getMethodName() + "\n\n" ); } + @Test public void testUseAttributesFromTarArchiveInputInTarArchiverOutput() throws Exception { @@ -118,7 +121,7 @@ public void testUseAttributesFromTarArchiveInputInTarArchiverOutput() tarArchiver2.createArchive(); // Cut from here, and feed it into a new tar archiver...then unarchive THAT. - TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar" ); + TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.class, "tar" ); File tempTarDir = File.createTempFile( "tar-test.", ".dir" ); tempTarDir.delete(); @@ -138,6 +141,7 @@ public void testUseAttributesFromTarArchiveInputInTarArchiverOutput() } + @Test public void testUseDetectedFileAttributes() throws Exception { @@ -172,7 +176,7 @@ public void testUseDetectedFileAttributes() tarArchiver.createArchive(); - TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar" ); + TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.class, "tar" ); File tempTarDir = File.createTempFile( "tar-test.", ".dir" ); tempTarDir.delete(); @@ -196,6 +200,7 @@ private boolean checkForWindows() return Os.isFamily( Os.FAMILY_WINDOWS ); } + @Test public void testOverrideDetectedFileAttributes() throws Exception { @@ -227,7 +232,7 @@ public void testOverrideDetectedFileAttributes() tarArchiver.createArchive(); - TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar" ); + TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.class, "tar" ); File tempTarDir = File.createTempFile( "tar-test.", ".dir" ); tempTarDir.delete(); @@ -249,11 +254,12 @@ public void testOverrideDetectedFileAttributes() private TarArchiver getPosixCompliantTarArchiver() throws Exception { - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setLongfile( TarLongFileMode.posix ); return tarArchiver; } + @Test public void testOverrideDetectedFileAttributesUsingFileMode() throws Exception { @@ -285,7 +291,7 @@ public void testOverrideDetectedFileAttributesUsingFileMode() tarArchiver.createArchive(); - TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar" ); + TarUnArchiver tarUnArchiver = (TarUnArchiver) lookup( UnArchiver.class, "tar" ); File tempTarDir = File.createTempFile( "tar-test.", ".dir" ); tempTarDir.delete(); diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java index 0a73c2391..48ab8a7cc 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarFileTest.java @@ -1,27 +1,29 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; import java.util.Arrays; import java.util.Enumeration; import org.apache.commons.compress.archivers.tar.TarArchiveEntry; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.bzip2.BZip2Compressor; import org.codehaus.plexus.archiver.gzip.GZipCompressor; import org.codehaus.plexus.archiver.util.Compressor; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; +import org.junit.Test; + import static org.codehaus.plexus.components.io.resources.ResourceFactory.createResource; +import static org.junit.Assert.assertTrue; /** * Test case for {@link TarFile}. */ public class TarFileTest - extends PlexusTestCase + extends TestSupport { private interface TarFileCreator @@ -34,6 +36,7 @@ private interface TarFileCreator /** * Test for the uncompressed tar file, {@link TarFile}. */ + @Test public void testTarFile() throws Exception { testTarFile( null, null, new TarFileCreator() @@ -52,6 +55,7 @@ public TarFile newTarFile( File file ) /** * Test for the gzip compressed tar file, {@link GZipTarFile}. */ + @Test public void testGZipTarFile() throws Exception { final GZipCompressor compressor = new GZipCompressor(); @@ -71,6 +75,7 @@ public TarFile newTarFile( File file ) /** * Test for the bzip2 compressed tar file, {@link BZip2TarFile}. */ + @Test public void testBZip2TarFile() throws Exception { final BZip2Compressor compressor = new BZip2Compressor(); @@ -92,7 +97,7 @@ private void testTarFile( Compressor compressor, String extension, throws Exception { File file = new File( "target/output/TarFileTest.tar" ); - final TarArchiver archiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + final TarArchiver archiver = (TarArchiver) lookup( Archiver.class, "tar" ); archiver.setLongfile( TarLongFileMode.posix ); archiver.setDestFile( file ); archiver.addDirectory( new File( "src" ) ); diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiverTest.java index 848c0210a..45c62cef5 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarGZipUnArchiverTest.java @@ -24,22 +24,27 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.gzip.GZipArchiver; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * @author Dan Tran */ public class TarGZipUnArchiverTest - extends PlexusTestCase + extends TestSupport { + @Test public void testExtract() throws Exception { - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setLongfile( TarLongFileMode.posix ); String fileName1 = "TarGZipUnArchiverTest1.txt"; @@ -54,14 +59,14 @@ public void testExtract() tarArchiver.setDestFile( getTestFile( "target/output/archive.tar" ) ); tarArchiver.createArchive(); - GZipArchiver gzipArchiver = (GZipArchiver) lookup( Archiver.ROLE, "gzip" ); + GZipArchiver gzipArchiver = (GZipArchiver) lookup( Archiver.class, "gzip" ); File testGZipFile = getTestFile( "target/output/archive.tar.gz" ); gzipArchiver.setDestFile( testGZipFile ); gzipArchiver.addFile( getTestFile( "target/output/archive.tar" ), "dontcare" ); gzipArchiver.createArchive(); - TarGZipUnArchiver tarGZipUnArchiver = (TarGZipUnArchiver) lookup( UnArchiver.ROLE, "tgz" ); + TarGZipUnArchiver tarGZipUnArchiver = (TarGZipUnArchiver) lookup( UnArchiver.class, "tgz" ); tarGZipUnArchiver.setDestDirectory( getTestFile( "target/output" ) ); tarGZipUnArchiver.setSourceFile( testGZipFile ); tarGZipUnArchiver.extract(); @@ -74,10 +79,11 @@ public void testExtract() } + @Test public void testLookup() throws Exception { - lookup( UnArchiver.ROLE, "tar.gz" ); + lookup( UnArchiver.class, "tar.gz" ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarRoundTripTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarRoundTripTest.java index e78914dc1..ff80fd997 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarRoundTripTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarRoundTripTest.java @@ -22,13 +22,15 @@ import org.apache.commons.compress.archivers.tar.TarArchiveEntry; import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; -import junit.framework.TestCase; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; /** * from org.apache.ant.tools.tar.TarRoundTripTest v1.6 */ public class TarRoundTripTest - extends TestCase { private static final String LONG_NAME = @@ -38,6 +40,7 @@ public class TarRoundTripTest /** * test round-tripping long (GNU) entries */ + @Test public void testLongRoundTripping() throws IOException { diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiverTest.java index 271df1a2c..d63a3bef0 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarSnappyUnArchiverTest.java @@ -24,22 +24,27 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.snappy.SnappyArchiver; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * Snappy tar archives */ public class TarSnappyUnArchiverTest - extends PlexusTestCase + extends TestSupport { + @Test public void testExtract() throws Exception { - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setLongfile( TarLongFileMode.posix ); String fileName1 = "TarSnappyUnArchiverTest1.txt"; @@ -54,14 +59,14 @@ public void testExtract() tarArchiver.setDestFile( getTestFile( "target/output/archive.tar" ) ); tarArchiver.createArchive(); - SnappyArchiver snappyArchiver = (SnappyArchiver) lookup( Archiver.ROLE, "snappy" ); + SnappyArchiver snappyArchiver = (SnappyArchiver) lookup( Archiver.class, "snappy" ); File testSnappyFile = getTestFile( "target/output/archive.tar.snappy" ); snappyArchiver.setDestFile( testSnappyFile ); snappyArchiver.addFile( getTestFile( "target/output/archive.tar" ), "dontcare" ); snappyArchiver.createArchive(); - TarSnappyUnArchiver tarSnappyUnArchiver = (TarSnappyUnArchiver) lookup( UnArchiver.ROLE, "tar.snappy" ); + TarSnappyUnArchiver tarSnappyUnArchiver = (TarSnappyUnArchiver) lookup( UnArchiver.class, "tar.snappy" ); tarSnappyUnArchiver.setDestDirectory( getTestFile( "target/output" ) ); tarSnappyUnArchiver.setSourceFile( testSnappyFile ); tarSnappyUnArchiver.extract(); @@ -73,10 +78,11 @@ public void testExtract() assertEquals( testSnappyFile, tarSnappyUnArchiver.getSourceFile() ); } + @Test public void testLookup() throws Exception { - lookup( UnArchiver.ROLE, "tar.snappy" ); + lookup( UnArchiver.class, "tar.snappy" ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarUnArchiverTest.java index 247045e17..c97cff6ce 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarUnArchiverTest.java @@ -1,16 +1,19 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.components.io.fileselectors.FileSelector; import org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector; import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; /** * @author Viktor Sadovnikov */ -public class TarUnArchiverTest extends PlexusTestCase +public class TarUnArchiverTest extends TestSupport { private void runUnarchiver( FileSelector[] selectors, boolean[] results ) @@ -22,7 +25,7 @@ private void runUnarchiver( FileSelector[] selectors, boolean[] results ) File outputDirectory = new File( getBasedir(), s ); - TarUnArchiver tarUn = (TarUnArchiver) lookup( UnArchiver.ROLE, "tar.gz" ); + TarUnArchiver tarUn = (TarUnArchiver) lookup( UnArchiver.class, "tar.gz" ); tarUn.setSourceFile( testJar ); tarUn.setDestDirectory( outputDirectory ); tarUn.setFileSelectors( selectors ); @@ -44,6 +47,7 @@ private void assertFileExistance( String s, String file, boolean exists ) exists, f0.exists() ); } + @Test public void testExtractingADirectory() throws Exception { runUnarchiver( null, @@ -54,6 +58,7 @@ public void testExtractingADirectory() throws Exception } + @Test public void testSelectors() throws Exception { diff --git a/src/test/java/org/codehaus/plexus/archiver/tar/TarXzUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/tar/TarXzUnArchiverTest.java index b3ed2a59f..82e4257b7 100644 --- a/src/test/java/org/codehaus/plexus/archiver/tar/TarXzUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/tar/TarXzUnArchiverTest.java @@ -16,26 +16,30 @@ package org.codehaus.plexus.archiver.tar; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.archiver.xz.XZArchiver; import org.codehaus.plexus.util.FileUtils; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertTrue; -import static org.codehaus.plexus.PlexusTestCase.getTestFile; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * @author philip.lourandos * @since 3.3 */ -public class TarXzUnArchiverTest extends PlexusTestCase +public class TarXzUnArchiverTest extends TestSupport { + @Test public void testExtract() throws Exception { - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setLongfile( TarLongFileMode.posix ); String fileName1 = "TarBZip2UnArchiverTest1.txt"; @@ -60,7 +64,7 @@ public void testExtract() tarArchiver.setDestFile( getTestFile( "target/output/archive.tar" ) ); tarArchiver.createArchive(); - XZArchiver xzArchiver = (XZArchiver) lookup( Archiver.ROLE, "xz" ); + XZArchiver xzArchiver = (XZArchiver) lookup( Archiver.class, "xz" ); xzArchiver.setDestFile( testXZFile ); xzArchiver.addFile( getTestFile( "target/output/archive.tar" ), "dontcare" ); @@ -68,7 +72,7 @@ public void testExtract() assertTrue( testXZFile.exists() ); - TarXZUnArchiver tarXZUnArchiver = (TarXZUnArchiver) lookup( UnArchiver.ROLE, "tar.xz" ); + TarXZUnArchiver tarXZUnArchiver = (TarXZUnArchiver) lookup( UnArchiver.class, "tar.xz" ); tarXZUnArchiver.setDestDirectory( getTestFile( "target/output" ) ); tarXZUnArchiver.setSourceFile( testXZFile ); @@ -80,9 +84,10 @@ public void testExtract() assertEquals( testXZFile, tarXZUnArchiver.getSourceFile() ); } + @Test public void testLookup() throws Exception { - assertNotNull( lookup( UnArchiver.ROLE, "tar.xz" ) ); + assertNotNull( lookup( UnArchiver.class, "tar.xz" ) ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtilsTest.java b/src/test/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtilsTest.java index 047779afe..d0a430c10 100644 --- a/src/test/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtilsTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/util/ArchiveEntryUtilsTest.java @@ -6,10 +6,15 @@ import org.codehaus.plexus.components.io.attributes.FileAttributes; import org.codehaus.plexus.util.Os; import junit.framework.TestCase; +import org.junit.Test; -public class ArchiveEntryUtilsTest extends TestCase +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +public class ArchiveEntryUtilsTest { + @Test public void testChmodForFileWithDollarPLXCOMP164() throws Exception { @@ -22,6 +27,7 @@ public void testChmodForFileWithDollarPLXCOMP164() throws Exception assert0770( temp ); } + @Test public void testChmodWithJava7() throws Exception { if ( Os.isFamily( Os.FAMILY_WINDOWS ) ) diff --git a/src/test/java/org/codehaus/plexus/archiver/util/DefaultFileSetTest.java b/src/test/java/org/codehaus/plexus/archiver/util/DefaultFileSetTest.java index aaf4bb1b0..b2426447e 100644 --- a/src/test/java/org/codehaus/plexus/archiver/util/DefaultFileSetTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/util/DefaultFileSetTest.java @@ -1,16 +1,18 @@ package org.codehaus.plexus.archiver.util; import java.io.File; -import junit.framework.TestCase; +import org.junit.Test; + import static org.codehaus.plexus.archiver.util.DefaultFileSet.fileSet; +import static org.junit.Assert.assertEquals; /** * @author Kristian Rosenvold */ public class DefaultFileSetTest - extends TestCase { + @Test public void testCreate() { final String[] includes = diff --git a/src/test/java/org/codehaus/plexus/archiver/util/FilePermissionUtilsTest.java b/src/test/java/org/codehaus/plexus/archiver/util/FilePermissionUtilsTest.java index 435fff7bb..857645608 100644 --- a/src/test/java/org/codehaus/plexus/archiver/util/FilePermissionUtilsTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/util/FilePermissionUtilsTest.java @@ -18,23 +18,25 @@ */ package org.codehaus.plexus.archiver.util; -import org.codehaus.plexus.logging.Logger; -import org.codehaus.plexus.logging.console.ConsoleLogger; -import junit.framework.TestCase; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; /** * @author Olivier Lamy */ public class FilePermissionUtilsTest - extends TestCase { Logger getLogger() { - return new ConsoleLogger( Logger.LEVEL_DEBUG, "foo" ); - + return LoggerFactory.getLogger( "foo" ); } + @Test public void testOnlyWritableOnlyUser() throws Exception { FilePermission fp = FilePermissionUtils.getFilePermissionFromMode( "200", getLogger() ); @@ -45,6 +47,7 @@ public void testOnlyWritableOnlyUser() throws Exception assertFalse( fp.isReadable() ); } + @Test public void testExecAndRead() { FilePermission fp = FilePermissionUtils.getFilePermissionFromMode( "500", getLogger() ); @@ -55,6 +58,7 @@ public void testExecAndRead() assertTrue( fp.isReadable() ); } + @Test public void testAllUser() { FilePermission fp = FilePermissionUtils.getFilePermissionFromMode( "700", getLogger() ); @@ -65,6 +69,7 @@ public void testAllUser() assertTrue( fp.isReadable() ); } + @Test public void testAllAllUser() { FilePermission fp = FilePermissionUtils.getFilePermissionFromMode( "707", getLogger() ); diff --git a/src/test/java/org/codehaus/plexus/archiver/war/WarArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/war/WarArchiverTest.java index b525306da..2f075988e 100644 --- a/src/test/java/org/codehaus/plexus/archiver/war/WarArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/war/WarArchiverTest.java @@ -1,25 +1,30 @@ package org.codehaus.plexus.archiver.war; import java.io.File; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.ArchiveEntry; import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.ResourceIterator; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; /** * @author Kristian Rosenvold */ public class WarArchiverTest - extends PlexusTestCase + extends TestSupport { private final int expected = 8; + @Test public void testReAddingPlatformSpecificEncoding() throws Exception { - WarArchiver archiver = (WarArchiver) lookup( Archiver.ROLE, "war" ); + WarArchiver archiver = (WarArchiver) lookup( Archiver.class, "war" ); archiver.setDestFile( new File( getTargetRarFolder(), "test.war" ) ); File dummyContent = getTestFile( "src/test/resources/folders" ); @@ -36,10 +41,11 @@ public void testReAddingPlatformSpecificEncoding() assertTrue( new File( getTargetRarFolder(), "test.war" ).exists() ); } + @Test public void testInfiniteRecursion() throws Exception { - WarArchiver archiver = (WarArchiver) lookup( Archiver.ROLE, "war" ); + WarArchiver archiver = (WarArchiver) lookup( Archiver.class, "war" ); archiver.setDestFile( new File( getTargetRarFolder(), "test.war" ) ); // Easy to produce infinite recursion if you just add existing files again and again @@ -58,7 +64,7 @@ public File getTargetRarFolder() } @Override - protected void setUp() + public void setUp() throws Exception { super.setUp(); diff --git a/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java index 9ca25185c..7d6f0b27d 100644 --- a/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/xz/XzArchiverTest.java @@ -28,10 +28,12 @@ import org.codehaus.plexus.archiver.zip.ZipArchiver; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; -import static junit.framework.TestCase.assertEquals; -import static junit.framework.TestCase.assertFalse; -import static junit.framework.TestCase.assertTrue; -import static org.codehaus.plexus.PlexusTestCase.getTestFile; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; /** * @author philip.lourandos @@ -40,15 +42,16 @@ public class XzArchiverTest extends BasePlexusArchiverTest { + @Test public void testCreateArchive() throws Exception { - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.addDirectory( getTestFile( "src" ) ); zipArchiver.setDestFile( getTestFile( "target/output/archiveForxz.zip" ) ); zipArchiver.createArchive(); - XZArchiver archiver = (XZArchiver) lookup( Archiver.ROLE, "xz" ); + XZArchiver archiver = (XZArchiver) lookup( Archiver.class, "xz" ); String[] inputFiles = new String[ 1 ]; inputFiles[0] = "archiveForxz.zip"; @@ -66,10 +69,11 @@ public void testCreateArchive() assertTrue( targetOutputFile.exists() ); } + @Test public void testCreateEmptyArchive() throws Exception { - XZArchiver archiver = (XZArchiver) lookup( Archiver.ROLE, "xz" ); + XZArchiver archiver = (XZArchiver) lookup( Archiver.class, "xz" ); archiver.setDestFile( getTestFile( "target/output/empty.xz" ) ); try { @@ -82,11 +86,12 @@ public void testCreateEmptyArchive() } } + @Test public void testCreateResourceCollection() throws Exception { final File pomFile = new File( "pom.xml" ); final File xzFile = new File( "target/output/pom.xml.xz" ); - XZArchiver xzArchiver = (XZArchiver) lookup( Archiver.ROLE, "xz" ); + XZArchiver xzArchiver = (XZArchiver) lookup( Archiver.class, "xz" ); xzArchiver.setDestFile( xzFile ); xzArchiver.addFile( pomFile, "pom.xml" ); FileUtils.removePath( xzFile.getPath() ); @@ -95,7 +100,7 @@ public void testCreateResourceCollection() throws Exception System.out.println( "Created: " + xzFile.getAbsolutePath() ); final File zipFile = new File( "target/output/pomxz.zip" ); - ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + ZipArchiver zipArchiver = (ZipArchiver) lookup( Archiver.class, "zip" ); zipArchiver.setDestFile( zipFile ); zipArchiver.addArchivedFileSet( xzFile, "prfx/" ); FileUtils.removePath( zipFile.getPath() ); @@ -118,6 +123,7 @@ public void testCreateResourceCollection() throws Exception * * @throws Exception */ + @Test public void testXzIsForcedBehaviour() throws Exception { XZArchiver xzArchiver = (XZArchiver) createArchiver( "xz" ); diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollectionTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollectionTest.java index 7fd52cb8a..84ca55664 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollectionTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/PlexusArchiverZipFileResourceCollectionTest.java @@ -8,19 +8,24 @@ import java.util.Iterator; import java.util.Map; import java.util.Set; -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.components.io.functions.ResourceAttributeSupplier; import org.codehaus.plexus.components.io.resources.PlexusIoResource; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; public class PlexusArchiverZipFileResourceCollectionTest - extends PlexusTestCase + extends TestSupport { + @Test public void testFilesWithIllegalHtmlChars() throws Exception { File testZip = new File( getBasedir(), "src/test/resources/archiveWithIllegalHtmlFileName.zip" ); - Set seen = new HashSet(); + Set seen = new HashSet<>(); seen.add( "AFileThatNeedsHtmlEsc%3F>" ); seen.add( "Afile<Yo>.txt" ); seen.add( "File With Space.txt" ); @@ -37,11 +42,12 @@ public void testFilesWithIllegalHtmlChars() } } + @Test public void testFileModes() throws IOException { File testZip = new File( getBasedir(), "src/test/resources/zeroFileMode/mixed-file-mode.zip" ); - Map originalUnixModes = new HashMap(); + Map originalUnixModes = new HashMap<>(); originalUnixModes.put( "platform-fat", -1 ); originalUnixModes.put( "zero-unix-mode", 0 ); // ---xrw-r-- the crazy permissions are on purpose so we don't hit some default value @@ -53,7 +59,7 @@ public void testFileModes() { PlexusIoResource entry = entries.next(); int entryUnixMode = ( (ResourceAttributeSupplier) entry ).getAttributes().getOctalMode(); - int originalUnixMode = (int) originalUnixModes.get( entry.getName() ); + int originalUnixMode = originalUnixModes.get( entry.getName() ); assertEquals( originalUnixMode, entryUnixMode ); } } diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollectionTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollectionTest.java index 62227e7bc..00b560672 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollectionTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollectionTest.java @@ -12,15 +12,21 @@ import java.util.Map; import java.util.Set; import org.apache.commons.io.IOUtils; -import org.codehaus.plexus.PlexusTestCase; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.components.io.functions.SymlinkDestinationSupplier; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.components.io.resources.PlexusIoURLResource; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class PlexusIoZipFileResourceCollectionTest - extends PlexusTestCase + extends TestSupport { + @Test public void testNamelessRootFolder() throws Exception { @@ -34,6 +40,7 @@ public void testNamelessRootFolder() assertEquals( "dummy content", d.readLine() ); } + @Test public void testDescriptionForError() throws Exception { @@ -46,6 +53,7 @@ public void testDescriptionForError() assertTrue( descriptionForError.endsWith( "namelessrootfolder.jar!//dummy.txt" ) ); } + @Test public void testFilesWithIllegalHtmlChars() throws Exception { @@ -67,11 +75,12 @@ public void testFilesWithIllegalHtmlChars() } } + @Test public void testFilesThatAreNotThere() throws Exception { File testZip = new File( getBasedir(), "src/test/resources/archiveWithIllegalHtmlFileName.zip" ); - Set seen = new HashSet(); + Set seen = new HashSet<>(); seen.add( "AFileThatNeedsHtmlEsc%3F>" ); seen.add( "Afile<Yo>.txt" ); seen.add( "File With Space.txt" ); @@ -89,11 +98,12 @@ public void testFilesThatAreNotThere() } } + @Test public void testSymlinkEntries() throws Exception { File testZip = new File( getBasedir(), "src/test/resources/symlinks/symlinks.zip" ); - Map symLinks = new HashMap(); + Map symLinks = new HashMap<>(); symLinks.put( "symDir", "targetDir/" ); symLinks.put( "symLinkToDirOnTheOutside", "../dirOnTheOutside/" ); symLinks.put( "symLinkToTheOutside", "../onTheOutside.txt" ); @@ -123,6 +133,7 @@ public void testSymlinkEntries() assertTrue( symLinks.isEmpty() ); } + @Test public void testUnarchiveUnicodePathExtra() throws Exception { diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java index b57d9feba..1dc2678d9 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ZipArchiverTest.java @@ -77,8 +77,15 @@ import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.Os; +import org.junit.Ignore; import org.junit.Test; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + /** * @author Emmanuel Venisse */ @@ -87,6 +94,7 @@ public class ZipArchiverTest extends BasePlexusArchiverTest { + @Test public void testImplicitPermissions() throws IOException { @@ -117,6 +125,7 @@ public void testImplicitPermissions() assertEquals( 0100111, pam.getUnixMode() ); } + @Test public void testOveriddenPermissions() throws IOException { @@ -140,6 +149,7 @@ public void testOveriddenPermissions() } } + @Test public void testCreateArchiveWithDetectedModes() throws Exception { @@ -297,6 +307,7 @@ public void testCreateArchiveWithDetectedModes() } } + @Test public void testCreateEmptyArchive() throws Exception { @@ -317,7 +328,7 @@ private ZipArchiver getZipArchiver() { try { - return (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + return (ZipArchiver) lookup( Archiver.class, "zip" ); } catch ( Exception e ) { @@ -335,7 +346,7 @@ private ZipArchiver getZipArchiver( File destFile ) private ZipUnArchiver getZipUnArchiver( File testJar ) throws Exception { - ZipUnArchiver zu = (ZipUnArchiver) lookup( UnArchiver.ROLE, "zip" ); + ZipUnArchiver zu = (ZipUnArchiver) lookup( UnArchiver.class, "zip" ); zu.setSourceFile( testJar ); return zu; } @@ -358,6 +369,7 @@ private void writeFile( File dir, String fname, int mode ) ArchiveEntryUtils.chmod( file, mode ); } + @Test public void testCreateArchive() throws Exception { @@ -366,6 +378,7 @@ public void testCreateArchive() createArchive( archiver ); } + @Test public void testRecompressAddedZips() throws Exception { // check that by default the zip archives are re-compressed @@ -414,6 +427,7 @@ public void testRecompressAddedZips() throws Exception zfDontRecompress.close(); } + @Test public void testAddArchivedFileSet() throws Exception { @@ -450,6 +464,7 @@ public InputStream transform( @Nonnull PlexusIoResource resource, @Nonnull Input assertTrue( a3byteFile.length() == 3 ); } + @Test public void testCreateArchiveWithStreamTransformer() throws IOException { @@ -567,6 +582,7 @@ else if ( ze.isUnixSymlink() ) } } + @Test public void testSymlinkZip() throws Exception { @@ -591,6 +607,7 @@ public void testSymlinkZip() } } + @Test @SuppressWarnings( "ResultOfMethodCallIgnored" ) public void testSymlinkFileSet() throws Exception @@ -615,6 +632,7 @@ public void testSymlinkFileSet() } } + @Test public void testSymlinkArchivedFileSet() throws Exception { @@ -665,6 +683,7 @@ public void testLastModifiedTimeRounding() /* */ + @Test public void testForced() throws Exception { @@ -700,6 +719,7 @@ public void testForced() } // Used to investigate extrafields + @Test public void testLookAtExtraZipFields_from_macos() throws IOException { @@ -722,6 +742,7 @@ public void testLookAtExtraZipFields_from_macos() } // Used to investigate date roundtrip behaviour across zip versions + @Test public void testZipStuff() throws IOException { @@ -748,6 +769,8 @@ public void testZipStuff() System.out.println( "evenEntry.getTime() = " + new Date( evenEntry.getTime() ).toString() ); } + @Ignore("Junit3 method name is notest") + @Test public void notestJustThatOne() throws Exception { @@ -767,6 +790,7 @@ public void notestJustThatOne() zipArchiver2.createArchive(); } + @Test public void testCreateResourceCollection() throws Exception { @@ -792,11 +816,12 @@ public void testCreateResourceCollection() cmp2.close(); } + @Test public void testZipNonConcurrentResourceCollection() throws Exception { final File tarFile = getTestFile( "target/output/zip-non-concurrent.tar" ); - TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.ROLE, "tar" ); + TarArchiver tarArchiver = (TarArchiver) lookup( Archiver.class, "tar" ); tarArchiver.setDestFile( tarFile ); // We're testing concurrency issue so we need large amount of files for ( int i = 0; i < 100; i++ ) @@ -822,6 +847,7 @@ public void testZipNonConcurrentResourceCollection() cmp2.close(); } + @Test public void testDefaultUTF8() throws IOException { @@ -830,6 +856,7 @@ public void testDefaultUTF8() zipArchiver.createArchive(); } + @Test public void testDefaultUTF8withUTF8() throws IOException { @@ -839,6 +866,7 @@ public void testDefaultUTF8withUTF8() zipArchiver.createArchive(); } + @Test public void testForcedFileModes() throws IOException { @@ -901,6 +929,7 @@ public void testForcedFileModes() } } + @Test public void testFixedEntryModificationTime() throws IOException { diff --git a/src/test/java/org/codehaus/plexus/archiver/zip/ZipUnArchiverTest.java b/src/test/java/org/codehaus/plexus/archiver/zip/ZipUnArchiverTest.java index f12c12011..30c9bf763 100644 --- a/src/test/java/org/codehaus/plexus/archiver/zip/ZipUnArchiverTest.java +++ b/src/test/java/org/codehaus/plexus/archiver/zip/ZipUnArchiverTest.java @@ -7,21 +7,27 @@ import java.util.HashSet; import java.util.Set; -import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.archiver.Archiver; +import org.codehaus.plexus.archiver.TestSupport; import org.codehaus.plexus.archiver.UnArchiver; import org.codehaus.plexus.components.io.fileselectors.FileInfo; import org.codehaus.plexus.components.io.fileselectors.FileSelector; import org.codehaus.plexus.components.io.fileselectors.IncludeExcludeFileSelector; import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; /** * @author Jason van Zyl */ public class ZipUnArchiverTest - extends PlexusTestCase + extends TestSupport { + @Test public void testExtractingZipPreservesExecutableFlag() throws Exception { @@ -48,6 +54,7 @@ public void testExtractingZipPreservesExecutableFlag() } } + @Test public void testZeroFileModeInZip() throws Exception { @@ -76,6 +83,7 @@ public void testZeroFileModeInZip() } } + @Test public void testUnarchiveUtf8() throws Exception { @@ -94,6 +102,7 @@ public void testUnarchiveUtf8() assertTrue( new File( dest, "\u20acuro.txt" ).exists() ); } + @Test public void testUnarchiveUnicodePathExtra() throws Exception { @@ -114,6 +123,7 @@ public void testUnarchiveUnicodePathExtra() new HashSet<>( Arrays.asList( dest.list() ) ) ); } + @Test public void testUnarchiveUnicodePathExtraSelector() throws Exception { @@ -180,11 +190,12 @@ private void runUnarchiver( String path, FileSelector[] selectors, boolean[] res private ZipUnArchiver getZipUnArchiver( File testJar ) throws Exception { - ZipUnArchiver zu = (ZipUnArchiver) lookup( UnArchiver.ROLE, "zip" ); + ZipUnArchiver zu = (ZipUnArchiver) lookup( UnArchiver.class, "zip" ); zu.setSourceFile( testJar ); return zu; } + @Test public void testExtractingADirectoryFromAJarFile() throws Exception { @@ -200,6 +211,7 @@ public void testExtractingADirectoryFromAJarFile() } ); } + @Test public void testSelectors() throws Exception { @@ -251,6 +263,7 @@ public void testSelectors() } ); } + @Test public void testExtractingZipWithEntryOutsideDestDirThrowsException() throws Exception { @@ -275,6 +288,7 @@ public void testExtractingZipWithEntryOutsideDestDirThrowsException() assertTrue( ex.getMessage().startsWith( "Entry is outside of the target directory" ) ); } + @Test public void testZipOutputSizeException() throws Exception { @@ -300,6 +314,7 @@ public void testZipOutputSizeException() assertTrue( ex.getMessage().startsWith( "Maximum output size limit reached" ) ); } + @Test public void testZipMaxOutputSizeEqualToExtractedFileSize() throws Exception { @@ -322,7 +337,7 @@ private ZipArchiver getZipArchiver() { try { - return (ZipArchiver) lookup( Archiver.ROLE, "zip" ); + return (ZipArchiver) lookup( Archiver.class, "zip" ); } catch ( Exception e ) {