Skip to content

Commit 1aa40bd

Browse files
authored
SEO: README title/intro and POM metadata updates (#24)
* seo initial * Issue #23 SEO: update README title/intro; enrich POM names/descriptions (verify: grep 'java.util.json' in README and run 'mvn -q help:evaluate -Dexpression=project.description' per module) * Issue #23 SEO: remove speculative language; keep neutral, non-committal descriptions * Issue #23 SEO: remove '(Core)' qualifier; primary artifact should be unqualified
1 parent cbc3e7d commit 1aa40bd

File tree

9 files changed

+38
-92
lines changed

9 files changed

+38
-92
lines changed

.github/workflows/release-on-branch.yml

Lines changed: 0 additions & 72 deletions
This file was deleted.

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.env
2+
repomix-output*
13
target/
24

35
.idea/

README.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
1-
# java.util.json Backport for JDK 21
1+
# java.util.json Backport for Java 21 (OpenJDK sandbox)
22

3-
Early access to the unstable `java.util.json` API — taken from the OpenJDK jdk-sandbox “json” branch as of 2025-09-04.
3+
Experimental backport of the proposed `java.util.json` API from the OpenJDK jdk‑sandbox “json” branch for use on Java 21+.
4+
This project is not an official release; APIs and behavior may change as upstream evolves.
5+
6+
References:
7+
- OpenJDK sandbox “json” branch: https://github.com/openjdk/jdk-sandbox/tree/master/src/java.json
8+
- Design paper: [Towards a JSON API for the JDK.pdf](Towards%20a%20JSON%20API%20for%20the%20JDK.pdf)
49

510
## Quick Start
611

@@ -43,7 +48,7 @@ JsonValue backToJson = Json.fromUntyped(Map.of(
4348
));
4449
```
4550

46-
## Back Port Project Goals
51+
## Backport Project Goals
4752

4853
- **✅Enable early adoption**: Let developers try the unstable Java JSON patterns today on JDK 21+
4954
- **✅API compatibility over performance**: Focus on matching the emerging "batteries included" API design rather than competing with existing JSON libraries on speed.
@@ -82,7 +87,7 @@ This is a simplified backport with the following changes from the original:
8287

8388
These vulnerabilities exist in the upstream OpenJDK sandbox implementation and are reported here for transparency.
8489

85-
## JSON Schema Validator
90+
## JSON Schema Validator (2020-12)
8691

8792
By including a basic schema validator that demonstrates how to build a realistic feature out of the core API. To demonstrate the power of the core API, it follows Data Oriented Programming principles: it parses JSON Schema into an immutable structure of records, then for validation it parses the JSON to the generic structure and uses the thread-safe parsed schema as the model to validate the JSON being checked.
8893

@@ -99,7 +104,7 @@ var result = schema.validate(
99104
// result.valid() => true
100105
```
101106

102-
Compatibility: we run the official 2020-12 JSON Schema Test Suite on verify; in strict mode it currently passes about 71% of applicable cases.
107+
Compatibility: runs the official 202012 JSON Schema Test Suite on `verify`; in strict mode it currently passes about 71% of applicable cases.
103108

104109
## Building
105110

json-compatibility-suite/pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,20 @@
66

77
<parent>
88
<groupId>io.github.simbo1905.json</groupId>
9-
<artifactId>json-java21-parent</artifactId>
9+
<artifactId>parent</artifactId>
1010
<version>0.1.0</version>
1111
</parent>
1212

1313
<artifactId>json-compatibility-suite</artifactId>
1414
<packaging>jar</packaging>
1515

16-
<name>JSON Compatibility Suite</name>
16+
<name>java.util.json Java21 Backport – JSON Test Suite</name>
17+
<description>Runs the official JSON Test Suite against the java.util.json Java 21 backport to track conformance with JSON standards.</description>
1718

1819
<dependencies>
1920
<dependency>
2021
<groupId>io.github.simbo1905.json</groupId>
21-
<artifactId>json-java21</artifactId>
22+
<artifactId>java.util.json</artifactId>
2223
<version>${project.version}</version>
2324
</dependency>
2425
<!-- JUnit 5 for testing -->

json-java21-api-tracker/pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66

77
<parent>
88
<groupId>io.github.simbo1905.json</groupId>
9-
<artifactId>json-java21-parent</artifactId>
9+
<artifactId>parent</artifactId>
1010
<version>0.1.0</version>
1111
</parent>
1212

1313
<artifactId>json-java21-api-tracker</artifactId>
1414
<packaging>jar</packaging>
1515

16-
<name>API Tracker</name>
16+
<name>java.util.json Java21 Backport Upstream API Tracker</name>
17+
<description>Compares the OpenJDK sandbox java.util.json API to this Java 21 backport and reports differences to track upstream changes. Experimental tooling.</description>
1718

1819
<properties>
1920
<maven.compiler.release>21</maven.compiler.release>
@@ -22,7 +23,7 @@
2223
<dependencies>
2324
<dependency>
2425
<groupId>io.github.simbo1905.json</groupId>
25-
<artifactId>json-java21</artifactId>
26+
<artifactId>java.util.json</artifactId>
2627
<version>${project.version}</version>
2728
</dependency>
2829
<!-- JUnit 5 for testing -->

json-java21-schema/pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77

88
<parent>
99
<groupId>io.github.simbo1905.json</groupId>
10-
<artifactId>json-java21-parent</artifactId>
10+
<artifactId>parent</artifactId>
1111
<version>0.1.0</version>
1212
</parent>
1313

14-
<artifactId>json-java21-schema</artifactId>
14+
<artifactId>java.util.json.schema</artifactId>
1515
<packaging>jar</packaging>
16-
<name>JSON Schema Validator</name>
16+
<name>java.util.json Java21 Backport – JSON Schema Validator (2020-12)</name>
17+
<description>Experimental JSON Schema 2020-12 validator built using the java.util.json Java 21 backport; includes integration tests running the official JSON Schema Test Suite.</description>
1718

1819
<properties>
1920
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

json-java21/pom.xml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,15 @@
66

77
<parent>
88
<groupId>io.github.simbo1905.json</groupId>
9-
<artifactId>json-java21-parent</artifactId>
9+
<artifactId>parent</artifactId>
1010
<version>0.1.0</version>
1111
</parent>
1212

13-
<artifactId>json-java21</artifactId>
13+
<artifactId>java.util.json</artifactId>
1414
<packaging>jar</packaging>
1515

16-
<name>java.util.json Backport</name>
16+
<name>java.util.json Java21 Backport</name>
17+
<description>Backport of the OpenJDK sandbox java.util.json API adapted for Java 21+. Experimental; APIs and behavior may change as upstream evolves.</description>
1718

1819
<dependencies>
1920
<dependency>

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
<modelVersion>4.0.0</modelVersion>
66

77
<groupId>io.github.simbo1905.json</groupId>
8-
<artifactId>json-java21-parent</artifactId>
8+
<artifactId>parent</artifactId>
99
<version>0.1.0</version>
1010
<packaging>pom</packaging>
1111

12-
<name>java.util.json Backport Parent</name>
13-
<description>A backport of the upcoming java.util.json API for Java 21+</description>
12+
<name>java.util.json Java21 Backport Parent</name>
13+
<description>Backport of the OpenJDK jdk-sandbox java.util.json sources adapted for Java 21+. Experimental and subject to change; not an official OpenJDK release.</description>
1414
<url>https://simbo1905.github.io/java.util.json.Java21/</url>
1515

1616
<licenses>

scripts/setup-release-secrets.zsh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ else
6565
fi
6666
fi
6767

68+
# Also persist a key name (fingerprint) for maven-gpg-plugin selection
69+
KEY_FPR=$(gpg --with-colons --list-secret-keys "$GPG_KEY_ID" 2>/dev/null | awk -F: '$1=="fpr"{print $10; exit}')
70+
if [[ -n "$KEY_FPR" ]]; then
71+
echo "Setting GPG_KEYNAME (fingerprint) for CI: $KEY_FPR"
72+
print -r -- "$KEY_FPR" | gh secret set GPG_KEYNAME --app actions ${REPO_FLAG:+${REPO_FLAG[@]}} || true
73+
fi
74+
6875
print -r -- "$GPG_PASSPHRASE" | gh secret set GPG_PASSPHRASE --app actions ${REPO_FLAG:+${REPO_FLAG[@]}}
6976

7077
echo "Validating secrets presence..."

0 commit comments

Comments
 (0)