From 754f1d58733e31c5377cf33324b40ab2ef054437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Sat, 27 Aug 2022 20:35:22 +0200 Subject: [PATCH] drop jsr305 annotations because of javax namespace, fix JDK17 internal reflection access in validation --- datastructures-json-dsl/build.gradle | 1 - .../src/main/java/com/dslplatform/json/NonNull.java | 4 ---- .../src/main/java/com/dslplatform/json/NonNullApi.java | 4 ---- .../src/main/java/com/dslplatform/json/Nullable.java | 5 ----- datastructures-queue-tape/build.gradle | 1 - datastructures-validation/build.gradle | 1 - datastructures-validation/src/main/java/module-info.java | 1 - .../org/xbib/datastructures/validation/jsr305/NonNull.java | 5 ----- .../xbib/datastructures/validation/jsr305/NonNullApi.java | 5 ----- .../org/xbib/datastructures/validation/jsr305/Nullable.java | 6 ------ gradle/test/junit5.gradle | 2 ++ settings.gradle | 1 - 12 files changed, 2 insertions(+), 34 deletions(-) diff --git a/datastructures-json-dsl/build.gradle b/datastructures-json-dsl/build.gradle index d84eda3..b1bd6ef 100644 --- a/datastructures-json-dsl/build.gradle +++ b/datastructures-json-dsl/build.gradle @@ -1,4 +1,3 @@ dependencies { - api libs.jsr305 testImplementation libs.junit4 } diff --git a/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNull.java b/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNull.java index f940d53..b0e242f 100644 --- a/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNull.java +++ b/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNull.java @@ -5,8 +5,6 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import javax.annotation.Nonnull; -import javax.annotation.meta.TypeQualifierNickname; /** * A common DslJson annotation to declare that annotated elements cannot be {@code null}. @@ -25,7 +23,5 @@ import javax.annotation.meta.TypeQualifierNickname; @Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull -@TypeQualifierNickname public @interface NonNull { } \ No newline at end of file diff --git a/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNullApi.java b/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNullApi.java index 0d13940..e32fee4 100644 --- a/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNullApi.java +++ b/datastructures-json-dsl/src/main/java/com/dslplatform/json/NonNullApi.java @@ -5,8 +5,6 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import javax.annotation.Nonnull; -import javax.annotation.meta.TypeQualifierDefault; /** * A common DslJson annotation to declare that parameters and return values @@ -24,7 +22,5 @@ import javax.annotation.meta.TypeQualifierDefault; @Target(ElementType.PACKAGE) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull -@TypeQualifierDefault({ElementType.METHOD, ElementType.PARAMETER}) public @interface NonNullApi { } diff --git a/datastructures-json-dsl/src/main/java/com/dslplatform/json/Nullable.java b/datastructures-json-dsl/src/main/java/com/dslplatform/json/Nullable.java index c1cfb9a..ba2261f 100644 --- a/datastructures-json-dsl/src/main/java/com/dslplatform/json/Nullable.java +++ b/datastructures-json-dsl/src/main/java/com/dslplatform/json/Nullable.java @@ -5,9 +5,6 @@ import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import javax.annotation.Nonnull; -import javax.annotation.meta.TypeQualifierNickname; -import javax.annotation.meta.When; /** * A common DslJson annotation to declare that annotated elements can be {@code null} under @@ -26,7 +23,5 @@ import javax.annotation.meta.When; @Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD}) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull(when = When.MAYBE) -@TypeQualifierNickname public @interface Nullable { } \ No newline at end of file diff --git a/datastructures-queue-tape/build.gradle b/datastructures-queue-tape/build.gradle index 83ba5fd..be1deb9 100644 --- a/datastructures-queue-tape/build.gradle +++ b/datastructures-queue-tape/build.gradle @@ -1,5 +1,4 @@ dependencies { - testCompileOnly libs.jsr305 testImplementation libs.junit4 testImplementation libs.google.truth testImplementation libs.burst.junit4 diff --git a/datastructures-validation/build.gradle b/datastructures-validation/build.gradle index 3e76a2d..d4cf188 100644 --- a/datastructures-validation/build.gradle +++ b/datastructures-validation/build.gradle @@ -1,5 +1,4 @@ dependencies { - api libs.jsr305 testImplementation libs.assertj testImplementation libs.compile.testing } diff --git a/datastructures-validation/src/main/java/module-info.java b/datastructures-validation/src/main/java/module-info.java index 0080eeb..8fca185 100644 --- a/datastructures-validation/src/main/java/module-info.java +++ b/datastructures-validation/src/main/java/module-info.java @@ -1,4 +1,3 @@ module org.xbib.datastructures.validation { - requires org.xbib.annotation; requires java.compiler; } diff --git a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNull.java b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNull.java index d18c1da..cf1bba4 100644 --- a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNull.java +++ b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNull.java @@ -6,9 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.xbib.annotation.Nonnull; -import org.xbib.annotation.meta.TypeQualifierNickname; - /** * A common annotation (similar to Spring ones) to declare that annotated elements * cannot be {@code null}. Leverages JSR 305 meta-annotations to indicate nullability in @@ -29,7 +26,5 @@ import org.xbib.annotation.meta.TypeQualifierNickname; @Target({ ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD }) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull -@TypeQualifierNickname public @interface NonNull { } diff --git a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNullApi.java b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNullApi.java index 15579ca..c7a0c90 100644 --- a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNullApi.java +++ b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/NonNullApi.java @@ -6,9 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.xbib.annotation.Nonnull; -import org.xbib.annotation.meta.TypeQualifierDefault; - /** * A common annotation (similar to Spring one) to declare that parameters and return * values are to be considered as non-nullable by default for a given package. Leverages @@ -25,7 +22,5 @@ import org.xbib.annotation.meta.TypeQualifierDefault; @Target(ElementType.PACKAGE) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull -@TypeQualifierDefault({ ElementType.METHOD, ElementType.PARAMETER }) public @interface NonNullApi { } diff --git a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/Nullable.java b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/Nullable.java index 48c8cb5..8543066 100644 --- a/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/Nullable.java +++ b/datastructures-validation/src/main/java/org/xbib/datastructures/validation/jsr305/Nullable.java @@ -6,10 +6,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.xbib.annotation.Nonnull; -import org.xbib.annotation.meta.TypeQualifierNickname; -import org.xbib.annotation.meta.When; - /** * A common annotation (similar to Spring ones) to declare that annotated elements * can be {@code null} under some circumstance. Leverages JSR 305 meta-annotations to @@ -29,7 +25,5 @@ import org.xbib.annotation.meta.When; @Target({ ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD }) @Retention(RetentionPolicy.RUNTIME) @Documented -@Nonnull(when = When.MAYBE) -@TypeQualifierNickname public @interface Nullable { } diff --git a/gradle/test/junit5.gradle b/gradle/test/junit5.gradle index c966594..4d269e1 100644 --- a/gradle/test/junit5.gradle +++ b/gradle/test/junit5.gradle @@ -17,6 +17,8 @@ test { '--add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED', '--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED', '--add-opens=jdk.compiler/com.sun.tools.javac=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED', '--add-opens=java.base/java.lang=ALL-UNNAMED', '--add-opens=java.base/java.lang.reflect=ALL-UNNAMED', '--add-opens=java.base/java.io=ALL-UNNAMED', diff --git a/settings.gradle b/settings.gradle index 73d2a86..11eb78a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,7 +12,6 @@ dependencyResolutionManagement { library('junit4', 'junit', 'junit').version('4.13.2') library('chronicle-core', 'net.openhft', 'chronicle-core').version('2.21ea14') library('affinity', 'net.openhft', 'affinity').version('3.21ea0') - library('jsr305', 'org.xbib', 'jsr-305').version('2.0.0') library('javassist', 'org.javassist', 'javassist').version('3.28.0-GA') library('jackson', 'com.fasterxml.jackson.core', 'jackson-databind').versionRef('jackson') library('gson', 'com.google.code.gson', 'gson').version('2.8.9')