diff --git a/DependencyUpdateSearch_Rules.xml b/DependencyUpdateSearch_Rules.xml
new file mode 100644
index 00000000..77cc7db8
--- /dev/null
+++ b/DependencyUpdateSearch_Rules.xml
@@ -0,0 +1,15 @@
+
+
+
+
+ (?i).*Alpha(?:-?\d+)?
+ (?i).*a(?:-?\d+)?
+ (?i).*Beta(?:-?\d+)?
+ (?i).*-B(?:-?\d+)?
+ (?i).*RC(?:-?\d+)?
+ (?i).*CR(?:-?\d+)?
+ (?i).*M(?:-?\d+)?
+
+
+
+
diff --git a/pom.xml b/pom.xml
index fe0bd30c..c0824ddf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
junit
junit
- 4.12
+ 4.13.2
test
@@ -52,38 +52,38 @@
com.fasterxml.jackson.core
jackson-annotations
- 2.9.5
+ 2.13.3
true
com.fasterxml.jackson.core
jackson-databind
- 2.9.5
+ 2.13.3
true
com.google.code.gson
gson
- 2.8.3
+ 2.9.1
true
org.openjdk.jmh
jmh-core
- 1.20
+ 1.35
test
org.openjdk.jmh
jmh-generator-annprocess
- 1.20
+ 1.35
test
org.apache.commons
commons-lang3
- 3.5
+ 3.12.0
test
@@ -125,16 +125,18 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.7.0
+ 3.10.1
- 16
+ 17
+ 17
+ 17
UTF-8
org.apache.maven.plugins
maven-source-plugin
- 3.0.1
+ 3.2.1
attach-sources
@@ -147,7 +149,7 @@
org.apache.maven.plugins
maven-javadoc-plugin
- 3.0.0
+ 3.4.0
attach-javadocs
@@ -177,7 +179,7 @@
org.sonatype.plugins
nexus-staging-maven-plugin
- 1.6.8
+ 1.6.13
true
ossrh
@@ -199,7 +201,7 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.21.0
+ 2.20
true
methods
@@ -215,6 +217,46 @@
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ 2.11.0
+
+ file:///${project.basedir}/DependencyUpdateSearch_Rules.xml
+
+
+
+ verify
+
+ display-dependency-updates
+ display-plugin-updates
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-enforcer-plugin
+ 3.1.0
+
+
+ enforce-maven
+
+ enforce
+
+
+
+
+ [3.3.2,)
+
+
+
+
+
+
+
diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java
new file mode 100644
index 00000000..57b5d2c8
--- /dev/null
+++ b/src/main/java/module-info.java
@@ -0,0 +1,38 @@
+open module com.jsoniter {
+
+ exports com.jsoniter;
+
+ exports com.jsoniter.fuzzy;
+
+ exports com.jsoniter.static_codegen;
+
+ exports com.jsoniter.extra;
+
+ exports com.jsoniter.output;
+
+ exports com.jsoniter.annotation;
+
+ exports com.jsoniter.spi;
+
+ exports com.jsoniter.any;
+
+
+ /** static, because marked as optional in pom.xml*/
+ requires static javassist;
+
+ /** static, because marked as optional in pom.xml*/
+ requires static com.fasterxml.jackson.core;
+
+ /** static, because marked as optional in pom.xml*/
+ requires static com.fasterxml.jackson.annotation;
+
+ /** static, because marked as optional in pom.xml*/
+ requires static com.fasterxml.jackson.databind;
+
+ /** static, because marked as optional in pom.xml*/
+ requires static com.google.gson;
+
+ /** static, because only used in testing */
+ requires static java.desktop;
+
+}
\ No newline at end of file
diff --git a/src/test/java/com/jsoniter/output/TestNested.java b/src/test/java/com/jsoniter/output/TestNested.java
index 00fd8d6d..e3750c66 100644
--- a/src/test/java/com/jsoniter/output/TestNested.java
+++ b/src/test/java/com/jsoniter/output/TestNested.java
@@ -1,16 +1,12 @@
package com.jsoniter.output;
+import java.io.*;
+import java.util.*;
+
import com.jsoniter.annotation.JsonProperty;
-import com.jsoniter.spi.JsoniterSpi;
-import com.jsoniter.spi.TypeLiteral;
-import junit.framework.TestCase;
+import com.jsoniter.spi.*;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import junit.framework.TestCase;
public class TestNested extends TestCase {
@@ -45,7 +41,7 @@ public void test_collection_of_objects() throws IOException {
obj1.field1 = "1";
obj1.field2 = "2";
String output = JsonStream.serialize(new TypeLiteral>() {
- }, new ArrayList() {{
+ }, new ArrayList<>() {{
add(obj1);
}});
assertTrue(output.contains("field1"));
@@ -92,7 +88,7 @@ public void test_map_of_objects() throws IOException {
obj1.field1 = "1";
obj1.field2 = "2";
stream.writeVal(new TypeLiteral