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

elharo pushed a commit to branch close
in repository https://gitbox.apache.org/repos/asf/maven-jmod-plugin.git

commit b48e911e85403fd604de2f294633053298923d9e
Author: Elliotte Rusty Harold <elh...@ibiblio.org>
AuthorDate: Wed Dec 18 08:36:27 2024 -0500

    Use modern I/O
---
 .../apache/maven/plugins/jmod/JModCreateMojo.java  | 191 +++++++++++----------
 .../maven/plugins/jmod/JModDescribeMojo.java       |  25 +--
 .../apache/maven/plugins/jmod/JModListMojo.java    |  19 +-
 3 files changed, 123 insertions(+), 112 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/jmod/JModCreateMojo.java 
b/src/main/java/org/apache/maven/plugins/jmod/JModCreateMojo.java
index 8a40aec..5610d87 100644
--- a/src/main/java/org/apache/maven/plugins/jmod/JModCreateMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jmod/JModCreateMojo.java
@@ -22,7 +22,8 @@ import javax.inject.Inject;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.PrintStream;
+import java.io.Writer;
+import java.nio.file.Files;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -490,114 +491,122 @@ public class JModCreateMojo extends AbstractJModMojo {
         file.getParentFile().mkdirs();
         file.createNewFile();
 
-        PrintStream argsFile = new PrintStream(file);
+        try (Writer out = Files.newBufferedWriter(file.toPath())) {
+            out.write("create\n");
 
-        argsFile.println("create");
-
-        if (moduleVersion != null) {
-            argsFile.println("--module-version");
-            argsFile.println(moduleVersion);
-        }
+            if (moduleVersion != null) {
+                out.write("--module-version\n");
+                out.write(moduleVersion);
+                out.write('\n');
+            }
 
-        List<String> classPaths;
-        if (classpathElements != null) {
-            classPaths = new ArrayList<>(classpathElements);
-        } else {
-            classPaths = new ArrayList<>(1);
-        }
-        if (targetClassesDirectory.exists()) {
-            classPaths.add(targetClassesDirectory.getAbsolutePath());
-        }
+            List<String> classPaths;
+            if (classpathElements != null) {
+                classPaths = new ArrayList<>(classpathElements);
+            } else {
+                classPaths = new ArrayList<>(1);
+            }
+            if (targetClassesDirectory.exists()) {
+                classPaths.add(targetClassesDirectory.getAbsolutePath());
+            }
 
-        argsFile.println("--class-path");
-        argsFile.append('"')
-                .append(getPlatformSeparatedList(classPaths).replace("\\", 
"\\\\"))
-                .println('"');
-
-        if (excludes != null && !excludes.isEmpty()) {
-            argsFile.println("--exclude");
-            String commaSeparatedList = getCommaSeparatedList(excludes);
-            argsFile.append('"')
-                    .append(commaSeparatedList.replace("\\", "\\\\"))
-                    .println('"');
-        }
+            out.write("--class-path\n");
+            out.write('"');
+            out.write(getPlatformSeparatedList(classPaths).replace("\\", 
"\\\\"));
+            out.write("\"\n");
+
+            if (excludes != null && !excludes.isEmpty()) {
+                out.write("--exclude\n");
+                String commaSeparatedList = getCommaSeparatedList(excludes);
+                out.write('"');
+                out.write(commaSeparatedList.replace("\\", "\\\\"));
+                out.write("\"\n");
+            }
 
-        List<String> configList = handleConfigurationListWithDefault(configs, 
DEFAULT_CONFIG_DIRECTORY);
-        if (!configList.isEmpty()) {
-            argsFile.println("--config");
-            // Should we quote the paths?
-            argsFile.println(getPlatformSeparatedList(configList));
-        }
+            List<String> configList = 
handleConfigurationListWithDefault(configs, DEFAULT_CONFIG_DIRECTORY);
+            if (!configList.isEmpty()) {
+                out.write("--config\n");
+                out.write(getPlatformSeparatedList(configList));
+                out.write('\n');
+            }
 
-        if (StringUtils.isNotBlank(mainClass)) {
-            argsFile.println("--main-class");
-            argsFile.println(mainClass);
-        }
+            if (StringUtils.isNotBlank(mainClass)) {
+                out.write("--main-class\n");
+                out.write(mainClass);
+                out.write('\n');
+            }
 
-        List<String> cmdsList = handleConfigurationListWithDefault(cmds, 
DEFAULT_CMD_DIRECTORY);
-        if (!cmdsList.isEmpty()) {
-            argsFile.println("--cmds");
-            argsFile.println(getPlatformSeparatedList(cmdsList));
-        }
+            List<String> cmdsList = handleConfigurationListWithDefault(cmds, 
DEFAULT_CMD_DIRECTORY);
+            if (!cmdsList.isEmpty()) {
+                out.write("--cmds\n");
+                out.write(getPlatformSeparatedList(cmdsList));
+                out.write('\n');
+            }
 
-        List<String> libsList = handleConfigurationListWithDefault(libs, 
DEFAULT_LIB_DIRECTORY);
-        if (!libsList.isEmpty()) {
-            argsFile.println("--libs");
-            argsFile.println(getPlatformSeparatedList(libsList));
-        }
+            List<String> libsList = handleConfigurationListWithDefault(libs, 
DEFAULT_LIB_DIRECTORY);
+            if (!libsList.isEmpty()) {
+                out.write("--libs");
+                out.write(getPlatformSeparatedList(libsList));
+                out.write('\n');
+            }
 
-        List<String> headerFilesList = 
handleConfigurationListWithDefault(headerFiles, DEFAULT_HEADER_FILES_DIRECTORY);
-        if (!headerFilesList.isEmpty()) {
-            argsFile.println("--header-files");
-            argsFile.println(getPlatformSeparatedList(headerFilesList));
-        }
+            List<String> headerFilesList =
+                    handleConfigurationListWithDefault(headerFiles, 
DEFAULT_HEADER_FILES_DIRECTORY);
+            if (!headerFilesList.isEmpty()) {
+                out.write("--header-files\n");
+                out.write(getPlatformSeparatedList(headerFilesList));
+                out.write('\n');
+            }
 
-        List<String> legalNoticesList =
-                handleConfigurationListWithDefault(legalNotices, 
DEFAULT_LEGAL_NOTICES_DIRECTORY);
-        if (!legalNoticesList.isEmpty()) {
-            argsFile.println("--legal-notices");
-            argsFile.println(getPlatformSeparatedList(legalNoticesList));
-        }
+            List<String> legalNoticesList =
+                    handleConfigurationListWithDefault(legalNotices, 
DEFAULT_LEGAL_NOTICES_DIRECTORY);
+            if (!legalNoticesList.isEmpty()) {
+                out.write("--legal-notices\n");
+                out.write(getPlatformSeparatedList(legalNoticesList));
+                out.write('\n');
+            }
 
-        List<String> manPagesList = 
handleConfigurationListWithDefault(manPages, DEFAULT_MAN_PAGES_DIRECTORY);
-        if (!manPagesList.isEmpty()) {
-            argsFile.println("--man-pages");
-            argsFile.println(getPlatformSeparatedList(manPagesList));
-        }
+            List<String> manPagesList = 
handleConfigurationListWithDefault(manPages, DEFAULT_MAN_PAGES_DIRECTORY);
+            if (!manPagesList.isEmpty()) {
+                out.write("--man-pages\n");
+                out.write(getPlatformSeparatedList(manPagesList));
+                out.write('\n');
+            }
 
-        List<String> modulePaths = new ArrayList<>(modulepathElements);
-        modulePaths.add(new File(javaHome, JMODS).getAbsolutePath());
+            List<String> modulePaths = new ArrayList<>(modulepathElements);
+            modulePaths.add(new File(javaHome, JMODS).getAbsolutePath());
 
-        if (modulePaths != null) {
-            // @formatter:off
-            argsFile.println("--module-path");
-            argsFile.append('"')
-                    
.append(getPlatformSeparatedList(modulePaths).replace("\\", "\\\\"))
-                    .println('"');
-            // @formatter:off
-        }
+            if (modulePaths != null) {
+                out.write("--module-path\n");
+                out.write('"');
+                out.write(getPlatformSeparatedList(modulePaths).replace("\\", 
"\\\\"));
+                out.write("\"\n");
+            }
 
-        if (targetPlatform != null) {
-            argsFile.println("--target-platform");
-            argsFile.println(targetPlatform);
-        }
+            if (targetPlatform != null) {
+                out.write("--target-platform\n");
+                out.write(targetPlatform);
+                out.write('\n');
+            }
 
-        if (warnIfResolved != null) {
-            argsFile.println("--warn-if-resolved");
-            argsFile.println(warnIfResolved);
-        }
+            if (warnIfResolved != null) {
+                out.write("--warn-if-resolved\n");
+                out.write(warnIfResolved);
+                out.write('\n');
+            }
 
-        if (doNotResolveByDefault) {
-            argsFile.println("--do-not-resolve-by-default");
-        }
+            if (doNotResolveByDefault) {
+                out.write("--do-not-resolve-by-default\n");
+            }
 
-        argsFile.println(resultingJModFile.getAbsolutePath());
-        argsFile.close();
+            out.write(resultingJModFile.getAbsolutePath());
+            out.write('\n');
 
-        Commandline cmd = new Commandline();
-        cmd.createArg().setValue('@' + file.getAbsolutePath());
+            Commandline cmd = new Commandline();
+            cmd.createArg().setValue('@' + file.getAbsolutePath());
 
-        return cmd;
+            return cmd;
+        }
     }
 
     private boolean isConfigurationDefinedInPOM(List<String> configuration) {
diff --git a/src/main/java/org/apache/maven/plugins/jmod/JModDescribeMojo.java 
b/src/main/java/org/apache/maven/plugins/jmod/JModDescribeMojo.java
index 01589f5..597b4ba 100644
--- a/src/main/java/org/apache/maven/plugins/jmod/JModDescribeMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jmod/JModDescribeMojo.java
@@ -22,7 +22,8 @@ import javax.inject.Inject;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.PrintStream;
+import java.io.Writer;
+import java.nio.file.Files;
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -45,7 +46,7 @@ public class JModDescribeMojo extends AbstractJModMojo {
     private File outputDirectory;
 
     /**
-     * The name of the jmod file which is used to be examined via <code>jmod 
describe jmodFile</code>
+     * The name of the jmod file which is examined via <code>jmod describe 
jmodFile</code>
      */
     // @formatter:off
     @Parameter(
@@ -69,7 +70,7 @@ public class JModDescribeMojo extends AbstractJModMojo {
             throw new MojoFailureException("Unable to find jmod command: " + 
e.getMessage(), e);
         }
 
-        getLog().info("Toolchain in maven-jmod-plugin: jmod [ " + 
jModExecutable + " ]");
+        getLog().debug("Toolchain in maven-jmod-plugin: jmod [ " + 
jModExecutable + " ]");
 
         if (!jmodFile.exists() || !jmodFile.isFile()) {
             throw new MojoFailureException("Unable to find " + 
jmodFile.getAbsolutePath());
@@ -87,7 +88,7 @@ public class JModDescribeMojo extends AbstractJModMojo {
         executeCommand(cmd, outputDirectory);
     }
 
-    private Commandline createJModDescribeCommandLine(File resultingJModFile) 
throws IOException {
+    protected Commandline createJModDescribeCommandLine(File 
resultingJModFile) throws IOException {
         File file = new File(outputDirectory, "jmodDescribeArgs");
         if (!getLog().isDebugEnabled()) {
             file.deleteOnExit();
@@ -95,16 +96,16 @@ public class JModDescribeMojo extends AbstractJModMojo {
         file.getParentFile().mkdirs();
         file.createNewFile();
 
-        PrintStream argsFile = new PrintStream(file);
+        try (Writer out = Files.newBufferedWriter(file.toPath())) {
+            out.write("describe\n");
 
-        argsFile.println("describe");
+            out.write(resultingJModFile.getAbsolutePath());
+            out.write("\n");
 
-        argsFile.println(resultingJModFile.getAbsolutePath());
-        argsFile.close();
+            Commandline cmd = new Commandline();
+            cmd.createArg().setValue('@' + file.getAbsolutePath());
 
-        Commandline cmd = new Commandline();
-        cmd.createArg().setValue('@' + file.getAbsolutePath());
-
-        return cmd;
+            return cmd;
+        }
     }
 }
diff --git a/src/main/java/org/apache/maven/plugins/jmod/JModListMojo.java 
b/src/main/java/org/apache/maven/plugins/jmod/JModListMojo.java
index a2ddd7f..133fa38 100644
--- a/src/main/java/org/apache/maven/plugins/jmod/JModListMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jmod/JModListMojo.java
@@ -22,7 +22,8 @@ import javax.inject.Inject;
 
 import java.io.File;
 import java.io.IOException;
-import java.io.PrintStream;
+import java.io.Writer;
+import java.nio.file.Files;
 
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -95,16 +96,16 @@ public class JModListMojo extends AbstractJModMojo {
         file.getParentFile().mkdirs();
         file.createNewFile();
 
-        PrintStream argsFile = new PrintStream(file);
+        try (Writer out = Files.newBufferedWriter(file.toPath())) {
+            out.write("list\n");
 
-        argsFile.println("list");
+            out.write(resultingJModFile.getAbsolutePath());
+            out.write("\n");
 
-        argsFile.println(resultingJModFile.getAbsolutePath());
-        argsFile.close();
+            Commandline cmd = new Commandline();
+            cmd.createArg().setValue('@' + file.getAbsolutePath());
 
-        Commandline cmd = new Commandline();
-        cmd.createArg().setValue('@' + file.getAbsolutePath());
-
-        return cmd;
+            return cmd;
+        }
     }
 }

Reply via email to