From d3d97e192d05227c9614aab9e880d8f06eab66da Mon Sep 17 00:00:00 2001 From: Ilpo Ruotsalainen Date: Thu, 29 Nov 2018 16:09:40 +0100 Subject: Refactor for easier testing. --- .../src/main/java/com/yahoo/abicheck/classtree/ClassFileTree.java | 4 +--- abi-check-plugin/src/main/java/com/yahoo/abicheck/mojo/AbiCheck.java | 5 +++-- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'abi-check-plugin') diff --git a/abi-check-plugin/src/main/java/com/yahoo/abicheck/classtree/ClassFileTree.java b/abi-check-plugin/src/main/java/com/yahoo/abicheck/classtree/ClassFileTree.java index c046ca195ae..c5a6443b68b 100644 --- a/abi-check-plugin/src/main/java/com/yahoo/abicheck/classtree/ClassFileTree.java +++ b/abi-check-plugin/src/main/java/com/yahoo/abicheck/classtree/ClassFileTree.java @@ -1,6 +1,5 @@ package com.yahoo.abicheck.classtree; -import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.ArrayDeque; @@ -17,9 +16,8 @@ import java.util.jar.JarFile; public abstract class ClassFileTree implements AutoCloseable { - public static ClassFileTree fromJar(File file) throws IOException { + public static ClassFileTree fromJar(JarFile jarFile) throws IOException { Map rootPackages = new HashMap<>(); - JarFile jarFile = new JarFile(file); Enumeration jarEntries = jarFile.entries(); while (jarEntries.hasMoreElements()) { diff --git a/abi-check-plugin/src/main/java/com/yahoo/abicheck/mojo/AbiCheck.java b/abi-check-plugin/src/main/java/com/yahoo/abicheck/mojo/AbiCheck.java index 6dae44c8aa9..39924a92e59 100644 --- a/abi-check-plugin/src/main/java/com/yahoo/abicheck/mojo/AbiCheck.java +++ b/abi-check-plugin/src/main/java/com/yahoo/abicheck/mojo/AbiCheck.java @@ -21,6 +21,7 @@ import java.util.Optional; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.Predicate; +import java.util.jar.JarFile; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; @@ -88,8 +89,8 @@ public class AbiCheck extends AbstractMojo { getLog().debug("Analyzing " + mainArtifact.getFile()); - try { - ClassFileTree tree = ClassFileTree.fromJar(mainArtifact.getFile()); + try (JarFile jarFile = new JarFile(mainArtifact.getFile())) { + ClassFileTree tree = ClassFileTree.fromJar(jarFile); Map signatures = new LinkedHashMap<>(); for (ClassFileTree.Package pkg : tree.getRootPackages()) { signatures.putAll(collectPublicAbiSignatures(pkg)); -- cgit v1.2.3