This is an automated email from the ASF dual-hosted git repository. sjaranowski pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git
The following commit(s) were added to refs/heads/master by this push: new 3fc7b8e8 [MASSEMBLY-1013] Code cleanups 3fc7b8e8 is described below commit 3fc7b8e89b356190770412e07e0987c7e6a1cf75 Author: Slawomir Jaranowski <s.jaranow...@gmail.com> AuthorDate: Sun Dec 10 15:33:05 2023 +0100 [MASSEMBLY-1013] Code cleanups - diamond operators - use NIO new(Input|Output)Stream - inline simple variables - simplify arguments of {{AssemblyArchiver#createArchive}} - minimize usage of deprecated apis - remove unnecessary casting --- .../assembly/AssemblerConfigurationSource.java | 13 +++++- .../plugins/assembly/archive/AssemblyArchiver.java | 4 -- .../assembly/archive/DefaultAssemblyArchiver.java | 29 ++----------- .../archive/archiver/AssemblyProxyArchiver.java | 4 +- .../assembly/archive/archiver/PrefixedFileSet.java | 3 +- .../archive/phase/FileItemAssemblyPhase.java | 6 +-- .../filter/AbstractLineAggregatingHandler.java | 12 +----- .../filter/ComponentsXmlArchiverFileFilter.java | 13 +++--- .../filter/SimpleAggregatingDescriptorHandler.java | 8 ++-- .../plugins/assembly/format/ReaderFormatter.java | 3 +- .../io/ClasspathResourceLocatorStrategy.java | 9 +---- .../plugins/assembly/io/DefaultAssemblyReader.java | 8 ++-- .../plugins/assembly/io/DefaultMessageHolder.java | 8 ++-- .../apache/maven/plugins/assembly/io/Locator.java | 2 +- .../maven/plugins/assembly/io/MessageLevels.java | 2 +- .../assembly/mojos/AbstractAssemblyMojo.java | 16 ++------ .../assembly/utils/AssemblyFormatUtils.java | 3 +- .../maven/plugins/assembly/utils/FilterUtils.java | 2 +- .../plugins/assembly/utils/LineEndingsUtils.java | 11 +++-- src/main/mdo/assembly-component.mdo | 2 +- src/main/mdo/assembly.mdo | 2 +- .../archive/DefaultAssemblyArchiverTest.java | 47 ++++++---------------- .../archive/ManifestCreationFinalizerTest.java | 10 ++--- .../archiver/AssemblyProxyArchiverTest.java | 9 +++-- .../phase/AssemblyArchiverPhaseComparatorTest.java | 13 +++--- .../archive/phase/FileItemAssemblyPhaseTest.java | 39 ++++++++++++------ .../archive/phase/ModuleSetAssemblyPhaseTest.java | 6 +-- .../assembly/archive/task/AddFileSetsTaskTest.java | 18 ++++----- .../artifact/DefaultDependencyResolverTest.java | 2 - .../ComponentsXmlArchiverFileFilterTest.java | 3 +- .../assembly/format/ReaderFormatterTest.java | 8 ++-- .../assembly/io/DefaultAssemblyReaderTest.java | 19 +++++---- .../assembly/testutils/PojoConfigSource.java | 22 ++++++++++ .../assembly/utils/LineEndingsUtilsTest.java | 2 +- 34 files changed, 162 insertions(+), 196 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java index 58c47ad9..8b1a76c2 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java +++ b/src/main/java/org/apache/maven/plugins/assembly/AssemblerConfigurationSource.java @@ -29,7 +29,7 @@ import org.apache.maven.shared.filtering.MavenReaderFilter; import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator; /** - * + * Assembly configuration */ public interface AssemblerConfigurationSource { /** @@ -212,4 +212,15 @@ public interface AssemblerConfigurationSource { * @return Override group name. */ String getOverrideGroupName(); + + /** + * @return Indicates if zip archives being added to the assembly should be compressed again. + */ + boolean isRecompressZippedFiles(); + + /** + * + * @return the merge manifest mode in the JarArchiver + */ + String getMergeManifestMode(); } diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/AssemblyArchiver.java b/src/main/java/org/apache/maven/plugins/assembly/archive/AssemblyArchiver.java index e90b2c7a..afd8d19e 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/archive/AssemblyArchiver.java +++ b/src/main/java/org/apache/maven/plugins/assembly/archive/AssemblyArchiver.java @@ -50,8 +50,6 @@ public interface AssemblyArchiver { * @param fullName The full name. * @param format The format. * @param configSource The {@link org.apache.maven.plugins.assembly.AssemblerConfigurationSource} - * @param recompressZippedFiles recompress zipped files. - * @param mergeManifestMode How to handle already existing Manifest files (skip, merge, mergewithoutmain) * @param sourceDateEpoch Timestamp for reproducible archive entries * @return The resulting archive file. * @throws ArchiveCreationException when creation fails @@ -63,8 +61,6 @@ public interface AssemblyArchiver { String fullName, String format, AssemblerConfigurationSource configSource, - boolean recompressZippedFiles, - String mergeManifestMode, FileTime sourceDateEpoch) throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException; } diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java index 9e54cddd..f4ea3038 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java +++ b/src/main/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiver.java @@ -28,7 +28,6 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.nio.file.attribute.FileTime; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import java.util.Map; @@ -113,7 +112,7 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { private List<AssemblyArchiverPhase> sortedPhases() { List<AssemblyArchiverPhase> sorted = new ArrayList<>(assemblyPhases); - Collections.sort(sorted, new AssemblyArchiverPhaseComparator()); + sorted.sort(new AssemblyArchiverPhaseComparator()); return sorted; } @@ -126,8 +125,6 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { final String fullName, final String format, final AssemblerConfigurationSource configSource, - boolean recompressZippedFiles, - String mergeManifestMode, FileTime outputTimestamp) throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException { validate(assembly); @@ -167,8 +164,6 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { basedir, configSource, containerHandlers, - recompressZippedFiles, - mergeManifestMode, outputTimestamp); archiver.setDestFile(destFile); @@ -257,8 +252,6 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { * @param finalName The final name. * @param configSource {@link AssemblerConfigurationSource} * @param containerHandlers The list of {@link ContainerDescriptorHandler} - * @param recompressZippedFiles recompress zipped files. - * @param mergeManifestMode how to handle already existing Manifest files * @return archiver Archiver generated * @throws org.codehaus.plexus.archiver.ArchiverException * @throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException @@ -269,18 +262,10 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { final String finalName, final AssemblerConfigurationSource configSource, final List<ContainerDescriptorHandler> containerHandlers, - boolean recompressZippedFiles, - String mergeManifestMode, FileTime outputTimestamp) throws NoSuchArchiverException { - Archiver archiver; - // one missing alias in plexus-archiver - if ("tzst".equals(format)) { - archiver = createTarZstArchiver(); - } else { - archiver = archiverManager.getArchiver(format); - } + Archiver archiver = archiverManager.getArchiver(format); if (archiver instanceof TarArchiver) { ((TarArchiver) archiver).setLongfile(TarLongFileMode.valueOf(configSource.getTarLongFileMode())); @@ -291,13 +276,13 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { } if (archiver instanceof AbstractZipArchiver) { - ((AbstractZipArchiver) archiver).setRecompressAddedZips(recompressZippedFiles); + ((AbstractZipArchiver) archiver).setRecompressAddedZips(configSource.isRecompressZippedFiles()); } final List<FileSelector> extraSelectors = new ArrayList<>(); final List<ArchiveFinalizer> extraFinalizers = new ArrayList<>(); if (archiver instanceof JarArchiver) { - configureJarArchiver((JarArchiver) archiver, mergeManifestMode); + configureJarArchiver((JarArchiver) archiver, configSource.getMergeManifestMode()); extraSelectors.add(new JarSecurityFileSelector()); @@ -462,10 +447,4 @@ public class DefaultAssemblyArchiver implements AssemblyArchiver { throw new RuntimeException(e.getCause()); } } - - protected Archiver createTarZstArchiver() throws NoSuchArchiverException { - final TarArchiver tarArchiver = (TarArchiver) archiverManager.getArchiver("tar"); - tarArchiver.setCompression(TarArchiver.TarCompressionMethod.zstd); - return tarArchiver; - } } diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiver.java b/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiver.java index 2cf75ed3..4a9658c4 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiver.java +++ b/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiver.java @@ -19,10 +19,10 @@ package org.apache.maven.plugins.assembly.archive.archiver; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.Charset; +import java.nio.file.Files; import java.nio.file.attribute.FileTime; import java.util.ArrayList; import java.util.Arrays; @@ -815,7 +815,7 @@ public class AssemblyProxyArchiver implements Archiver { @Override public InputStream getContents() throws IOException { - return new FileInputStream(inputFile); + return Files.newInputStream(inputFile.toPath()); } @Override diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/PrefixedFileSet.java b/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/PrefixedFileSet.java index 98c0e9b5..a3171aaa 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/PrefixedFileSet.java +++ b/src/main/java/org/apache/maven/plugins/assembly/archive/archiver/PrefixedFileSet.java @@ -85,8 +85,7 @@ class PrefixedFileSet implements FileSet { @Override public FileSelector[] getFileSelectors() { FileSelector[] sel = fileSet.getFileSelectors(); - final FileSelector[] selectors1 = selectors; - return combineSelectors(sel, selectors1); + return combineSelectors(sel, selectors); } /** diff --git a/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java b/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java index 8a9797ac..dd34c43e 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java +++ b/src/main/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhase.java @@ -22,10 +22,10 @@ import javax.inject.Named; import javax.inject.Singleton; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.SequenceInputStream; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -127,7 +127,7 @@ public class FileItemAssemblyPhase implements AssemblyArchiverPhase, PhaseOrder try { final InputStreamTransformer fileSetTransformers = ReaderFormatter.getFileSetTransformers( - configSource, fileItem.isFiltered(), Collections.<String>emptySet(), fileItem.getLineEnding()); + configSource, fileItem.isFiltered(), Collections.emptySet(), fileItem.getLineEnding()); final PlexusIoResource restoUse; if (!fileItem.getSources().isEmpty()) { @@ -138,7 +138,7 @@ public class FileItemAssemblyPhase implements AssemblyArchiverPhase, PhaseOrder if (!AssemblyFileUtils.isAbsolutePath(contentSource)) { contentSource = new File(basedir, contentSourcePath); } - content.add(new FileInputStream(contentSource)); + content.add(Files.newInputStream(contentSource.toPath())); } String name = PlexusIoFileResource.getName(source); diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java b/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java index 93190791..b20d2eb3 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java +++ b/src/main/java/org/apache/maven/plugins/assembly/filter/AbstractLineAggregatingHandler.java @@ -20,7 +20,6 @@ package org.apache.maven.plugins.assembly.filter; import java.io.BufferedReader; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; @@ -77,7 +76,7 @@ abstract class AbstractLineAggregatingHandler implements ContainerDescriptorHand f.deleteOnExit(); try (PrintWriter writer = - new PrintWriter(new OutputStreamWriter(new FileOutputStream(f), getEncoding()))) { + new PrintWriter(new OutputStreamWriter(Files.newOutputStream(f.toPath()), getEncoding()))) { for (final String line : entry.getValue()) { writer.println(line); } @@ -113,15 +112,8 @@ abstract class AbstractLineAggregatingHandler implements ContainerDescriptorHand if (fileInfo.isFile() && fileMatches(fileInfo)) { name = getOutputPathPrefix(fileInfo) + new File(name).getName(); - - List<String> lines = catalog.get(name); - if (lines == null) { - lines = new ArrayList<>(); - catalog.put(name, lines); - } - + List<String> lines = catalog.computeIfAbsent(name, k -> new ArrayList<>()); readLines(fileInfo, lines); - return false; } diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java b/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java index c5f1960a..e835452e 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java +++ b/src/main/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilter.java @@ -92,7 +92,9 @@ public class ComponentsXmlArchiverFileFilter implements ContainerDescriptorHandl final File f = Files.createTempFile("maven-assembly-plugin", "tmp").toFile(); f.deleteOnExit(); - try (Writer fileWriter = new XmlStreamWriter(Files.newOutputStream(f.toPath()))) { + try (Writer fileWriter = XmlStreamWriter.builder() + .setOutputStream(Files.newOutputStream(f.toPath())) + .get()) { final Xpp3Dom dom = new Xpp3Dom("component-set"); final Xpp3Dom componentDom = new Xpp3Dom("components"); dom.addChild(componentDom); @@ -153,13 +155,12 @@ public class ComponentsXmlArchiverFileFilter implements ContainerDescriptorHandl } if (ComponentsXmlArchiverFileFilter.COMPONENTS_XML_PATH.equals(entry)) { - try (Reader reader = new BufferedReader(new XmlStreamReader(fileInfo.getContents()))) { + try (Reader reader = new BufferedReader(XmlStreamReader.builder() + .setInputStream(fileInfo.getContents()) + .get())) { addComponentsXml(reader); } catch (final XmlPullParserException e) { - final IOException error = - new IOException("Error finalizing component-set for archive. Reason: " + e.getMessage(), e); - - throw error; + throw new IOException("Error finalizing component-set for archive. Reason: " + e.getMessage(), e); } return false; } else { diff --git a/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java b/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java index 21fd5138..af30cf56 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java +++ b/src/main/java/org/apache/maven/plugins/assembly/filter/SimpleAggregatingDescriptorHandler.java @@ -21,8 +21,6 @@ package org.apache.maven.plugins.assembly.filter; import javax.inject.Named; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; @@ -112,11 +110,11 @@ public class SimpleAggregatingDescriptorHandler implements ContainerDescriptorHa return f; } - private Writer getWriter(File f) throws FileNotFoundException { + private Writer getWriter(File f) throws IOException { Writer writer; writer = AssemblyFileUtils.isPropertyFile(f) - ? new OutputStreamWriter(new FileOutputStream(f), StandardCharsets.ISO_8859_1) - : new OutputStreamWriter(new FileOutputStream(f)); // Still platform encoding + ? new OutputStreamWriter(Files.newOutputStream(f.toPath()), StandardCharsets.ISO_8859_1) + : new OutputStreamWriter(Files.newOutputStream(f.toPath())); // Still platform encoding return writer; } diff --git a/src/main/java/org/apache/maven/plugins/assembly/format/ReaderFormatter.java b/src/main/java/org/apache/maven/plugins/assembly/format/ReaderFormatter.java index 3f7daf71..f4e0e407 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/format/ReaderFormatter.java +++ b/src/main/java/org/apache/maven/plugins/assembly/format/ReaderFormatter.java @@ -82,8 +82,7 @@ public class ReaderFormatter { filterRequest.setInjectProjectBuildFilters(configSource.isIncludeProjectBuildFilters()); return configSource.getMavenReaderFilter().filter(filterRequest); } catch (MavenFilteringException e) { - IOException ioe = new IOException("Error filtering file '" + source + "': " + e.getMessage(), e); - throw ioe; + throw new IOException("Error filtering file '" + source + "': " + e.getMessage(), e); } } diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/ClasspathResourceLocatorStrategy.java b/src/main/java/org/apache/maven/plugins/assembly/io/ClasspathResourceLocatorStrategy.java index 99f8bdcc..f22c3dc7 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/io/ClasspathResourceLocatorStrategy.java +++ b/src/main/java/org/apache/maven/plugins/assembly/io/ClasspathResourceLocatorStrategy.java @@ -25,12 +25,6 @@ import java.net.URL; */ class ClasspathResourceLocatorStrategy implements LocatorStrategy { - private String tempFilePrefix = "location."; - - private String tempFileSuffix = ".cpurl"; - - private boolean tempFileDeleteOnExit = true; - /** * Create instance. */ @@ -45,8 +39,7 @@ class ClasspathResourceLocatorStrategy implements LocatorStrategy { Location location = null; if (resource != null) { - location = new URLLocation( - resource, locationSpecification, tempFilePrefix, tempFileSuffix, tempFileDeleteOnExit); + location = new URLLocation(resource, locationSpecification, "location.", ".cpurl", true); } else { messageHolder.addMessage( "Failed to resolve classpath resource: " + locationSpecification + " from classloader: " + cloader); diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java index bc4cbf32..c5cefac7 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java +++ b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReader.java @@ -113,10 +113,8 @@ public class DefaultAssemblyReader implements AssemblyReader { } if ((descriptorSourceDirectory != null) && descriptorSourceDirectory.isDirectory()) { - // CHECKSTYLE_OFF: LineLength - locator.setStrategies(Collections.<LocatorStrategy>singletonList( - new RelativeFileLocatorStrategy(descriptorSourceDirectory))); - // CHECKSTYLE_ON: LineLength + locator.setStrategies( + Collections.singletonList(new RelativeFileLocatorStrategy(descriptorSourceDirectory))); final DirectoryScanner scanner = new DirectoryScanner(); scanner.setBasedir(descriptorSourceDirectory); @@ -297,7 +295,7 @@ public class DefaultAssemblyReader implements AssemblyReader { LOGGER.debug("Failed to print debug message with assembly descriptor listing, and message: " + message, e); } - LOGGER.debug(message + "\n\n" + sWriter.toString() + "\n\n"); + LOGGER.debug(message + "\n\n" + sWriter + "\n\n"); } /** diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultMessageHolder.java b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultMessageHolder.java index fbf26717..c9d431eb 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/io/DefaultMessageHolder.java +++ b/src/main/java/org/apache/maven/plugins/assembly/io/DefaultMessageHolder.java @@ -148,11 +148,11 @@ class DefaultMessageHolder implements MessageHolder { /** {@inheritDoc} */ public String render() { - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); int counter = 1; for (Iterator<Message> it = messages.iterator(); it.hasNext(); ) { - Message message = (Message) it.next(); + Message message = it.next(); int ml = message.getMessageLevel(); @@ -169,7 +169,7 @@ class DefaultMessageHolder implements MessageHolder { if (content.length() > label.length() + 3) { buffer.append('[').append(counter++).append("] "); - buffer.append(content.toString()); + buffer.append(content); if (it.hasNext()) { buffer.append("\n\n"); @@ -243,7 +243,7 @@ class DefaultMessageHolder implements MessageHolder { PrintWriter pw = new PrintWriter(sw); error.printStackTrace(pw); - buffer.append(sw.toString()); + buffer.append(sw); } return buffer; diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/Locator.java b/src/main/java/org/apache/maven/plugins/assembly/io/Locator.java index 99047745..eca66f77 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/io/Locator.java +++ b/src/main/java/org/apache/maven/plugins/assembly/io/Locator.java @@ -92,7 +92,7 @@ final class Locator { Location location = null; for (Iterator<LocatorStrategy> it = strategies.iterator(); location == null && it.hasNext(); ) { - LocatorStrategy strategy = (LocatorStrategy) it.next(); + LocatorStrategy strategy = it.next(); location = strategy.resolve(locationSpecification, messageHolder); } diff --git a/src/main/java/org/apache/maven/plugins/assembly/io/MessageLevels.java b/src/main/java/org/apache/maven/plugins/assembly/io/MessageLevels.java index 66be82ec..e9996845 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/io/MessageLevels.java +++ b/src/main/java/org/apache/maven/plugins/assembly/io/MessageLevels.java @@ -100,7 +100,7 @@ final class MessageLevels { */ static String getLevelLabel(int messageLevel) { if (messageLevel > -1 && LEVEL_NAMES.size() > messageLevel) { - return (String) LEVEL_NAMES.get(messageLevel); + return LEVEL_NAMES.get(messageLevel); } throw new IllegalArgumentException("Invalid message level: " + messageLevel); diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java index ec794d0c..d81b3056 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java +++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java @@ -480,14 +480,7 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem } for (final String format : effectiveFormats) { - final File destFile = assemblyArchiver.createArchive( - assembly, - fullName, - format, - this, - isRecompressZippedFiles(), - getMergeManifestMode(), - outputDate); + final File destFile = assemblyArchiver.createArchive(assembly, fullName, format, this, outputDate); final MavenProject project = getProject(); final String type = project.getArtifact().getType(); @@ -619,9 +612,6 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem this.descriptors = descriptors; } - @Override - public abstract MavenProject getProject(); - @Override public File getSiteDirectory() { return siteDirectory; @@ -781,10 +771,12 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem return encoding; } - boolean isRecompressZippedFiles() { + @Override + public boolean isRecompressZippedFiles() { return recompressZippedFiles; } + @Override public String getMergeManifestMode() { return mergeManifestMode; } diff --git a/src/main/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtils.java b/src/main/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtils.java index e85650e4..b039e5eb 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtils.java +++ b/src/main/java/org/apache/maven/plugins/assembly/utils/AssemblyFormatUtils.java @@ -264,8 +264,7 @@ public final class AssemblyFormatUtils { } if (value.contains("." + sep)) { - List<String> parts = new ArrayList<>(); - parts.addAll(Arrays.asList(value.split(sep.replace("\\", "\\\\")))); + List<String> parts = new ArrayList<>(Arrays.asList(value.split(sep.replace("\\", "\\\\")))); for (ListIterator<String> it = parts.listIterator(); it.hasNext(); ) { String part = it.next(); diff --git a/src/main/java/org/apache/maven/plugins/assembly/utils/FilterUtils.java b/src/main/java/org/apache/maven/plugins/assembly/utils/FilterUtils.java index fb2f55b3..b0f54cf4 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/utils/FilterUtils.java +++ b/src/main/java/org/apache/maven/plugins/assembly/utils/FilterUtils.java @@ -101,7 +101,7 @@ public final class FilterUtils { final AndArtifactFilter filter = new AndArtifactFilter(); - if (additionalFilters != null && additionalFilters.length > 0) { + if (additionalFilters != null) { for (final ArtifactFilter additionalFilter : additionalFilters) { if (additionalFilter != null) { filter.add(additionalFilter); diff --git a/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java b/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java index 9e284258..ead560c6 100644 --- a/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java +++ b/src/main/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtils.java @@ -21,13 +21,12 @@ package org.apache.maven.plugins.assembly.utils; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.RandomAccessFile; +import java.nio.file.Files; import org.apache.maven.plugins.assembly.format.AssemblyFormattingException; @@ -94,20 +93,20 @@ public final class LineEndingsUtils { private static BufferedReader getBufferedReader(File source, String encoding) throws IOException { if (encoding == null) { // platform encoding - return new BufferedReader(new InputStreamReader(new FileInputStream(source))); + return new BufferedReader(new InputStreamReader(Files.newInputStream(source.toPath()))); } else { // MASSEMBLY-371 - return new BufferedReader(new InputStreamReader(new FileInputStream(source), encoding)); + return new BufferedReader(new InputStreamReader(Files.newInputStream(source.toPath()), encoding)); } } private static BufferedWriter getBufferedWriter(File dest, String encoding) throws IOException { if (encoding == null) { // platform encoding - return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest))); + return new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(dest.toPath()))); } else { // MASSEMBLY-371 - return new BufferedWriter(new OutputStreamWriter(new FileOutputStream(dest), encoding)); + return new BufferedWriter(new OutputStreamWriter(Files.newOutputStream(dest.toPath()), encoding)); } } diff --git a/src/main/mdo/assembly-component.mdo b/src/main/mdo/assembly-component.mdo index 0499f1b5..3c1d15ac 100644 --- a/src/main/mdo/assembly-component.mdo +++ b/src/main/mdo/assembly-component.mdo @@ -22,7 +22,7 @@ --> <model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="https://codehaus-plexus.github.io/MODELLO/2.0.0 http://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd" + xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd" xml.namespace="http://maven.apache.org/ASSEMBLY-COMPONENT/${version}" xml.schemaLocation="https://maven.apache.org/xsd/assembly-component-${version}.xsd"> diff --git a/src/main/mdo/assembly.mdo b/src/main/mdo/assembly.mdo index 1e0790ab..7372a208 100644 --- a/src/main/mdo/assembly.mdo +++ b/src/main/mdo/assembly.mdo @@ -24,7 +24,7 @@ --> <model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="https://codehaus-plexus.github.io/MODELLO/2.0.0 http://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd" + xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd" xml.namespace="http://maven.apache.org/ASSEMBLY/${version}" xml.schemaLocation="https://maven.apache.org/xsd/assembly-${version}.xsd"> diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java index 4c52231b..730469cc 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/DefaultAssemblyArchiverTest.java @@ -28,7 +28,6 @@ import org.apache.maven.model.Model; import org.apache.maven.plugins.assembly.AssemblerConfigurationSource; import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException; import org.apache.maven.plugins.assembly.archive.phase.AssemblyArchiverPhase; -import org.apache.maven.plugins.assembly.filter.ContainerDescriptorHandler; import org.apache.maven.plugins.assembly.model.Assembly; import org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo; import org.apache.maven.plugins.assembly.testutils.PojoConfigSource; @@ -96,8 +95,8 @@ public class DefaultAssemblyArchiverTest { @Test(expected = InvalidAssemblerConfigurationException.class) public void failWhenAssemblyIdIsNull() throws Exception { - final DefaultAssemblyArchiver archiver = createSubject(Collections.<AssemblyArchiverPhase>emptyList()); - archiver.createArchive(new Assembly(), "full-name", "zip", null, false, null, null); + final DefaultAssemblyArchiver archiver = createSubject(Collections.emptyList()); + archiver.createArchive(new Assembly(), "full-name", "zip", null, null); } @Test @@ -125,7 +124,7 @@ public class DefaultAssemblyArchiverTest { final DefaultAssemblyArchiver subject = createSubject(Collections.singletonList(phase)); - subject.createArchive(assembly, "full-name", "zip", configSource, false, null, null); + subject.createArchive(assembly, "full-name", "zip", configSource, null); // result of easymock migration, should be assert of expected result instead of verifying methodcalls verify(configSource).getArchiverConfig(); @@ -184,7 +183,7 @@ public class DefaultAssemblyArchiverTest { final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); - subject.createArchiver("dummy", false, "finalName", configSource, null, false, null, null); + subject.createArchiver("dummy", false, "finalName", configSource, null, null); assertEquals(simpleConfig, archiver.getSimpleConfig()); @@ -209,7 +208,7 @@ public class DefaultAssemblyArchiverTest { final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); - subject.createArchiver("tar", false, "finalName", configSource, null, false, null, null); + subject.createArchiver("tar", false, "finalName", configSource, null, null); assertNull(ttArchiver.compressionMethod); assertEquals(TarLongFileMode.fail, ttArchiver.longFileMode); @@ -243,10 +242,11 @@ public class DefaultAssemblyArchiverTest { when(configSource.getProject()).thenReturn(new MavenProject(new Model())); when(configSource.getWorkingDirectory()).thenReturn(new File(".")); when(configSource.isIgnorePermissions()).thenReturn(true); + when(configSource.isRecompressZippedFiles()).thenReturn(false); final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); - subject.createArchiver("war", false, null, configSource, null, false, null, null); + subject.createArchiver("war", false, null, configSource, null, null); assertNotNull(twArchiver.expectWebXml); assertFalse(twArchiver.expectWebXml); @@ -281,10 +281,11 @@ public class DefaultAssemblyArchiverTest { when(configSource.getOverrideUserName()).thenReturn("root"); when(configSource.getWorkingDirectory()).thenReturn(new File(".")); when(configSource.isIgnorePermissions()).thenReturn(true); + when(configSource.isRecompressZippedFiles()).thenReturn(false); final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); - subject.createArchiver("zip", false, null, configSource, null, false, null, null); + subject.createArchiver("zip", false, null, configSource, null, null); // result of easymock migration, should be assert of expected result instead of verifying methodcalls verify(configSource).getArchiverConfig(); @@ -311,8 +312,9 @@ public class DefaultAssemblyArchiverTest { PojoConfigSource configSource = new PojoConfigSource(); configSource.setTarLongFileMode(TarLongFileMode.fail.name()); configSource.setWorkingDirectory(new File("")); + configSource.setRecompressZippedFiles(false); - subject.createArchiver("tar", true, "", configSource, null, false, null, null); + subject.createArchiver("tar", true, "", configSource, null, null); assertNull(new TestTarArchiver().compressionMethod); assertEquals(TarLongFileMode.fail, archiver.longFileMode); @@ -321,37 +323,15 @@ public class DefaultAssemblyArchiverTest { verify(archiverManager).getArchiver("tar"); } - @Test - public void testCreateTarArchiver_TZstFormat_ShouldInitializeZstCompression() throws Exception { - final TestTarArchiver archiver = new TestTarArchiver(); - - when(archiverManager.getArchiver("tar")).thenReturn(archiver); - - final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); - - PojoConfigSource configSource = new PojoConfigSource(); - configSource.setTarLongFileMode(TarLongFileMode.fail.name()); - configSource.setWorkingDirectory(new File("")); - - subject.createArchiver("tzst", true, "", configSource, null, false, null, null); - - assertEquals(TarArchiver.TarCompressionMethod.zstd, archiver.compressionMethod); - assertEquals(TarLongFileMode.fail, archiver.longFileMode); - - // result of easymock migration, should be assert of expected result instead of verifying methodcalls - verify(archiverManager).getArchiver("tar"); - } - @Test public void testCreateTarArchiver_InvalidFormat_ShouldFailWithInvalidCompression() throws Exception { - final TestTarArchiver ttArchiver = new TestTarArchiver(); when(archiverManager.getArchiver("tar.ZZZ")).thenThrow(new NoSuchArchiverException("no archiver")); final DefaultAssemblyArchiver subject = createSubject(new ArrayList<>()); try { - subject.createArchiver("tar.ZZZ", true, "", null, null, false, null, null); + subject.createArchiver("tar.ZZZ", true, "", null, null, null); fail("Invalid compression formats should throw an error."); } catch (final NoSuchArchiverException e) { @@ -363,8 +343,7 @@ public class DefaultAssemblyArchiverTest { } private DefaultAssemblyArchiver createSubject(final List<AssemblyArchiverPhase> phases) { - return new DefaultAssemblyArchiver( - archiverManager, phases, Collections.<String, ContainerDescriptorHandler>emptyMap(), container); + return new DefaultAssemblyArchiver(archiverManager, phases, Collections.emptyMap(), container); } private static final class TestTarArchiver extends TarArchiver { diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java index a9d77cfe..7ac378a0 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/ManifestCreationFinalizerTest.java @@ -27,14 +27,12 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Arrays; import java.util.Collections; import org.apache.commons.io.IOUtils; import org.apache.maven.archiver.MavenArchiveConfiguration; import org.apache.maven.model.Model; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.archiver.ArchiveFinalizer; import org.codehaus.plexus.archiver.jar.JarArchiver; import org.junit.Rule; import org.junit.Test; @@ -72,14 +70,13 @@ public class ManifestCreationFinalizerTest { Path manifestFile = tempDir.toPath().resolve("MANIFEST.MF"); - Files.write(manifestFile, Arrays.asList("Main-Class: Stuff\n"), StandardCharsets.UTF_8); + Files.write(manifestFile, Collections.singletonList("Main-Class: Stuff\n"), StandardCharsets.UTF_8); config.setManifestFile(manifestFile.toFile()); JarArchiver archiver = new JarArchiver(); - archiver.setArchiveFinalizers( - Collections.<ArchiveFinalizer>singletonList(new ManifestCreationFinalizer(null, project, config))); + archiver.setArchiveFinalizers(Collections.singletonList(new ManifestCreationFinalizer(null, project, config))); File file = temporaryFolder.newFile(); @@ -113,8 +110,7 @@ public class ManifestCreationFinalizerTest { JarArchiver archiver = new JarArchiver(); - archiver.setArchiveFinalizers( - Collections.<ArchiveFinalizer>singletonList(new ManifestCreationFinalizer(null, project, config))); + archiver.setArchiveFinalizers(Collections.singletonList(new ManifestCreationFinalizer(null, project, config))); File file = temporaryFolder.newFile(); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java index 60788eb1..c44afcbc 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/archiver/AssemblyProxyArchiverTest.java @@ -23,7 +23,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.codehaus.plexus.archiver.Archiver; @@ -84,11 +84,11 @@ public class AssemblyProxyArchiverTest { Files.write( sources.toPath().resolve("test-included.txt"), - Arrays.asList("This is included"), + Collections.singletonList("This is included"), StandardCharsets.UTF_8); Files.write( workdir.toPath().resolve("test-excluded.txt"), - Arrays.asList("This is excluded"), + Collections.singletonList("This is excluded"), StandardCharsets.UTF_8); final TrackingArchiver tracker = new TrackingArchiver(); @@ -147,7 +147,8 @@ public class AssemblyProxyArchiverTest { archiver.setForced(true); final File dir = temporaryFolder.newFolder(); - Files.write(dir.toPath().resolve("file.txt"), Arrays.asList("This is a test."), StandardCharsets.UTF_8); + Files.write( + dir.toPath().resolve("file.txt"), Collections.singletonList("This is a test."), StandardCharsets.UTF_8); archiver.addDirectory(dir); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java index 9cc0c995..0925f15a 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/AssemblyArchiverPhaseComparatorTest.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembly.archive.phase; import java.util.ArrayList; -import java.util.Collections; import java.util.List; import org.apache.maven.plugins.assembly.AssemblerConfigurationSource; @@ -46,32 +45,32 @@ public class AssemblyArchiverPhaseComparatorTest { items.add(o1); Unordered1 u1 = new Unordered1(); items.add(u1); - Collections.sort(items, new AssemblyArchiverPhaseComparator()); + items.sort(new AssemblyArchiverPhaseComparator()); assertSame(u1, items.get(0)); assertSame(u2, items.get(1)); assertSame(o1, items.get(2)); assertSame(o2, items.get(3)); } - class Basic implements AssemblyArchiverPhase { + static class Basic implements AssemblyArchiverPhase { public void execute(Assembly assembly, Archiver archiver, AssemblerConfigurationSource configSource) throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException, DependencyResolutionException {} } - class Ordered1 extends Basic implements PhaseOrder { + static class Ordered1 extends Basic implements PhaseOrder { public int order() { return 20; } } - class Ordered2 extends Basic implements PhaseOrder { + static class Ordered2 extends Basic implements PhaseOrder { public int order() { return 30; } } - class Unordered1 extends Basic {} + static class Unordered1 extends Basic {} - class Unordered2 extends Basic {} + static class Unordered2 extends Basic {} } diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java index 079edf84..a7d1c52d 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/FileItemAssemblyPhaseTest.java @@ -21,7 +21,7 @@ package org.apache.maven.plugins.assembly.archive.phase; import java.io.File; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.util.Arrays; +import java.util.Collections; import org.apache.maven.model.Model; import org.apache.maven.plugins.assembly.AssemblerConfigurationSource; @@ -76,7 +76,7 @@ public class FileItemAssemblyPhaseTest { final File basedir = temporaryFolder.getRoot(); final File file = temporaryFolder.newFile("file.txt"); - Files.write(file.toPath(), Arrays.asList("This is a test file."), StandardCharsets.UTF_8); + Files.write(file.toPath(), Collections.singletonList("This is a test file."), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); when(macCS.getProject()).thenReturn(new MavenProject(new Model())); @@ -110,7 +110,7 @@ public class FileItemAssemblyPhaseTest { final File basedir = temporaryFolder.getRoot(); final File file = temporaryFolder.newFile("file.txt"); - Files.write(file.toPath(), Arrays.asList("This is a test file."), StandardCharsets.UTF_8); + Files.write(file.toPath(), Collections.singletonList("This is a test file."), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); when(macCS.getProject()).thenReturn(new MavenProject(new Model())); @@ -144,16 +144,21 @@ public class FileItemAssemblyPhaseTest { final File basedir = temporaryFolder.getRoot(); final File readmeFile = temporaryFolder.newFile("README.txt"); - Files.write(readmeFile.toPath(), Arrays.asList("This is a test file for README.txt."), StandardCharsets.UTF_8); + Files.write( + readmeFile.toPath(), + Collections.singletonList("This is a test file for README.txt."), + StandardCharsets.UTF_8); final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); Files.write( - licenseFile.toPath(), Arrays.asList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); + licenseFile.toPath(), + Collections.singletonList("This is a test file for LICENSE.txt."), + StandardCharsets.UTF_8); final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); Files.write( configFile.toPath(), - Arrays.asList("This is a test file for config/config.txt"), + Collections.singletonList("This is a test file for config/config.txt"), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); @@ -218,16 +223,21 @@ public class FileItemAssemblyPhaseTest { final File basedir = temporaryFolder.getRoot(); final File readmeFile = temporaryFolder.newFile("README.txt"); - Files.write(readmeFile.toPath(), Arrays.asList("This is a test file for README.txt."), StandardCharsets.UTF_8); + Files.write( + readmeFile.toPath(), + Collections.singletonList("This is a test file for README.txt."), + StandardCharsets.UTF_8); final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); Files.write( - licenseFile.toPath(), Arrays.asList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); + licenseFile.toPath(), + Collections.singletonList("This is a test file for LICENSE.txt."), + StandardCharsets.UTF_8); final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); Files.write( configFile.toPath(), - Arrays.asList("This is a test file for config/config.txt"), + Collections.singletonList("This is a test file for config/config.txt"), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); @@ -295,16 +305,21 @@ public class FileItemAssemblyPhaseTest { final File basedir = temporaryFolder.getRoot(); final File readmeFile = temporaryFolder.newFile("README.txt"); - Files.write(readmeFile.toPath(), Arrays.asList("This is a test file for README.txt."), StandardCharsets.UTF_8); + Files.write( + readmeFile.toPath(), + Collections.singletonList("This is a test file for README.txt."), + StandardCharsets.UTF_8); final File licenseFile = temporaryFolder.newFile("LICENSE.txt"); Files.write( - licenseFile.toPath(), Arrays.asList("This is a test file for LICENSE.txt."), StandardCharsets.UTF_8); + licenseFile.toPath(), + Collections.singletonList("This is a test file for LICENSE.txt."), + StandardCharsets.UTF_8); final File configFile = new File(temporaryFolder.newFolder("config"), "config.txt"); Files.write( configFile.toPath(), - Arrays.asList("This is a test file for config/config.txt"), + Collections.singletonList("This is a test file for config/config.txt"), StandardCharsets.UTF_8); when(macCS.getBasedir()).thenReturn(basedir); diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java index 915e1f2e..ef2e9da4 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/phase/ModuleSetAssemblyPhaseTest.java @@ -69,11 +69,9 @@ public class ModuleSetAssemblyPhaseTest { private DependencyResolver dependencyResolver; - private ProjectBuilder projectBuilder; - @Before public void setUp() { - this.projectBuilder = mock(ProjectBuilder.class); + ProjectBuilder projectBuilder = mock(ProjectBuilder.class); this.dependencyResolver = mock(DependencyResolver.class); this.phase = new ModuleSetAssemblyPhase(projectBuilder, dependencyResolver); @@ -724,7 +722,7 @@ public class ModuleSetAssemblyPhaseTest { boolean failed = false; final Set<MavenProject> checkTooMany = new HashSet<>(moduleProjects); - checkTooMany.removeAll(check); + check.forEach(checkTooMany::remove); if (!checkTooMany.isEmpty()) { failed = true; diff --git a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java index 976f8a4c..671ecb45 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/archive/task/AddFileSetsTaskTest.java @@ -56,7 +56,7 @@ public class AddFileSetsTaskTest { fs.setDirectory(dir.getAbsolutePath()); - final File result = new AddFileSetsTask(new ArrayList<FileSet>()).getFileSetDirectory(fs, null, null); + final File result = new AddFileSetsTask(new ArrayList<>()).getFileSetDirectory(fs, null, null); assertEquals(dir.getAbsolutePath(), result.getAbsolutePath()); } @@ -67,7 +67,7 @@ public class AddFileSetsTaskTest { final FileSet fs = new FileSet(); - final File result = new AddFileSetsTask(new ArrayList<FileSet>()).getFileSetDirectory(fs, dir, null); + final File result = new AddFileSetsTask(new ArrayList<>()).getFileSetDirectory(fs, dir, null); assertEquals(dir.getAbsolutePath(), result.getAbsolutePath()); } @@ -84,7 +84,7 @@ public class AddFileSetsTaskTest { fs.setDirectory(srcPath); - final File result = new AddFileSetsTask(new ArrayList<FileSet>()).getFileSetDirectory(fs, dir, null); + final File result = new AddFileSetsTask(new ArrayList<>()).getFileSetDirectory(fs, dir, null); assertEquals(srcDir.getAbsolutePath(), result.getAbsolutePath()); } @@ -101,7 +101,7 @@ public class AddFileSetsTaskTest { fs.setDirectory(srcPath); - final File result = new AddFileSetsTask(new ArrayList<FileSet>()).getFileSetDirectory(fs, null, dir); + final File result = new AddFileSetsTask(new ArrayList<>()).getFileSetDirectory(fs, null, dir); assertEquals(srcDir.getAbsolutePath(), result.getAbsolutePath()); } @@ -127,7 +127,7 @@ public class AddFileSetsTaskTest { DefaultAssemblyArchiverTest.setupInterpolators(configSource, project); - final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<FileSet>()); + final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<>()); task.setProject(project); @@ -165,7 +165,7 @@ public class AddFileSetsTaskTest { project.setGroupId("GROUPID"); DefaultAssemblyArchiverTest.setupInterpolators(configSource, project); - final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<FileSet>()); + final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<>()); task.setProject(project); task.addFileSet(fs, archiver, configSource, archiveBaseDir); @@ -198,7 +198,7 @@ public class AddFileSetsTaskTest { DefaultAssemblyArchiverTest.setupInterpolators(configSource, project); - final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<FileSet>()); + final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<>()); task.setProject(project); task.addFileSet(fs, archiver, configSource, archiveBaseDir); @@ -217,7 +217,7 @@ public class AddFileSetsTaskTest { final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); when(configSource.getArchiveBaseDirectory()).thenReturn(archiveBaseDir); - final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<FileSet>()); + final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<>()); try { task.execute(null, configSource); @@ -237,7 +237,7 @@ public class AddFileSetsTaskTest { final AssemblerConfigurationSource configSource = mock(AssemblerConfigurationSource.class); when(configSource.getArchiveBaseDirectory()).thenReturn(archiveBaseDir); - final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<FileSet>()); + final AddFileSetsTask task = new AddFileSetsTask(new ArrayList<>()); try { task.execute(null, configSource); diff --git a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java index 32c88ebe..dda82cb1 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/artifact/DefaultDependencyResolverTest.java @@ -39,8 +39,6 @@ import org.codehaus.plexus.PlexusConstants; import org.codehaus.plexus.PlexusTestCase; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java index 4b2abe87..108e0568 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/filter/ComponentsXmlArchiverFileFilterTest.java @@ -34,7 +34,6 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.codehaus.plexus.archiver.ArchiveEntry; -import org.codehaus.plexus.archiver.ArchiveFinalizer; import org.codehaus.plexus.archiver.ArchivedFileSet; import org.codehaus.plexus.archiver.Archiver; import org.codehaus.plexus.archiver.ArchiverException; @@ -246,7 +245,7 @@ public class ComponentsXmlArchiverFileFilterTest { final File descriptorFile = new File(temporaryFolder.getRoot(), "descriptor.xml"); - archiver.setArchiveFinalizers(Collections.<ArchiveFinalizer>singletonList(filter)); + archiver.setArchiveFinalizers(Collections.singletonList(filter)); archiver.createArchive(); diff --git a/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java b/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java index b8513ca0..b82bdd2e 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/format/ReaderFormatterTest.java @@ -54,7 +54,7 @@ public class ReaderFormatterTest { public void lineDosFeed() throws IOException, AssemblyFormattingException { final PojoConfigSource cfg = getPojoConfigSource(); InputStreamTransformer fileSetTransformers = - ReaderFormatter.getFileSetTransformers(cfg, true, Collections.<String>emptySet(), "dos"); + ReaderFormatter.getFileSetTransformers(cfg, true, Collections.emptySet(), "dos"); InputStream fud = fileSetTransformers.transform(dummyResource(), payload("This is a\ntest.")); assertEquals("This is a\r\ntest.", readResultStream(fud)); } @@ -63,7 +63,7 @@ public class ReaderFormatterTest { public void lineDosFeed_withoutFiltering() throws IOException, AssemblyFormattingException { final PojoConfigSource cfg = getPojoConfigSource(); InputStreamTransformer fileSetTransformers = - ReaderFormatter.getFileSetTransformers(cfg, false, Collections.<String>emptySet(), "dos"); + ReaderFormatter.getFileSetTransformers(cfg, false, Collections.emptySet(), "dos"); InputStream fud = fileSetTransformers.transform(dummyResource(), payload("This is a\ntest.")); assertEquals("This is a\r\ntest.", readResultStream(fud)); } @@ -72,7 +72,7 @@ public class ReaderFormatterTest { public void lineUnixFeedWithInterpolation() throws IOException, AssemblyFormattingException { final PojoConfigSource cfg = getPojoConfigSource(); InputStreamTransformer fileSetTransformers = - ReaderFormatter.getFileSetTransformers(cfg, true, Collections.<String>emptySet(), "unix"); + ReaderFormatter.getFileSetTransformers(cfg, true, Collections.emptySet(), "unix"); InputStream fud = fileSetTransformers.transform( dummyResource(), payload("This is a test for project: ${artifactId} @artifactId@.")); assertEquals("This is a test for project: anArtifact anArtifact.", readResultStream(fud)); @@ -107,7 +107,7 @@ public class ReaderFormatterTest { cfg.setAdditionalProperties(additionalProperties); InputStreamTransformer transformer = - ReaderFormatter.getFileSetTransformers(cfg, true, Collections.<String>emptySet(), "unix"); + ReaderFormatter.getFileSetTransformers(cfg, true, Collections.emptySet(), "unix"); final InputStream inputStream = new ByteArrayInputStream(new byte[0]); PlexusIoResource resource = mock(PlexusIoResource.class); diff --git a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java index 0c1ed620..451c0c29 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/io/DefaultAssemblyReaderTest.java @@ -19,7 +19,6 @@ package org.apache.maven.plugins.assembly.io; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.StringReader; @@ -28,7 +27,6 @@ import java.io.Writer; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -277,7 +275,8 @@ public class DefaultAssemblyReaderTest { final File componentFile = temporaryFolder.newFile(); - try (Writer writer = new OutputStreamWriter(new FileOutputStream(componentFile), "UTF-8")) { + try (Writer writer = + new OutputStreamWriter(Files.newOutputStream(componentFile.toPath()), StandardCharsets.UTF_8)) { final ComponentXpp3Writer componentWriter = new ComponentXpp3Writer(); componentWriter.write(writer, component); @@ -376,7 +375,8 @@ public class DefaultAssemblyReaderTest { component.addFileSet(fs); - try (Writer fw = new OutputStreamWriter(new FileOutputStream(componentsFile), "UTF-8")) { + try (Writer fw = + new OutputStreamWriter(Files.newOutputStream(componentsFile.toPath()), StandardCharsets.UTF_8)) { new ComponentXpp3Writer().write(fw, component); } @@ -426,7 +426,8 @@ public class DefaultAssemblyReaderTest { component.addFileSet(fs); - try (Writer fw = new OutputStreamWriter(new FileOutputStream(componentsFile), "UTF-8")) { + try (Writer fw = + new OutputStreamWriter(Files.newOutputStream(componentsFile.toPath()), StandardCharsets.UTF_8)) { new ComponentXpp3Writer().write(fw, component); } @@ -514,7 +515,8 @@ public class DefaultAssemblyReaderTest { DefaultAssemblyArchiverTest.setupInterpolators(configSource); - try (Writer writer = new OutputStreamWriter(new FileOutputStream(assemblyFile), "UTF-8")) { + try (Writer writer = + new OutputStreamWriter(Files.newOutputStream(assemblyFile.toPath()), StandardCharsets.UTF_8)) { new AssemblyXpp3Writer().write(writer, assembly); } @@ -685,7 +687,7 @@ public class DefaultAssemblyReaderTest { Files.write( basedir.toPath().resolve("readme.txt"), - Arrays.asList("This is just a readme file, not a descriptor."), + Collections.singletonList("This is just a readme file, not a descriptor."), StandardCharsets.UTF_8); final List<Assembly> results = performReadAssemblies(basedir, null, null, basedir); @@ -708,7 +710,8 @@ public class DefaultAssemblyReaderTest { for (final Assembly assembly : assemblies) { final File assemblyFile = new File(dir, assembly.getId() + ".xml"); - try (Writer writer = new OutputStreamWriter(new FileOutputStream(assemblyFile), "UTF-8")) { + try (Writer writer = + new OutputStreamWriter(Files.newOutputStream(assemblyFile.toPath()), StandardCharsets.UTF_8)) { new AssemblyXpp3Writer().write(writer, assembly); } diff --git a/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java b/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java index afe98aa0..468f787c 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java +++ b/src/test/java/org/apache/maven/plugins/assembly/testutils/PojoConfigSource.java @@ -111,6 +111,10 @@ public class PojoConfigSource implements AssemblerConfigurationSource { private FixedStringSearchInterpolator mainProjectInterpolator; + private boolean recompressZippedFiles; + + private String mergeManifestMode; + public String getDescriptor() { return descriptor; } @@ -451,4 +455,22 @@ public class PojoConfigSource implements AssemblerConfigurationSource { public String getOverrideGroupName() { return "root"; } + + @Override + public boolean isRecompressZippedFiles() { + return recompressZippedFiles; + } + + public void setRecompressZippedFiles(boolean recompressZippedFiles) { + this.recompressZippedFiles = recompressZippedFiles; + } + + @Override + public String getMergeManifestMode() { + return mergeManifestMode; + } + + public void setMergeManifestMode(String mergeManifestMode) { + this.mergeManifestMode = mergeManifestMode; + } } diff --git a/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java b/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java index 2827142f..45af4b0b 100644 --- a/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java +++ b/src/test/java/org/apache/maven/plugins/assembly/utils/LineEndingsUtilsTest.java @@ -60,7 +60,7 @@ public class LineEndingsUtilsTest { @Test public void shouldReturnNullAsLineEndingForKeep() { - assertEquals(null, LineEndings.keep.getLineEndingCharacters()); + assertNull(LineEndings.keep.getLineEndingCharacters()); } @Test