The GitHub Actions job "Fory CI" on fory.git/main has failed.
Run started by GitHub user chaokunyang (triggered by chaokunyang).

Head commit for run:
d2c46d591b4e56ed89a1ed4c7b31ac70ea09600b / Shawn Yang <[email protected]>
feat(json): add Kotlin JSON support (#3937)

## Why?

Kotlin/JVM models carry constructor defaults, nullability, unsigned and
value-class semantics,
sealed hierarchies, and complete generic type information that Java
`Class` tokens cannot express.
This PR adds an optional Kotlin JSON module while keeping the existing
Java JSON APIs and Fory
binary protocols unchanged.

## What does this PR do?

- Adds `fory-json-kotlin` with `ForyJsonKotlin.builder()` and reusable
`jsonTypeRef<T>()` tokens for
Kotlin object models, defaults, nullability, generics, value classes,
unsigned types, sealed
hierarchies, Mixin overlays, custom codecs, and supported Kotlin/JVM
built-ins.
- Extends the shared JSON resolver, object model, and generated
capability paths so language-owned
metadata can retain direct generated readers and writers, exact semantic
types, nullability, and
  primitive/no-box value-class carriers.
- Adds `fory-json-kotlin-ksp` as a retention-only processor that emits
exact R8/ProGuard rules for
`@JsonType` and Kotlin-owned `@JsonMixin` declarations; it does not
generate codecs or application
  classes.
- Adds a small shared JVM/Android/GraalVM corpus covering defaults,
value classes and unsigned
values, sealed types, Mixins, custom codecs, and generics, plus JPMS and
release wiring.
- Adds Kotlin JSON documentation and a standalone Gradle/JMH benchmark
project for Fory,
kotlinx.serialization, Moshi, and Jackson Kotlin. Benchmark timing is
not part of CI.

## Related issues

N/A.

## AI Contribution Checklist



- [ ] Substantial AI assistance was used in this PR: `yes` / `no`
- [ ] If `yes`, I included a completed [AI Contribution
Checklist](https://github.com/apache/fory/blob/main/AI_POLICY.md#9-contributor-checklist-for-ai-assisted-prs)
in this PR description and the required `AI Usage Disclosure`.
- [ ] If `yes`, my PR description includes the required `ai_review`
summary and screenshot evidence or equivalent persisted links of the
final clean AI review results from both fresh reviewers described in
`AI_POLICY.md`, the Fory-guided reviewer and the independent general
reviewer, on the current PR diff or current HEAD after the latest code
changes.



## Does this PR introduce any user-facing change?

Yes. It adds the optional Kotlin/JVM JSON runtime, Kotlin type-token and
builder APIs, Android
retention-rule processor, documentation, and platform setup described
above.

- [x] Does this PR introduce any public API change?
- [ ] Does this PR introduce any binary protocol compatibility change?

## Benchmark

Report URL: https://github.com/apache/fory/actions/runs/32365570932

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to