This is an automated email from the ASF dual-hosted git repository.
afs pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git
The following commit(s) were added to refs/heads/main by this push:
new a9af2a4d9f GH-4185: Force the dependency of jspecify
a9af2a4d9f is described below
commit a9af2a4d9ff1072817f4f29e15b038fe68a8a388
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Sep 1 10:17:31 2026 +0100
GH-4185: Force the dependency of jspecify
---
.../sparql/engine/benchmark/QueryTaskResult.java | 3 ---
.../java/org/apache/jena/mem/collection/JenaSet.java | 9 +++++----
pom.xml | 20 ++++++++++++++++++--
3 files changed, 23 insertions(+), 9 deletions(-)
diff --git
a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.java
b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.java
index a39401095b..1f009dfc07 100644
---
a/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.java
+++
b/jena-benchmarks/jena-benchmarks-jmh/src/test/java/org/apache/jena/sparql/engine/benchmark/QueryTaskResult.java
@@ -20,12 +20,9 @@
*/
package org.apache.jena.sparql.engine.benchmark;
-import org.jspecify.annotations.NonNull;
-
public record QueryTaskResult(String queryString, String originalOpString,
String optimizedOpString,
long resultSetSize) {
- @NonNull
@Override
public String toString() {
return String.join("\n",
diff --git
a/jena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.java
b/jena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.java
index 1dc319d315..0fc348f18d 100644
--- a/jena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.java
+++ b/jena-core/src/main/java/org/apache/jena/mem/collection/JenaSet.java
@@ -20,9 +20,8 @@
*/
package org.apache.jena.mem.collection;
-import org.jspecify.annotations.NonNull;
-
import java.util.Iterator;
+import java.util.Objects;
import java.util.Spliterator;
import java.util.function.Consumer;
@@ -64,7 +63,9 @@ public interface JenaSet<E> extends JenaMapSetCommon<E>,
Iterable<E> {
}
@Override
- default @NonNull Iterator<E> iterator() {
- return this.keyIterator();
+ default Iterator<E> iterator() {
+ Iterator<E> iter = this.keyIterator();
+ Objects.requireNonNull(iter);
+ return iter;
}
}
diff --git a/pom.xml b/pom.xml
index 5b26e7b4b4..6a1846aa11 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@
<ver.caffeine>3.2.4</ver.caffeine>
<!-- Most of Jena uses other libraries for equivalent functionality. -->
- <ver.guava>33.6.0-jre</ver.guava>
+ <ver.guava>33.7.1-jre</ver.guava>
<ver.gson>2.14.0</ver.gson>
<ver.lucene>10.3.1</ver.lucene>
@@ -102,7 +102,7 @@
<ver.commons-fileupload>2.0.0-M5</ver.commons-fileupload>
<ver.dexxcollection>0.7</ver.dexxcollection>
- <ver.micrometer>1.17.0</ver.micrometer>
+ <ver.micrometer>1.17.1</ver.micrometer>
<ver.roaringbitmap>1.6.20</ver.roaringbitmap>
<ver.opencsv>5.12.0</ver.opencsv>
@@ -437,6 +437,9 @@
</dependency>
<!--
+ Some packages have dependencies that can cause
+ dependency convergence errors.
+
com.google.errorprone:error_prone_annotations
is used by gson, guava and caffeine.
It can lead to dependency convergence errors.
@@ -455,6 +458,11 @@
https://checkerframework.org/manual/#faq-runtime-retention
The downside of including them is that they bringing in IDE
autocomplete names.
+
+ Another way is to have a direct dependency on a version.
+ Being top-level, it is used over recusive dependencies.
+
+ These should be used temporarily.
-->
<!--
<dependency>
@@ -463,6 +471,14 @@
<version>VERSION</version>
</dependency>
-->
+ <!--
+ jspecify comes from gauva, caffeine, junit and micrometer.
+ -->
+ <dependency>
+ <groupId>org.jspecify</groupId>
+ <artifactId>jspecify</artifactId>
+ <version>1.0.1</version>
+ </dependency>
<dependency>
<groupId>com.google.code.gson</groupId>