diff --git a/.github/workflows/linux_maven.yml b/.github/workflows/linux_maven.yml index cde026825..6e0324652 100644 --- a/.github/workflows/linux_maven.yml +++ b/.github/workflows/linux_maven.yml @@ -16,10 +16,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '21' distribution: 'adopt' cache: maven - name: Build with Maven diff --git a/.github/workflows/release_maven.yml b/.github/workflows/release_maven.yml index 8be273aa8..c77a0f178 100644 --- a/.github/workflows/release_maven.yml +++ b/.github/workflows/release_maven.yml @@ -13,10 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '21' distribution: 'adopt' cache: maven - name: Build and Deploy with Maven diff --git a/.github/workflows/windows_maven.yml b/.github/workflows/windows_maven.yml index 626bb6d3e..fab3e55b6 100644 --- a/.github/workflows/windows_maven.yml +++ b/.github/workflows/windows_maven.yml @@ -17,10 +17,10 @@ jobs: runs-on: windows-latest steps: - uses: actions/checkout@v3 - - name: Set up JDK 17 + - name: Set up JDK 21 uses: actions/setup-java@v3 with: - java-version: '17' + java-version: '21' distribution: 'adopt' cache: maven - name: Build with Maven diff --git a/README.md b/README.md index 7d67ee9c1..afd317253 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ the same way as e.g. your co-workers do with their Eclipse IDE. Compatibility ------------- -Compatible with NetBeans 12.0+ and JDK 17+. +Compatible with NetBeans 12.0+ and JDK 21+. Downloads --------- diff --git a/pom.xml b/pom.xml index 6cf65d883..32a56f97b 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,7 @@ de.funfried.netbeans.plugins externalcodeformatter - 1.15.5 + 1.15.6-SNAPSHOT nbm @@ -111,20 +111,21 @@ - 17 - 17 - 17 + 21 + 21 + 21 UTF-8 UTF-8 UTF-8 ${project.build.directory}/keystore - 1.23.0 - 2.50.0 + 1.30.0 + 2.81.0 0.4.0 - 3.17.0 + 3.19.0 RELEASE120 - 1.18.1 - 7.3.0 + 1.21.2 + 7.17.0 + 2.2.1 @@ -133,7 +134,7 @@ org.eclipse.platform org.eclipse.text - 3.14.100 + 3.14.400 org.eclipse.platform @@ -150,7 +151,7 @@ org.eclipse.jdt org.eclipse.jdt.core - 3.39.0 + 3.43.0 org.eclipse.platform @@ -167,7 +168,7 @@ de.funfried.libraries jsdt-core - 1.0.10 + 1.0.11 com.google.guava @@ -198,7 +199,7 @@ io.spring.javaformat spring-javaformat-formatter - 0.0.43 + 0.0.47 @@ -253,7 +254,7 @@ com.diffplug.spotless spotless-lib - 2.44.0 + 4.0.0 @@ -273,13 +274,13 @@ com.fasterxml.jackson.core jackson-core - 2.17.2 + 2.20.0 com.fasterxml.jackson.core jackson-databind - 2.17.2 + 2.20.0 @@ -299,7 +300,7 @@ com.manticore-projects.jsqlformatter jsqlformatter - 1.0.0 + 5.3 org.apache.commons @@ -309,9 +310,23 @@ org.graalvm.sdk graal-sdk + + org.glassfish + javax.json + + + com.github.jsqlparser + jsqlparser + + + com.github.jsqlparser + jsqlparser + 5.3 + + com.github.vertical-blank @@ -474,32 +489,57 @@ org.apache.commons commons-collections4 - 4.4 + 4.5.0 org.apache.commons commons-text - 1.12.0 + 1.14.0 commons-io commons-io - 2.17.0 + 2.20.0 commons-validator commons-validator - 1.9.0 + 1.10.0 + + + + + org.apache.maven.scm + maven-scm-api + ${scm.version} + + + + org.apache.maven.scm + maven-scm-provider-gitexe + ${scm.version} + + + + org.apache.maven.scm + maven-scm-provider-git-commons + ${scm.version} + + + + org.apache.maven.scm + maven-scm-provider-jgit + ${scm.version} com.google.guava guava - 33.3.1-jre + 33.5.0-jre @@ -524,12 +564,12 @@ org.apache.netbeans.utilities nbm-maven-plugin - 14.2 + 14.4 org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.14.1 org.apache.maven.plugins @@ -539,7 +579,7 @@ org.apache.maven.plugins maven-install-plugin - 3.1.3 + 3.1.4 org.apache.maven.plugins @@ -549,7 +589,7 @@ org.apache.maven.plugins maven-clean-plugin - 3.4.0 + 3.5.0 org.apache.maven.plugins @@ -559,7 +599,7 @@ org.apache.maven.plugins maven-deploy-plugin - 3.1.3 + 3.1.4 org.apache.maven.plugins @@ -594,17 +634,17 @@ org.apache.maven.plugins maven-gpg-plugin - 3.2.6 + 3.2.8 net.revelc.code.formatter formatter-maven-plugin - 2.24.1 + 2.29.0 org.apache.maven.plugins maven-site-plugin - 3.20.0 + 3.21.0 true @@ -612,12 +652,12 @@ org.apache.maven.skins maven-fluido-skin - 2.0.0-M10 + 2.0.1 org.apache.maven.doxia doxia-module-xdoc - 2.0.0-M12 + 2.0.0 @@ -629,12 +669,12 @@ org.apache.maven.plugins maven-project-info-reports-plugin - 3.7.0 + 3.9.0 org.apache.maven.plugins maven-javadoc-plugin - 3.10.0 + 3.12.0 true all,-missing @@ -660,7 +700,7 @@ org.codehaus.mojo versions-maven-plugin - 2.17.1 + 2.19.1 org.codehaus.mojo @@ -678,27 +718,27 @@ org.apache.maven.plugins maven-changelog-plugin - 2.3 + 3.0.0-M1 org.codehaus.mojo license-maven-plugin - 2.4.0 + 2.7.0 org.apache.maven.plugins maven-surefire-plugin - 3.5.0 + 3.5.4 org.apache.maven.plugins maven-dependency-plugin - 3.8.0 + 3.9.0 org.jacoco jacoco-maven-plugin - 0.8.12 + 0.8.14 de/funfried/netbeans/plugins/external/formatter/**/* @@ -717,12 +757,12 @@ org.apache.maven.plugins maven-jxr-plugin - 3.5.0 + 3.6.0 org.apache.maven.plugins maven-pmd-plugin - 3.24.0 + 3.28.0 net.sourceforge.pmd @@ -749,12 +789,12 @@ com.github.spotbugs spotbugs-maven-plugin - 4.8.6.4 + 4.9.7.0 org.owasp dependency-check-maven - 10.0.4 + 12.1.6 nvd-api-key false @@ -818,6 +858,7 @@ ${java.version} true true + full -J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED -J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED @@ -950,6 +991,17 @@ org.codehaus.mojo license-maven-plugin + + org.apache.maven.plugins + maven-changelog-plugin + + + org.apache.maven.scm + maven-scm-provider-jgit + ${scm.version} + + + org.apache.maven.plugins maven-dependency-plugin @@ -965,6 +1017,7 @@ org.apache.commons:commons-text org.osgi:org.osgi.service.prefs org.functionaljava:functionaljava + com.github.jsqlparser:jsqlparser @@ -984,6 +1037,14 @@ + + + + org.apache.maven.scm + maven-scm-provider-jgit + ${scm.version} + + @@ -1024,6 +1085,11 @@ org.apache.maven.plugins maven-changelog-plugin + + + jgit + + org.jacoco diff --git a/src/main/java/de/funfried/netbeans/plugins/external/formatter/sql/jsqlformatter/JSQLFormatterJob.java b/src/main/java/de/funfried/netbeans/plugins/external/formatter/sql/jsqlformatter/JSQLFormatterJob.java index 5daeeb2b0..84650b008 100644 --- a/src/main/java/de/funfried/netbeans/plugins/external/formatter/sql/jsqlformatter/JSQLFormatterJob.java +++ b/src/main/java/de/funfried/netbeans/plugins/external/formatter/sql/jsqlformatter/JSQLFormatterJob.java @@ -85,13 +85,16 @@ public void format() throws BadLocationException { private String[] getOptions(Preferences pref) { int i = 0; String[] options = new String[FormattingOption.values().length]; - options[i++] = toOption(pref, FormattingOption.OUTPUT_FORMAT, JSQLFormatter.getOutputFormat()); - options[i++] = toOption(pref, FormattingOption.KEYWORD_SPELLING, JSQLFormatter.getKeywordSpelling()); + options[i++] = toOption(pref, FormattingOption.BACKSLASH_QUOTING, JSQLFormatter.getBackSlashQuoting()); options[i++] = toOption(pref, FormattingOption.FUNCTION_SPELLING, JSQLFormatter.getFunctionSpelling()); - options[i++] = toOption(pref, FormattingOption.OBJECT_SPELLING, JSQLFormatter.getObjectSpelling()); options[i++] = toOption(pref, FormattingOption.INDENT_WIDTH, JSQLFormatter.getIndentWidth()); + options[i++] = toOption(pref, FormattingOption.KEYWORD_SPELLING, JSQLFormatter.getKeywordSpelling()); + options[i++] = toOption(pref, FormattingOption.OBJECT_SPELLING, JSQLFormatter.getObjectSpelling()); + options[i++] = toOption(pref, FormattingOption.OUTPUT_FORMAT, JSQLFormatter.getOutputFormat()); options[i++] = toOption(pref, FormattingOption.SEPARATION, JSQLFormatter.getSeparation()); + options[i++] = toOption(pref, FormattingOption.SHOW_LINE_NUMBERS, JSQLFormatter.ShowLineNumbers.NO); options[i++] = toOption(pref, FormattingOption.SQUARE_BRACKET_QUOTATION, JSQLFormatter.getSquaredBracketQuotation()); + options[i++] = toOption(pref, FormattingOption.STATEMENT_TERMINATOR, JSQLFormatter.getStatementTerminator()); return options; } diff --git a/src/main/java/de/funfried/netbeans/plugins/external/formatter/ui/customizer/ExternalFormatterCustomizerTab.java b/src/main/java/de/funfried/netbeans/plugins/external/formatter/ui/customizer/ExternalFormatterCustomizerTab.java index 7df7919cf..c31549af9 100644 --- a/src/main/java/de/funfried/netbeans/plugins/external/formatter/ui/customizer/ExternalFormatterCustomizerTab.java +++ b/src/main/java/de/funfried/netbeans/plugins/external/formatter/ui/customizer/ExternalFormatterCustomizerTab.java @@ -59,7 +59,8 @@ public class ExternalFormatterCustomizerTab implements ProjectCustomizer.Composi */ @Override public Category createCategory(Lookup lkp) { - return ProjectCustomizer.Category.create("external-format", Bundle.LBL_Config(), ImageUtilities.loadImage(Icons.EXTERNAL_FORMATTER_ICON_PATH, false)); + return ProjectCustomizer.Category.create("external-format", NbBundle.getMessage(ExternalFormatterCustomizerTab.class, "LBL_Config"), + ImageUtilities.loadImage(Icons.EXTERNAL_FORMATTER_ICON_PATH, false)); } /** @@ -105,7 +106,7 @@ private static class ValidationListener implements ChangeListener { /** * Creates a new instance of the {@link ValidationListener}. * - * @param category the {@link Category} where to update the validation + * @param category the {@link Category} where to update the validation * @param projectSpecificPanel the {@link ProjectSpecificSettingsPanel} where to check the validation */ private ValidationListener(Category category, ProjectSpecificSettingsPanel projectSpecificPanel) { diff --git a/src/main/nbm/manifest.mf b/src/main/nbm/manifest.mf index b93b248e7..4981982d1 100644 --- a/src/main/nbm/manifest.mf +++ b/src/main/nbm/manifest.mf @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module-Layer: de/funfried/netbeans/plugins/external/formatter/layer.xml OpenIDE-Module-Localizing-Bundle: de/funfried/netbeans/plugins/external/formatter/Bundle.properties -OpenIDE-Module-Java-Dependencies: Java > 17 +OpenIDE-Module-Java-Dependencies: Java > 21 diff --git a/src/site/site.xml b/src/site/site.xml index 393d41333..2c199362a 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -16,7 +16,7 @@ org.apache.maven.skins maven-fluido-skin - 1.11.1 + 2.0.1 diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml index a7b9c31aa..e8efa18df 100644 --- a/src/site/xdoc/index.xml +++ b/src/site/xdoc/index.xml @@ -93,7 +93,7 @@

- Compatible with NetBeans 12.0+ and JDK 17+. + Compatible with NetBeans 12.0+ and JDK 21+.

diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterServiceTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterServiceTest.java index c28fd31a4..a5a6fc2bc 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterServiceTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterServiceTest.java @@ -45,7 +45,8 @@ public void testFormat() throws Exception { + " \n" + " \n" + "
\n" - + "

some text

\"Some\n" + + "

some text

\n" + + " \"Some\n" + "
\n" + " \n" + "\n" diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterWrapperTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterWrapperTest.java index 886f6e794..5335236e9 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterWrapperTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/html/jsoup/JsoupHtmlFormatterWrapperTest.java @@ -38,7 +38,8 @@ public void testFormat() { + " \n" + " \n" + "
\n" - + "

some text

\"Some\n" + + "

some text

\n" + + " \"Some\n" + "
\n" + " \n" + ""; @@ -58,7 +59,8 @@ public void testFormatUsingLinefeed_CR() { + " \r" + " \r" + "
\r" - + "

some text

\"Some\r" + + "

some text

\r" + + " \"Some\r" + "
\r" + " \r" + ""; @@ -78,7 +80,8 @@ public void testFormatUsingLinefeed_LF() { + " \n" + " \n" + "
\n" - + "

some text

\"Some\n" + + "

some text

\n" + + " \"Some\n" + "
\n" + " \n" + ""; @@ -98,7 +101,8 @@ public void testFormatUsingLinefeed_CRLF() { + " \r\n" + " \r\n" + "
\r\n" - + "

some text

\"Some\r\n" + + "

some text

\r\n" + + " \"Some\r\n" + "
\r\n" + " \r\n" + ""; @@ -118,7 +122,8 @@ public void testNullFormatterConfig() { + " \n" + " \n" + "
\n" - + "

some text

\"Some\n" + + "

some text

\n" + + " \"Some\n" + "
\n" + " \n" + ""; diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/eclipse/EclipseJavaFormatterWrapperTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/eclipse/EclipseJavaFormatterWrapperTest.java index 9beaebecf..6741fb561 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/eclipse/EclipseJavaFormatterWrapperTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/eclipse/EclipseJavaFormatterWrapperTest.java @@ -247,7 +247,13 @@ public void testFormatUsingLinefeed_CRLF() { @Test public void testFormatSourceLevel_1dot3() { final String text = "package foo;public enum NewEmptyJUnitTest { A, B, C}"; - final String expected = null; + final String expected = "package foo;\n" + + "\n" + + "public enum NewEmptyJUnitTest {\n" + + " A,\n" + + " B,\n" + + " C\n" + + "}"; String actual = instance.format("src/test/resources/org.eclipse.jdt.core.prefs", null, text, Settings.getLineFeed("\\n", null), "1.3", null); Assert.assertEquals("Invalid source code for 1.3 - enum is not a keyword", expected, actual); @@ -256,7 +262,13 @@ public void testFormatSourceLevel_1dot3() { @Test public void testFormatSourceLevel_1dot4() { final String text = "package foo;public enum NewEmptyJUnitTest { A, B, C}"; - final String expected = null; + final String expected = "package foo;\n" + + "\n" + + "public enum NewEmptyJUnitTest {\n" + + " A,\n" + + " B,\n" + + " C\n" + + "}"; String actual = instance.format("src/test/resources/org.eclipse.jdt.core.prefs", null, text, Settings.getLineFeed("\\n", null), "1.4", null); Assert.assertEquals("Invalid source code for 1.4 - enum is not a keyword", expected, actual); diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/google/GoogleJavaFormatterWrapperTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/google/GoogleJavaFormatterWrapperTest.java index 4c07258f1..518feb49b 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/google/GoogleJavaFormatterWrapperTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/google/GoogleJavaFormatterWrapperTest.java @@ -9,6 +9,7 @@ */ package de.funfried.netbeans.plugins.external.formatter.java.google; +import java.util.Locale; import java.util.SortedSet; import java.util.TreeSet; @@ -28,6 +29,8 @@ public class GoogleJavaFormatterWrapperTest { @BeforeClass public static void setUpClass() { + Locale.setDefault(Locale.ENGLISH); + instance = new GoogleJavaFormatterWrapper(); } diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/palantir/PalantirJavaFormatterWrapperTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/palantir/PalantirJavaFormatterWrapperTest.java index 340caa270..1b8f3d314 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/palantir/PalantirJavaFormatterWrapperTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/java/palantir/PalantirJavaFormatterWrapperTest.java @@ -9,6 +9,7 @@ */ package de.funfried.netbeans.plugins.external.formatter.java.palantir; +import java.util.Locale; import java.util.SortedSet; import java.util.TreeSet; @@ -26,6 +27,8 @@ public class PalantirJavaFormatterWrapperTest { @BeforeClass public static void setUpClass() { + Locale.setDefault(Locale.ENGLISH); + instance = new PalantirJavaFormatterWrapper(); } diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterServiceTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterServiceTest.java index 1b51fdd3c..bf1882a23 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterServiceTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterServiceTest.java @@ -40,13 +40,9 @@ public void testFormat() throws Exception { final String expected = "\n" + "\n" + " \n" - + " \n" - + " val\n" - + " \n" + + " val\n" + " \n" - + " \n" - + " otherValue\n" - + " \n" + + " otherValue\n" + "\n" + ""; diff --git a/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterWrapperTest.java b/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterWrapperTest.java index 1e7218514..c81b8aa9f 100644 --- a/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterWrapperTest.java +++ b/src/test/java/de/funfried/netbeans/plugins/external/formatter/xml/jsoup/JsoupXmlFormatterWrapperTest.java @@ -34,13 +34,9 @@ public void testFormat() { final String expected = "\n" + "\n" + " \n" - + " \n" - + " val\n" - + " \n" + + " val\n" + " \n" - + " \n" - + " otherValue\n" - + " \n" + + " otherValue\n" + ""; String actual = instance.format(text, null, new Document.OutputSettings()); @@ -54,13 +50,9 @@ public void testFormatUsingLinefeed_CR() { final String expected = "\r" + "\r" + " \r" - + " \r" - + " val\r" - + " \r" + + " val\r" + " \r" - + " \r" - + " otherValue\r" - + " \r" + + " otherValue\r" + ""; String actual = instance.format(text, Settings.getLineFeed("\\r", null), new Document.OutputSettings()); @@ -74,13 +66,9 @@ public void testFormatUsingLinefeed_LF() { final String expected = "\n" + "\n" + " \n" - + " \n" - + " val\n" - + " \n" + + " val\n" + " \n" - + " \n" - + " otherValue\n" - + " \n" + + " otherValue\n" + ""; String actual = instance.format(text, Settings.getLineFeed("\\n", null), new Document.OutputSettings()); @@ -94,13 +82,9 @@ public void testFormatUsingLinefeed_CRLF() { final String expected = "\r\n" + "\r\n" + " \r\n" - + " \r\n" - + " val\r\n" - + " \r\n" + + " val\r\n" + " \r\n" - + " \r\n" - + " otherValue\r\n" - + " \r\n" + + " otherValue\r\n" + ""; String actual = instance.format(text, Settings.getLineFeed("\\r\\n", null), new Document.OutputSettings()); @@ -114,13 +98,9 @@ public void testNullFormatterConfig() { final String expected = "\n" + "\n" + " \n" - + " \n" - + " val\n" - + " \n" + + " val\n" + " \n" - + " \n" - + " otherValue\n" - + " \n" + + " otherValue\n" + ""; String actual = instance.format(text, null, null);