From 52bbccc23b79242e411aa39f505d0de6bcf7a9ab Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Sat, 7 Dec 2024 16:21:53 +0000 Subject: [PATCH] [MJLINK-87] Inline one line utility methods (#226) * Inline one line utility --- .../plugins/jlink/AbstractJLinkMojo.java | 23 +----------- .../apache/maven/plugins/jlink/JLinkMojo.java | 10 ++--- .../plugins/jlink/AbstractJLinkMojoTest.java | 37 ------------------- 3 files changed, 6 insertions(+), 64 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 3cd3460d..ce459424 100644 --- a/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java +++ b/src/main/java/org/apache/maven/plugins/jlink/AbstractJLinkMojo.java @@ -39,7 +39,6 @@ import java.io.File; import java.lang.reflect.Method; -import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Optional; @@ -57,7 +56,7 @@ public abstract class AbstractJLinkMojo extends AbstractMojo { /** *

- * Specify the requirements for this jdk toolchain. This overrules the toolchain selected by the + * Specify the requirements for this JDK toolchain. This overrules the toolchain selected by the * maven-toolchain-plugin. *

* note: requires at least Maven 3.3.1 @@ -193,24 +192,4 @@ protected StringBuilder convertSeparatedModulePathToPlatformSeparatedModulePath( } return sb; } - - /** - * Convert a list into a string which is separated by the platform path separator. - * - * @param modulePaths the list of elements - * @return the string which contains the elements separated by {@link File#pathSeparatorChar}. - */ - protected String getPlatformDependSeparateList(Collection modulePaths) { - return String.join(Character.toString(File.pathSeparatorChar), modulePaths); - } - - /** - * Convert a list of modules into a comma separated string. - * - * @param modules the list of modules - * @return the string with the module list which is separated by {@code ,} - */ - protected String getCommaSeparatedList(Collection modules) { - return String.join(",", modules); - } } 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 93c5e01a..2458017f 100644 --- a/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java +++ b/src/main/java/org/apache/maven/plugins/jlink/JLinkMojo.java @@ -705,7 +705,7 @@ protected List createJlinkArgs(Collection pathsOfModules, Collec if (pathsOfModules != null && !pathsOfModules.isEmpty()) { // @formatter:off jlinkArgs.add("--module-path"); - jlinkArgs.add(getPlatformDependSeparateList(pathsOfModules).replace("\\", "\\\\")); + jlinkArgs.add(String.join(File.pathSeparator, pathsOfModules).replace("\\", "\\\\")); // @formatter:off } @@ -719,7 +719,7 @@ protected List createJlinkArgs(Collection pathsOfModules, Collec if (hasLimitModules()) { jlinkArgs.add("--limit-modules"); - String sb = getCommaSeparatedList(limitModules); + String sb = String.join(",", limitModules); jlinkArgs.add(sb); } @@ -727,7 +727,7 @@ protected List createJlinkArgs(Collection pathsOfModules, Collec jlinkArgs.add("--add-modules"); // This must be name of the module and *NOT* the name of the // file! Can we somehow pre check this information to fail early? - String sb = getCommaSeparatedList(modulesToAdd); + String sb = String.join(",", modulesToAdd); jlinkArgs.add(sb.replace("\\", "\\\\")); } @@ -735,7 +735,7 @@ protected List createJlinkArgs(Collection pathsOfModules, Collec jlinkArgs.add("--add-modules"); jlinkArgs.add("jdk.localedata"); jlinkArgs.add("--include-locales"); - String sb = getCommaSeparatedList(includeLocales); + String sb = String.join(",", includeLocales); jlinkArgs.add(sb); } @@ -757,7 +757,7 @@ protected List createJlinkArgs(Collection pathsOfModules, Collec // NOTE: suggestProviders is a terminal JlinkTask, so must be at the end! if (hasSuggestProviders()) { jlinkArgs.add("--suggest-providers"); - String sb = getCommaSeparatedList(suggestProviders); + String sb = String.join(",", suggestProviders); jlinkArgs.add(sb); } diff --git a/src/test/java/org/apache/maven/plugins/jlink/AbstractJLinkMojoTest.java b/src/test/java/org/apache/maven/plugins/jlink/AbstractJLinkMojoTest.java index fc82183e..62b0a718 100644 --- a/src/test/java/org/apache/maven/plugins/jlink/AbstractJLinkMojoTest.java +++ b/src/test/java/org/apache/maven/plugins/jlink/AbstractJLinkMojoTest.java @@ -38,8 +38,6 @@ */ import java.io.File; -import java.util.Arrays; -import java.util.Collections; import org.apache.maven.plugin.logging.Log; import org.junit.jupiter.api.BeforeEach; @@ -91,39 +89,4 @@ public void convertUsingMultipleDelimitersShouldReturnTwoCharactersSeparatedByPa StringBuilder result = mojoMock.convertSeparatedModulePathToPlatformSeparatedModulePath("x:a::"); assertThat(result).hasToString("x" + File.pathSeparatorChar + "a"); } - - @Test - @DisplayName("getPlatformDependSeparateList() should return a single character") - public void getPlatformDependSeparateListShouldReturnASingleCharacter() { - String result = mojoMock.getPlatformDependSeparateList(Collections.singletonList("A")); - assertThat(result).isEqualTo("A"); - } - - @Test - @DisplayName("getPlatformDependSeparateList() should return two characters separated") - public void getPlatformDependSeparateListShouldReturnTwoCharactersSeparated() { - String result = mojoMock.getPlatformDependSeparateList(Arrays.asList("A", "B")); - assertThat(result).isEqualTo("A" + File.pathSeparatorChar + "B"); - } - - @Test - @DisplayName("getPlatformDependSeparateList() should return three characters separated") - public void getPlatformDependSeparateListShouldReturnThreeCharactersSeparated() { - String result = mojoMock.getPlatformDependSeparateList(Arrays.asList("A", "B", "C")); - assertThat(result).isEqualTo("A" + File.pathSeparatorChar + "B" + File.pathSeparatorChar + "C"); - } - - @Test - @DisplayName("getCommaSeparatedList() should return a single character") - public void getCommaSeparatedListShouldReturnASingleCharacter() { - String result = mojoMock.getCommaSeparatedList(Collections.singletonList("A")); - assertThat(result).isEqualTo("A"); - } - - @Test - @DisplayName("getCommaSeparatedList() should return two characters separated by comma") - public void getCommaSeparatedListShouldReturnTwoCharactersSeparatedByComma() { - String result = mojoMock.getCommaSeparatedList(Arrays.asList("A", "B")); - assertThat(result).isEqualTo("A,B"); - } }