This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-artifact-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 0acc794  apply improvements proposed by IDE
0acc794 is described below

commit 0acc794e9f7bd6744004c5fb2ae8e57165c4c66c
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Sun Sep 24 18:48:19 2023 +0200

    apply improvements proposed by IDE
---
 .../artifact/buildinfo/AbstractBuildinfoMojo.java  |   4 +-
 .../artifact/buildinfo/CheckBuildPlanMojo.java     |   4 +-
 .../plugins/artifact/buildinfo/CompareMojo.java    |  12 +-
 .../artifact/buildinfo/JdkToolchainUtil.java       |   4 +-
 .../plugins/artifact/buildinfo/PluginUtil.java     |   2 +-
 .../artifact/buildinfo/ReferenceBuildinfoUtil.java | 140 ++++++++++-----------
 6 files changed, 81 insertions(+), 85 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/AbstractBuildinfoMojo.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/AbstractBuildinfoMojo.java
index 4f20681..c3a485f 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/AbstractBuildinfoMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/AbstractBuildinfoMojo.java
@@ -20,11 +20,11 @@ package org.apache.maven.plugins.artifact.buildinfo;
 
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
@@ -224,7 +224,7 @@ public abstract class AbstractBuildinfoMojo extends 
AbstractMojo {
         buildinfoFile.getParentFile().mkdirs();
 
         try (PrintWriter p = new PrintWriter(new BufferedWriter(
-                new OutputStreamWriter(new FileOutputStream(buildinfoFile), 
StandardCharsets.UTF_8)))) {
+                new 
OutputStreamWriter(Files.newOutputStream(buildinfoFile.toPath()), 
StandardCharsets.UTF_8)))) {
             BuildInfoWriter bi = new BuildInfoWriter(getLog(), p, mono, 
artifactHandlerManager, rtInformation);
             bi.setIgnoreJavadoc(ignoreJavadoc);
             bi.setIgnore(ignore);
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CheckBuildPlanMojo.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CheckBuildPlanMojo.java
index 9f5cc8a..f8fcf68 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CheckBuildPlanMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CheckBuildPlanMojo.java
@@ -19,9 +19,9 @@
 package org.apache.maven.plugins.artifact.buildinfo;
 
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Files;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.HashSet;
@@ -194,7 +194,7 @@ public class CheckBuildPlanMojo extends AbstractMojo {
     private Properties loadIssues() throws MojoExecutionException {
         try (InputStream in = (pluginIssues == null)
                 ? 
getClass().getResourceAsStream("not-reproducible-plugins.properties")
-                : new FileInputStream(pluginIssues)) {
+                : Files.newInputStream(pluginIssues.toPath())) {
             Properties prop = new Properties();
             prop.load(in);
 
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
index 52d49d1..02a5cf8 100644
--- a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
+++ b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/CompareMojo.java
@@ -20,11 +20,11 @@ package org.apache.maven.plugins.artifact.buildinfo;
 
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
@@ -128,7 +128,7 @@ public class CompareMojo extends AbstractBuildinfoMojo {
      *
      * @param artifacts a Map of artifacts added to the build info with their 
associated property key prefix
      *            (<code>outputs.[#module.].#artifact</code>)
-     * @throws MojoExecutionException
+     * @throws MojoExecutionException if anything goes wrong
      */
     private void checkAgainstReference(Map<Artifact, String> artifacts, 
boolean mono) throws MojoExecutionException {
         MavenProject root = mono ? project : getExecutionRoot();
@@ -216,7 +216,7 @@ public class CompareMojo extends AbstractBuildinfoMojo {
         File buildcompare = new File(
                 buildinfoFile.getParentFile(), 
buildinfoFile.getName().replaceFirst(".buildinfo$", ".buildcompare"));
         try (PrintWriter p = new PrintWriter(new BufferedWriter(
-                new OutputStreamWriter(new FileOutputStream(buildcompare), 
StandardCharsets.UTF_8)))) {
+                new 
OutputStreamWriter(Files.newOutputStream(buildcompare.toPath()), 
StandardCharsets.UTF_8)))) {
             p.println("version=" + project.getVersion());
             p.println("ok=" + ok);
             p.println("ko=" + ko);
@@ -282,10 +282,8 @@ public class CompareMojo extends AbstractBuildinfoMojo {
         // notice: actual file name may have been defined in pom
         // reference file name is taken from repository format
         File reference = new File(new File(referenceDir, a.getGroupId()), 
getRepositoryFilename(a));
-        if ((actual == null) || (reference == null)) {
-            return "missing file for " + a.getId() + " reference = "
-                    + (reference == null ? "null" : relative(reference)) + " 
actual = "
-                    + (actual == null ? "null" : relative(actual));
+        if (actual == null) {
+            return "missing file for " + a.getId() + " reference = " + 
relative(reference) + " actual = null";
         }
         return "diffoscope " + relative(reference) + " " + relative(actual);
     }
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/JdkToolchainUtil.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/JdkToolchainUtil.java
index de3919e..c6a044f 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/JdkToolchainUtil.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/JdkToolchainUtil.java
@@ -43,7 +43,7 @@ class JdkToolchainUtil {
                 LineConsumer err = new LineConsumer();
                 CommandLineUtils.executeCommandLine(cl, out, err);
                 version = StringUtils.join(err.getLines().iterator(), ":");
-                if (version == null) {
+                if (StringUtils.isEmpty(version)) {
                     version = "unable to detect...";
                 }
             } catch (CommandLineException cle) {
@@ -54,7 +54,7 @@ class JdkToolchainUtil {
     }
 
     private static class LineConsumer implements StreamConsumer {
-        private List<String> lines = new ArrayList<>();
+        private final List<String> lines = new ArrayList<>();
 
         @Override
         public void consumeLine(String line) throws IOException {
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/PluginUtil.java 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/PluginUtil.java
index 606d3ad..58b126c 100644
--- a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/PluginUtil.java
+++ b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/PluginUtil.java
@@ -38,7 +38,7 @@ class PluginUtil {
         if (skip == null) {
             skip = project.getProperties().getProperty("maven." + id + 
".skip");
         }
-        return Boolean.valueOf(skip);
+        return Boolean.parseBoolean(skip);
     }
 
     private static Plugin getPlugin(MavenProject project, String plugin) {
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
index 1f8776a..d14184c 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/ReferenceBuildinfoUtil.java
@@ -20,12 +20,12 @@ package org.apache.maven.plugins.artifact.buildinfo;
 
 import java.io.BufferedWriter;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -122,89 +122,87 @@ class ReferenceBuildinfoUtil {
             referenceBuildinfo = null;
         }
 
-        if (referenceBuildinfo == null) {
-            // download reference artifacts and guess Java version and OS
-            String javaVersion = null;
-            String osName = null;
-            String currentJavaVersion = null;
-            String currentOsName = null;
-            Map<Artifact, File> referenceArtifacts = new HashMap<>();
-            for (Artifact artifact : artifacts.keySet()) {
-                try {
-                    // download
-                    File file = downloadReference(repo, artifact);
-                    referenceArtifacts.put(artifact, file);
-
-                    // guess Java version and OS
-                    if ((javaVersion == null) && 
JAR_TYPES.contains(artifact.getType())) {
-                        ReproducibleEnv env = extractEnv(file, artifact);
-                        if ((env != null) && (env.javaVersion != null)) {
-                            javaVersion = env.javaVersion;
-                            osName = env.osName;
-
-                            ReproducibleEnv currentEnv = 
extractEnv(artifact.getFile(), artifact);
-                            currentJavaVersion = currentEnv.javaVersion;
-                            currentOsName = currentEnv.osName;
-                        }
+        // download reference artifacts and guess Java version and OS
+        String javaVersion = null;
+        String osName = null;
+        String currentJavaVersion = null;
+        String currentOsName = null;
+        Map<Artifact, File> referenceArtifacts = new HashMap<>();
+        for (Artifact artifact : artifacts.keySet()) {
+            try {
+                // download
+                File file = downloadReference(repo, artifact);
+                referenceArtifacts.put(artifact, file);
+
+                // guess Java version and OS
+                if ((javaVersion == null) && 
JAR_TYPES.contains(artifact.getType())) {
+                    ReproducibleEnv env = extractEnv(file, artifact);
+                    if ((env != null) && (env.javaVersion != null)) {
+                        javaVersion = env.javaVersion;
+                        osName = env.osName;
+
+                        ReproducibleEnv currentEnv = 
extractEnv(artifact.getFile(), artifact);
+                        currentJavaVersion = currentEnv.javaVersion;
+                        currentOsName = currentEnv.osName;
                     }
-                } catch (ArtifactNotFoundException e) {
-                    log.warn("Reference artifact not found " + artifact);
                 }
+            } catch (ArtifactNotFoundException e) {
+                log.warn("Reference artifact not found " + artifact);
             }
+        }
 
-            // generate buildinfo from reference artifacts
-            referenceBuildinfo = getReference(null, buildinfoFile);
-            try (PrintWriter p = new PrintWriter(new BufferedWriter(
-                    new OutputStreamWriter(new 
FileOutputStream(referenceBuildinfo), StandardCharsets.UTF_8)))) {
-                BuildInfoWriter bi = new BuildInfoWriter(log, p, mono, 
artifactHandlerManager, rtInformation);
-
-                if (javaVersion != null || osName != null) {
-                    p.println("# effective build environment information");
-                    if (javaVersion != null) {
-                        p.println("java.version=" + javaVersion);
-                        log.info("Reference build java.version: " + 
javaVersion);
-                        if (!javaVersion.equals(currentJavaVersion)) {
-                            log.error("Current build java.version: " + 
currentJavaVersion);
-                        }
-                    }
-                    if (osName != null) {
-                        p.println("os.name=" + osName);
-                        log.info("Reference build os.name: " + osName);
-
-                        // check against current line separator
-                        if (!osName.equals(currentOsName)) {
-                            log.error("Current build os.name: " + 
currentOsName);
-                        }
-                        String expectedLs = osName.startsWith("Windows") ? 
"\r\n" : "\n";
-                        if (!expectedLs.equals(System.lineSeparator())) {
-                            log.warn("Current System.lineSeparator() does not 
match reference build OS");
-
-                            String ls = System.getProperty("line.separator");
-                            if (!ls.equals(System.lineSeparator())) {
-                                log.warn("System.lineSeparator() != 
System.getProperty( \"line.separator\" ): "
-                                        + "too late standard system property 
update...");
-                            }
-                        }
+        // generate buildinfo from reference artifacts
+        referenceBuildinfo = getReference(null, buildinfoFile);
+        try (PrintWriter p = new PrintWriter(new BufferedWriter(
+                new 
OutputStreamWriter(Files.newOutputStream(referenceBuildinfo.toPath()), 
StandardCharsets.UTF_8)))) {
+            BuildInfoWriter bi = new BuildInfoWriter(log, p, mono, 
artifactHandlerManager, rtInformation);
+
+            if (javaVersion != null || osName != null) {
+                p.println("# effective build environment information");
+                if (javaVersion != null) {
+                    p.println("java.version=" + javaVersion);
+                    log.info("Reference build java.version: " + javaVersion);
+                    if (!javaVersion.equals(currentJavaVersion)) {
+                        log.error("Current build java.version: " + 
currentJavaVersion);
                     }
                 }
+                if (osName != null) {
+                    p.println("os.name=" + osName);
+                    log.info("Reference build os.name: " + osName);
 
-                for (Map.Entry<Artifact, String> entry : artifacts.entrySet()) 
{
-                    Artifact artifact = entry.getKey();
-                    String prefix = entry.getValue();
-                    File referenceFile = referenceArtifacts.get(artifact);
-                    if (referenceFile != null) {
-                        bi.printFile(prefix, artifact.getGroupId(), 
referenceFile);
+                    // check against current line separator
+                    if (!osName.equals(currentOsName)) {
+                        log.error("Current build os.name: " + currentOsName);
+                    }
+                    String expectedLs = osName.startsWith("Windows") ? "\r\n" 
: "\n";
+                    if (!expectedLs.equals(System.lineSeparator())) {
+                        log.warn("Current System.lineSeparator() does not 
match reference build OS");
+
+                        String ls = System.getProperty("line.separator");
+                        if (!ls.equals(System.lineSeparator())) {
+                            log.warn("System.lineSeparator() != 
System.getProperty( \"line.separator\" ): "
+                                    + "too late standard system property 
update...");
+                        }
                     }
                 }
+            }
 
-                if (p.checkError()) {
-                    throw new MojoExecutionException("Write error to " + 
referenceBuildinfo);
+            for (Map.Entry<Artifact, String> entry : artifacts.entrySet()) {
+                Artifact artifact = entry.getKey();
+                String prefix = entry.getValue();
+                File referenceFile = referenceArtifacts.get(artifact);
+                if (referenceFile != null) {
+                    bi.printFile(prefix, artifact.getGroupId(), referenceFile);
                 }
+            }
 
-                log.info("Minimal buildinfo generated from downloaded 
artifacts: " + referenceBuildinfo);
-            } catch (IOException e) {
-                throw new MojoExecutionException("Error creating file " + 
referenceBuildinfo, e);
+            if (p.checkError()) {
+                throw new MojoExecutionException("Write error to " + 
referenceBuildinfo);
             }
+
+            log.info("Minimal buildinfo generated from downloaded artifacts: " 
+ referenceBuildinfo);
+        } catch (IOException e) {
+            throw new MojoExecutionException("Error creating file " + 
referenceBuildinfo, e);
         }
 
         return referenceBuildinfo;

Reply via email to