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

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


The following commit(s) were added to refs/heads/master by this push:
     new b57848a  [MJLINK-90] Make class more direct and simpler (#229)
b57848a is described below

commit b57848a942c13d142885ede5f9cc97f0e34b64b5
Author: Elliotte Rusty Harold <elh...@users.noreply.github.com>
AuthorDate: Sun Dec 8 11:59:51 2024 +0000

    [MJLINK-90] Make class more direct and simpler (#229)
    
    * simplify
---
 .../maven/plugins/jlink/AbstractJLinkMojo.java     | 48 -----------------
 .../org/apache/maven/plugins/jlink/JLinkMojo.java  | 63 +++++++++++++++-------
 2 files changed, 44 insertions(+), 67 deletions(-)

diff --git 
a/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java 
b/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java
index ce45942..28b419e 100644
--- a/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java
@@ -124,54 +124,6 @@ public abstract class AbstractJLinkMojo extends 
AbstractMojo {
         return session;
     }
 
-    /**
-     * Returns the archive file to generate, based on an optional classifier.
-     *
-     * @param basedir the output directory
-     * @param finalName the name of the ear file
-     * @param classifier an optional classifier
-     * @param archiveExt The extension of the file.
-     * @return the file to generate
-     */
-    protected File getArchiveFile(File basedir, String finalName, String 
classifier, String archiveExt) {
-        if (basedir == null) {
-            throw new IllegalArgumentException("basedir is not allowed to be 
null");
-        }
-        if (finalName == null) {
-            throw new IllegalArgumentException("finalName is not allowed to be 
null");
-        }
-        if (archiveExt == null) {
-            throw new IllegalArgumentException("archiveExt is not allowed to 
be null");
-        }
-
-        if (finalName.isEmpty()) {
-            throw new IllegalArgumentException("finalName is not allowed to be 
empty.");
-        }
-        if (archiveExt.isEmpty()) {
-            throw new IllegalArgumentException("archiveExt is not allowed to 
be empty.");
-        }
-
-        StringBuilder fileName = new StringBuilder(finalName);
-
-        if (hasClassifier(classifier)) {
-            fileName.append("-").append(classifier);
-        }
-
-        fileName.append('.');
-        fileName.append(archiveExt);
-
-        return new File(basedir, fileName.toString());
-    }
-
-    protected boolean hasClassifier(String classifier) {
-        boolean result = false;
-        if (classifier != null && !classifier.isEmpty()) {
-            result = true;
-        }
-
-        return result;
-    }
-
     /**
      * This will convert a module path separated by either {@code :} or {@code 
;} into a string which uses the platform
      * path separator uniformly.
diff --git a/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java 
b/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java
index b2704da..1bf5e2b 100644
--- a/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java
@@ -243,7 +243,7 @@ public class JLinkMojo extends AbstractJLinkMojo {
      * The byte order of the generated Java Run Time image. <code>--endian 
&lt;little|big&gt;</code>. If the endian is
      * not given the default is: <code>native</code>.
      */
-    // TODO: Should we define either little or big as default? or should we 
left as it.
+    // TODO: Should we define either little or big as default? or should we 
leave it as is?
     @Parameter
     private String endian;
 
@@ -273,14 +273,14 @@ public class JLinkMojo extends AbstractJLinkMojo {
     private boolean ignoreSigningInformation;
 
     /**
-     * This will suppress to have an <code>includes</code> directory in the 
resulting Java Run Time Image. The JLink
+     * This will omit an <code>includes</code> directory from the resulting 
Java Run Time Image. The JLink
      * command line equivalent is: <code>--no-header-files</code>
      */
     @Parameter(defaultValue = "false")
     private boolean noHeaderFiles;
 
     /**
-     * This will suppress to have the <code>man</code> directory in the 
resulting Java Run Time Image. The JLink command
+     * This will omit the <code>man</code> directory from the resulting Java 
Run Time Image. The JLink command
      * line equivalent is: <code>--no-man-pages</code>
      */
     @Parameter(defaultValue = "false")
@@ -345,8 +345,8 @@ public class JLinkMojo extends AbstractJLinkMojo {
     /**
      * Classifier to add to the artifact generated. If given, the artifact 
will be attached
      * as a supplemental artifact.
-     * If not given this will create the main artifact which is the default 
behavior.
-     * If you try to do that a second time without using a classifier the 
build will fail.
+     * If not given, this will create the main artifact which is the default 
behavior.
+     * If you try to do that a second time without using a classifier, the 
build will fail.
      */
     @Parameter
     private String classifier;
@@ -405,7 +405,7 @@ public class JLinkMojo extends AbstractJLinkMojo {
 
         ifOutputDirectoryExistsDelteIt();
 
-        JLinkExecutor jLinkExec = getExecutor();
+        JLinkExecutor jLinkExec = getJlinkExecutor();
         Collection<String> modulesToAdd = new ArrayList<>();
         if (addModules != null) {
             modulesToAdd.addAll(addModules);
@@ -548,10 +548,6 @@ public class JLinkMojo extends AbstractJLinkMojo {
         return modulepathElements;
     }
 
-    private JLinkExecutor getExecutor() {
-        return getJlinkExecutor();
-    }
-
     private boolean projectHasAlreadySetAnArtifact() {
         if (getProject().getArtifact().getFile() != null) {
             return getProject().getArtifact().getFile().isFile();
@@ -561,15 +557,10 @@ public class JLinkMojo extends AbstractJLinkMojo {
     }
 
     /**
-     * @return true in case where the classifier is not {@code null} and 
contains something else than white spaces.
+     * @return true when the classifier is not {@code null} and not empty
      */
-    protected boolean hasClassifier() {
-        boolean result = false;
-        if (getClassifier() != null && !getClassifier().isEmpty()) {
-            result = true;
-        }
-
-        return result;
+    private boolean hasClassifier() {
+        return hasClassifier(getClassifier());
     }
 
     private File createZipArchiveFromImage(File outputDirectory, File 
outputDirectoryImage)
@@ -582,7 +573,7 @@ public class JLinkMojo extends AbstractJLinkMojo {
             
zipArchiver.configureReproducibleBuild(FileTime.from(lastModified.get()));
         }
 
-        File resultArchive = getArchiveFile(outputDirectory, finalName, 
getClassifier(), "zip");
+        File resultArchive = getZipFile(outputDirectory, finalName, 
getClassifier());
 
         zipArchiver.setDestFile(resultArchive);
         try {
@@ -780,7 +771,41 @@ public class JLinkMojo extends AbstractJLinkMojo {
     /**
      * {@inheritDoc}
      */
+    @Override
     protected String getClassifier() {
         return classifier;
     }
+
+    /**
+     * Returns the archive file to generate, based on an optional classifier.
+     *
+     * @param basedir the output directory
+     * @param finalName the name of the zip file
+     * @param classifier an optional classifier
+     * @return the file to generate
+     */
+    private static File getZipFile(File basedir, String finalName, String 
classifier) {
+        if (finalName.isEmpty()) {
+            throw new IllegalArgumentException("finalName is not allowed to be 
empty.");
+        }
+
+        StringBuilder fileName = new StringBuilder(finalName);
+
+        if (hasClassifier(classifier)) {
+            fileName.append("-").append(classifier);
+        }
+
+        fileName.append(".zip");
+
+        return new File(basedir, fileName.toString());
+    }
+
+    private static boolean hasClassifier(String classifier) {
+        boolean result = false;
+        if (classifier != null && !classifier.isEmpty()) {
+            result = true;
+        }
+
+        return result;
+    }
 }

Reply via email to