This is an automated email from the ASF dual-hosted git repository. cstamas pushed a commit to branch drop-commons-collections in repository https://gitbox.apache.org/repos/asf/maven-shade-plugin.git
commit 8bdc116585f1f78031ea34ce14a6a102e31d9327 Author: Tamas Cservenak <[email protected]> AuthorDate: Mon May 27 13:35:02 2024 +0200 Drop commons-collections Single class mildly used it. Simple replacement added. --- .github/workflows/maven-verify.yml | 1 - pom.xml | 37 ++++++++-------------- .../apache/maven/plugins/shade/DefaultShader.java | 30 +++++++++--------- .../properties/io/NoCloseOutputStream.java | 2 +- 4 files changed, 30 insertions(+), 40 deletions(-) diff --git a/.github/workflows/maven-verify.yml b/.github/workflows/maven-verify.yml index c021920..1204718 100644 --- a/.github/workflows/maven-verify.yml +++ b/.github/workflows/maven-verify.yml @@ -26,4 +26,3 @@ jobs: uses: apache/maven-gh-actions-shared/.github/workflows/maven-verify.yml@v4 with: ff-jdk: "21" - ff-jdk-distribution: "corretto" diff --git a/pom.xml b/pom.xml index 4581fde..f405a95 100644 --- a/pom.xml +++ b/pom.xml @@ -54,7 +54,7 @@ </contributors> <prerequisites> - <maven>${mavenVersion}</maven> + <maven>3.6.3</maven> </prerequisites> <scm> @@ -79,12 +79,11 @@ </distributionManagement> <properties> - <mavenVersion>3.6.3</mavenVersion> + <mavenVersion>3.9.7</mavenVersion> <javaVersion>8</javaVersion> - <sisu.version>0.3.5</sisu.version> <currentVersion>${project.version}</currentVersion> <asmVersion>9.7</asmVersion> - <slf4j.version>1.7.32</slf4j.version> + <slf4j.version>1.7.36</slf4j.version> <project.build.outputTimestamp>2024-04-20T15:33:41Z</project.build.outputTimestamp> </properties> @@ -93,12 +92,12 @@ <dependency> <groupId>org.eclipse.sisu</groupId> <artifactId>org.eclipse.sisu.inject</artifactId> - <version>${sisu.version}</version> + <version>${version.sisu-maven-plugin}</version> </dependency> <dependency> <groupId>org.eclipse.sisu</groupId> <artifactId>org.eclipse.sisu.plexus</artifactId> - <version>${sisu.version}</version> + <version>${version.sisu-maven-plugin}</version> </dependency> <dependency> <groupId>com.google.inject</groupId> @@ -144,10 +143,7 @@ <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> - </dependency> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-xml</artifactId> + <version>3.5.1</version> </dependency> <!-- DI --> @@ -185,21 +181,21 @@ <artifactId>maven-dependency-tree</artifactId> <version>3.2.1</version> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-compress</artifactId> + <version>1.26.2</version> + </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> - <version>2.13.0</version> + <version>2.16.1</version> </dependency> <dependency> <groupId>org.vafer</groupId> <artifactId>jdependency</artifactId> <version>2.10</version> </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-collections4</artifactId> - <version>4.4</version> - </dependency> <!-- Test --> <!-- Used by: TransformerTesterRule only --> @@ -228,13 +224,13 @@ <dependency> <groupId>org.xmlunit</groupId> <artifactId>xmlunit-legacy</artifactId> - <version>2.9.1</version> + <version>2.10.0</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <version>2.28.2</version> + <version>3.12.4</version> <scope>test</scope> </dependency> <dependency> @@ -255,11 +251,6 @@ <version>3.3.0</version> <scope>test</scope> </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-compress</artifactId> - <version>1.26.1</version> - </dependency> </dependencies> <build> diff --git a/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java b/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java index c11978e..d8a9c65 100644 --- a/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java +++ b/src/main/java/org/apache/maven/plugins/shade/DefaultShader.java @@ -24,7 +24,6 @@ import javax.inject.Singleton; import java.io.BufferedOutputStream; import java.io.ByteArrayInputStream; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; @@ -32,16 +31,19 @@ import java.io.OutputStreamWriter; import java.io.PushbackInputStream; 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.Calendar; import java.util.Collection; import java.util.Collections; import java.util.Enumeration; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.concurrent.Callable; @@ -54,8 +56,6 @@ import java.util.zip.CRC32; import java.util.zip.ZipEntry; import java.util.zip.ZipException; -import org.apache.commons.collections4.MultiValuedMap; -import org.apache.commons.collections4.multimap.HashSetValuedHashMap; import org.apache.commons.compress.archivers.zip.ExtraFieldUtils; import org.apache.commons.compress.archivers.zip.X5455_ExtendedTimestamp; import org.apache.commons.compress.archivers.zip.ZipExtraField; @@ -137,26 +137,26 @@ public class DefaultShader implements Shader { goThroughAllJarEntriesForManifestTransformer(shadeRequest, resources, manifestTransformer, out); // CHECKSTYLE_OFF: MagicNumber - MultiValuedMap<String, File> duplicates = new HashSetValuedHashMap<>(10000, 3); + Map<String, HashSet<File>> duplicates = new HashMap<>(); // CHECKSTYLE_ON: MagicNumber shadeJars(shadeRequest, resources, transformers, out, duplicates, packageMapper); // CHECKSTYLE_OFF: MagicNumber - MultiValuedMap<Collection<File>, String> overlapping = new HashSetValuedHashMap<>(20, 15); + Map<Collection<File>, HashSet<String>> overlapping = new HashMap<>(); // CHECKSTYLE_ON: MagicNumber for (String clazz : duplicates.keySet()) { Collection<File> jarz = duplicates.get(clazz); if (jarz.size() > 1) { - overlapping.put(jarz, clazz); + overlapping.computeIfAbsent(jarz, k -> new HashSet<>()).add(clazz); } } // Log a summary of duplicates logSummaryOfDuplicates(overlapping); - if (overlapping.keySet().size() > 0) { + if (!overlapping.keySet().isEmpty()) { showOverlappingWarning(); } @@ -230,7 +230,7 @@ public class DefaultShader implements Shader { Set<String> resources, List<ResourceTransformer> transformers, JarOutputStream jos, - MultiValuedMap<String, File> duplicates, + Map<String, HashSet<File>> duplicates, DefaultPackageMapper packageMapper) throws IOException { for (File jar : shadeRequest.getJars()) { @@ -262,7 +262,7 @@ public class DefaultShader implements Shader { List<ResourceTransformer> transformers, DefaultPackageMapper packageMapper, JarOutputStream jos, - MultiValuedMap<String, File> duplicates, + Map<String, HashSet<File>> duplicates, File jar, File current, String prefix, @@ -308,7 +308,7 @@ public class DefaultShader implements Shader { new Callable<InputStream>() { @Override public InputStream call() throws Exception { - return new FileInputStream(file); + return Files.newInputStream(file.toPath()); } }, name, @@ -326,7 +326,7 @@ public class DefaultShader implements Shader { List<ResourceTransformer> transformers, DefaultPackageMapper packageMapper, JarOutputStream jos, - MultiValuedMap<String, File> duplicates, + Map<String, HashSet<File>> duplicates, File jar, List<Filter> jarFilters) throws IOException { @@ -387,7 +387,7 @@ public class DefaultShader implements Shader { List<ResourceTransformer> transformers, DefaultPackageMapper packageMapper, JarOutputStream jos, - MultiValuedMap<String, File> duplicates, + Map<String, HashSet<File>> duplicates, File jar, Callable<InputStream> inputProvider, String name, @@ -406,7 +406,7 @@ public class DefaultShader implements Shader { } } - duplicates.put(name, jar); + duplicates.computeIfAbsent(name, k -> new HashSet<>()).add(jar); if (name.endsWith(".class")) { addRemappedClass(jos, jar, name, time, in, packageMapper); } else if (shadeRequest.isShadeSourcesContent() && name.endsWith(".java")) { @@ -426,7 +426,7 @@ public class DefaultShader implements Shader { addResource(resources, jos, mappedName, inputProvider, time, method); } else { - duplicates.removeMapping(name, jar); + duplicates.computeIfAbsent(name, k -> new HashSet<>()).remove(jar); } } } @@ -471,7 +471,7 @@ public class DefaultShader implements Shader { logger.warn("See https://maven.apache.org/plugins/maven-shade-plugin/"); } - private void logSummaryOfDuplicates(MultiValuedMap<Collection<File>, String> overlapping) { + private void logSummaryOfDuplicates(Map<Collection<File>, HashSet<String>> overlapping) { for (Collection<File> jarz : overlapping.keySet()) { List<String> jarzS = new ArrayList<>(); diff --git a/src/main/java/org/apache/maven/plugins/shade/resource/properties/io/NoCloseOutputStream.java b/src/main/java/org/apache/maven/plugins/shade/resource/properties/io/NoCloseOutputStream.java index 30b4e48..e5fdcef 100644 --- a/src/main/java/org/apache/maven/plugins/shade/resource/properties/io/NoCloseOutputStream.java +++ b/src/main/java/org/apache/maven/plugins/shade/resource/properties/io/NoCloseOutputStream.java @@ -22,7 +22,7 @@ import java.io.IOException; import java.io.OutputStream; /** - * Simple output stream replacing close call by a simpe flush. + * Simple output stream replacing close call by a simple flush. * Useful for output streams nesting streams (like jar output streams) and using a stream encoder. */ public class NoCloseOutputStream extends OutputStream {
