This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/johnzon.git
The following commit(s) were added to refs/heads/master by this push: new 039fe142 update maven plugins (#96) 039fe142 is described below commit 039fe142944de529fbe8c84badea67b848dc2ff8 Author: Samael <singingb...@hotmail.com> AuthorDate: Mon Nov 14 16:04:14 2022 +0000 update maven plugins (#96) * Update Maven Plugins (except those from base pom) * Fix Javadoc errors * Replace findbugs with spotbugs --- .github/workflows/maven.yml | 3 - .../org/apache/johnzon/jsonb/JsonbRecordTest.java | 2 +- .../java/org/apache/johnzon/mapper/Adapter.java | 10 +- .../org/apache/johnzon/mapper/JohnzonRecord.java | 2 +- .../mapper/internal/JsonPointerTracker.java | 2 +- .../org/apache/johnzon/mapper/util/BeanUtil.java | 10 +- johnzon-maven-plugin/pom.xml | 26 ++- johnzon-osgi/pom.xml | 4 + johnzon-websocket/pom.xml | 7 - pom.xml | 202 ++++++++++++--------- 10 files changed, 157 insertions(+), 111 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 8a0ad739..4fe88968 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -26,6 +26,3 @@ jobs: env: MAVEN_OPTS: -Dmaven.artifact.threads=64 run: mvn -V package --no-transfer-progress - - #- name: Maven javadoc - # run: mvn javadoc:javadoc -Ddoclint=all --no-transfer-progress diff --git a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java index 81e28e3d..8560ee9c 100644 --- a/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java +++ b/johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/JsonbRecordTest.java @@ -46,7 +46,7 @@ public class JsonbRecordTest { private final String name; public Record(@JohnzonRecord.Name("age") final int age, - @JohnzonRecord.Name("name") @JsonbProperty("_name") final String name) { // simulate custom constructor + @JohnzonRecord.Name("name") @JsonbProperty("_name") final String name) { // simulate custom constructor this.age = age; this.name = name; } diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Adapter.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Adapter.java index abbd25c7..0ffad873 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Adapter.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/Adapter.java @@ -29,25 +29,23 @@ package org.apache.johnzon.mapper; * Our {@code Mapper} should treat it as a {@code java.util.Date}. * For doing so we create a {@code DateHolderAdapter} like the following example shows: * <pre> - * {@code - * public static class DateHolderAdapter implements Adapter<DateHolder, Date> { - * @Override + * {@code public static class DateHolderAdapter implements Adapter<DateHolder, Date>} { + * {@code @Override} * public DateHolder to(Date date) { * DateHolder dh = new DateHolder(date.getTime()); * return dh; * } * - * @Override + * {@code @Override} * public Date from(DateHolder dateHolder) { * return new Date(dateHolder.getDate()); * } * } - * } * </pre> * * Consider a POJO has a DateHolder. * When serialising the {@code Mapper} will first use the {@code DateHolderAdapter#from(DateHolder)} and from there to JSON. - * When reading JSON the {@code to(Date}} method will be used. + * When reading JSON the {@code to(Date)} method will be used. * * @param <POJO_TYPE> The Java type in the POJO (Plain Old Java Object) * @param <JSON_TYPE> The Java Type which will be used to transform to JSON. diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonRecord.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonRecord.java index d57a0b8c..8516a0f1 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonRecord.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/JohnzonRecord.java @@ -28,7 +28,7 @@ import java.lang.annotation.Target; /** * Forces method named as properties to be used as getters (String foo() will match the attribute foo). * Also enables a constructor with all properties even if not marked as @ConstructorProperties or equivalent. - * It simulates java >= 14 record style. + * It simulates Java 14+ records. */ @Target({ TYPE }) @Retention(RUNTIME) diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/internal/JsonPointerTracker.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/internal/JsonPointerTracker.java index c6d3495e..bd123d6e 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/internal/JsonPointerTracker.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/internal/JsonPointerTracker.java @@ -45,7 +45,7 @@ public class JsonPointerTracker { /** * For Arrays and Lists. * - * @param jsonPointer + * @param jsonPointer the json node * @param i current counter number */ public JsonPointerTracker(JsonPointerTracker jsonPointer, int i) { diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/util/BeanUtil.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/util/BeanUtil.java index 0fd93ac8..5b8fda92 100644 --- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/util/BeanUtil.java +++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/util/BeanUtil.java @@ -30,7 +30,7 @@ public final class BeanUtil { /** * Calculate the name of a getter based on the name of it's field and the type * - * @param fieldName + * @param fieldName of the field * @param type of the field * @return "get" or "is" method name for the field */ @@ -44,7 +44,7 @@ public final class BeanUtil { /** * Calculate the name of a setter based on the name of it's field * - * @param fieldName + * @param fieldName of the field * @return "set" method name for the field */ public static String setterName(String fieldName) { @@ -64,9 +64,9 @@ public final class BeanUtil { } /** - * capitalize according to java beans specification. - * That is start the given field with a lower case, but only if the 2nd char is not also an uppercase character - * Enabled -> enabled, but URL will remain URL. + * decapitalize according to java beans specification. + * That is start the given field with a lower case, but only if the 2nd char is not also an uppercase character. + * eg; "Enabled" will become "enabled", but "URL" will remain "URL". */ public static String decapitalize(String name) { if (name == null || name.length() == 0) { diff --git a/johnzon-maven-plugin/pom.xml b/johnzon-maven-plugin/pom.xml index 899dafc6..2473a1fd 100644 --- a/johnzon-maven-plugin/pom.xml +++ b/johnzon-maven-plugin/pom.xml @@ -31,7 +31,7 @@ <packaging>maven-plugin</packaging> <properties> - <maven.version>3.0.5</maven.version> + <maven.version>3.6.0</maven.version> </properties> @@ -68,16 +68,36 @@ <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>${maven.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-artifact</artifactId> + <version>${maven.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-model</artifactId> + <version>${maven.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> <version>${maven.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-settings</artifactId> + <version>${maven.version}</version> + <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.maven.plugin-tools</groupId> <artifactId>maven-plugin-annotations</artifactId> - <version>3.4</version> + <version>${maven.version}</version> </dependency> </dependencies> @@ -86,7 +106,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> - <version>3.4</version> + <version>3.7.0</version> <executions> <execution> <id>mojo-descriptor</id> diff --git a/johnzon-osgi/pom.xml b/johnzon-osgi/pom.xml index 7c4e041f..d9cfc96d 100644 --- a/johnzon-osgi/pom.xml +++ b/johnzon-osgi/pom.xml @@ -29,6 +29,10 @@ <name>Johnzon :: Support for OSGI Jaxrs Whiteboard</name> <packaging>bundle</packaging> + <properties> + <maven.javadoc.skip>true</maven.javadoc.skip> + </properties> + <dependencies> <dependency> <groupId>org.apache.aries.component-dsl</groupId> diff --git a/johnzon-websocket/pom.xml b/johnzon-websocket/pom.xml index 1dc39f11..f6d030a1 100644 --- a/johnzon-websocket/pom.xml +++ b/johnzon-websocket/pom.xml @@ -144,13 +144,6 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> diff --git a/pom.xml b/pom.xml index 7af69dc6..13dfe016 100644 --- a/pom.xml +++ b/pom.xml @@ -33,22 +33,25 @@ <name>Apache Johnzon</name> <description>Apache Johnzon is an implementation of JSR-353 (JavaTM API for JSON Processing).</description> <inceptionYear>2014</inceptionYear> - <url>http://johnzon.apache.org</url> + <url>https://johnzon.apache.org</url> <properties> - <geronimo-jsonp.version>1.5</geronimo-jsonp.version> - <geronimo-jsonb.version>1.4</geronimo-jsonb.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.build.outputTimestamp>10</project.build.outputTimestamp> + <maven.compiler.source>1.8</maven.compiler.source> + <maven.compiler.target>1.8</maven.compiler.target> + + <geronimo-jsonp.version>1.5</geronimo-jsonp.version> + <geronimo-jsonb.version>1.4</geronimo-jsonb.version> <johnzon.site.url>https://svn.apache.org/repos/asf/johnzon/site/publish/</johnzon.site.url> <pubsub.url>scm:svn:${johnzon.site.url}</pubsub.url> <staging.directory>${project.build.directory}/site</staging.directory> <felix.plugin.version>5.1.8</felix.plugin.version> <bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy> <bnd.version>6.1.0</bnd.version> - <java-compile.version>1.8</java-compile.version> <cxf.version>3.4.1</cxf.version> - <checkstyle.version>2.15</checkstyle.version> <!-- checkstyle > 2.15 version do not support java 6 --> + <checkstyle.version>3.0.0</checkstyle.version> <!-- Increasing checkstyle to 3.1 or above will require changes to the checkstyleRules --> <!-- JVM values for surefire plugin --> <surefire.jvm.params>-Xms1024m -Xmx2048m -Dfile.encoding=UTF-8</surefire.jvm.params> <owb.version>2.0.23</owb.version> @@ -78,6 +81,18 @@ <version>${geronimo-jsonb.version}</version> <scope>provided</scope> </dependency> + <dependency> + <groupId>org.apache.geronimo.specs</groupId> + <artifactId>geronimo-json_1.1_spec</artifactId> + <version>${geronimo-jsonp.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.13.2</version> + <scope>test</scope> + </dependency> </dependencies> </dependencyManagement> @@ -85,14 +100,12 @@ <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-json_1.1_spec</artifactId> - <version>${geronimo-jsonp.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <version>4.13.1</version> <scope>test</scope> </dependency> </dependencies> @@ -100,10 +113,50 @@ <build> <pluginManagement> <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.10.1</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + <version>3.2.1</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.4.1</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-enforcer-plugin</artifactId> + <version>3.1.0</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <version>3.0.0-M7</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-report-plugin</artifactId> + <version>3.0.0-M7</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>3.12.1</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-release-plugin</artifactId> + <version>3.0.0-M6</version> + </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> - <version>3.2.3</version> + <version>3.4.1</version> <executions> <execution> <id>jakarta</id> @@ -164,16 +217,64 @@ </execution> </executions> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <version>${checkstyle.version}</version> + </plugin> + <plugin> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> + <!-- todo: Update spotbugs-maven-plugin to v4: https://spotbugs.readthedocs.io/en/stable/migration.html --> + <version>3.1.12.2</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-pmd-plugin</artifactId> + <version>3.19.0</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>3.4.1</version> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>versions-maven-plugin</artifactId> + <version>2.13.0</version> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>taglist-maven-plugin</artifactId> + <version>3.0.0</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-changelog-plugin</artifactId> + <version>2.3</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-changes-plugin</artifactId> + <version>2.12.1</version> + </plugin> + + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <version>${felix.plugin.version}</version> + </plugin> </plugins> </pluginManagement> + <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> - <source>${java-compile.version}</source> - <target>${java-compile.version}</target> - <encoding>UTF-8</encoding> + <source>${maven.compiler.source}</source> + <target>${maven.compiler.target}</target> + <encoding>${project.build.sourceEncoding}</encoding> <showDeprecation>true</showDeprecation> <showWarnings>true</showWarnings> </configuration> @@ -239,7 +340,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <version>3.5.1</version> <configuration> <stagingDirectory>${staging.directory}</stagingDirectory> </configuration> @@ -260,7 +360,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> - <version>${checkstyle.version}</version> <executions> <execution> <id>verify-style</id> @@ -375,7 +474,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>3.2.0</version> <executions> <execution> <id>attach-javadocs</id> @@ -387,8 +485,8 @@ <detectJavaApiLink>false</detectJavaApiLink> <detectLinks>false</detectLinks> <detectOfflineLinks>false</detectOfflineLinks> - <doclint>none</doclint> - <source>8</source> + <doclint>all,-missing</doclint> + <source>${maven.compiler.source}</source> </configuration> </execution> </executions> @@ -397,7 +495,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> - <version>3.0.0-M3</version> <configuration> <argLine>${surefire.jvm.params}</argLine> <trimStackTrace>false</trimStackTrace> @@ -415,27 +512,6 @@ </configuration> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - <version>2.6</version> - <configuration> - <instrumentation> - <ignores> - <ignore>org.apache.johnzon.maven.*</ignore> - </ignores> - <excludes> - <exclude>org/apache/johnzon/**/*Mojo*.class</exclude> - <exclude>org/apache/johnzon/**/*Test.class</exclude> - </excludes> - </instrumentation> - <formats> - <format>xml</format> - </formats> - <aggregate>true</aggregate> - </configuration> - </plugin> - <plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> @@ -447,7 +523,6 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <version>${felix.plugin.version}</version> <inherited>true</inherited> <extensions>true</extensions> <configuration> @@ -470,7 +545,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> - <version>3.0.0-M2</version> <executions> <execution> <id>enforce-versions</id> @@ -483,7 +557,7 @@ <version>[3.3,)</version> </requireMavenVersion> <requireJavaVersion> - <version>[${java-compile.version},)</version> + <version>[${maven.compiler.target},)</version> </requireJavaVersion> </rules> </configuration> @@ -517,27 +591,23 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> - <version>3.5.1</version> </plugin> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - <version>3.0.4</version> + <groupId>com.github.spotbugs</groupId> + <artifactId>spotbugs-maven-plugin</artifactId> <configuration> <xmlOutput>true</xmlOutput> - <!-- Optional directory to put findbugs xdoc xml report --> + <!-- Optional directory to put spotbugs (previously findbugs) xdoc xml report --> <xmlOutputDirectory>target/site</xmlOutputDirectory> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> - <version>3.6</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> - <version>2.9</version> <configuration> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> @@ -545,7 +615,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> - <version>2.10.3</version> <configuration> <notimestamp>true</notimestamp> <show>private</show> @@ -567,32 +636,11 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> - <version>2.19.1</version> <configuration> <argLine>${surefire.jvm.params}</argLine> <aggregate>true</aggregate> </configuration> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>cobertura-maven-plugin</artifactId> - <version>2.6</version> - <configuration> - <instrumentation> - <ignores> - <ignore>org.apache.johnzon.maven.*</ignore> - </ignores> - <excludes> - <exclude>org/apache/johnzon/**/*Mojo*.class</exclude> - <exclude>org/apache/johnzon/**/*Test.class</exclude> - </excludes> - </instrumentation> - <formats> - <format>html</format> - </formats> - <aggregate>true</aggregate> - </configuration> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> @@ -608,7 +656,6 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> - <version>2.1</version> <reportSets> <reportSet> <reports> @@ -622,7 +669,6 @@ <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> - <version>2.4</version> <configuration> <tags> <tag>TODO</tag> @@ -636,7 +682,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changelog-plugin</artifactId> - <version>2.3</version> <configuration> <type>range</type> <range>30</range> @@ -646,7 +691,6 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-changes-plugin</artifactId> - <version>2.11</version> <configuration> <useJql>true</useJql> <columnNames>Type,Key,Summary,Assignee,Status,Resolution,Created</columnNames> @@ -795,16 +839,6 @@ </contributors> <profiles> - <profile> - <id>doclint-java8-disable</id> - <activation> - <jdk>[1.8,)</jdk> - </activation> - <properties> - <checkstyle.version>2.17</checkstyle.version> - </properties> - </profile> - <profile> <id>jdk9+</id> <activation>