33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# Gson-Compile
|
|
A java annotation processor implementing automated type adapter generation for gson-comments.
|
|
The goal of this AP is to
|
|
- Support common features such as getters, setters, fields, constructors
|
|
- Support modern language features such as records
|
|
- Support json5 through gson-comments
|
|
- Be compile-time where possible (ideally compatible with proguard)
|
|
|
|
## Currently supported
|
|
- Primitive types
|
|
- Adapter generation
|
|
- Utility methods
|
|
- Strict no-reflection enforcement via `-AgsonCompileNoReflect`
|
|
- Comments via `@GComment`
|
|
|
|
## TODO
|
|
- Arrays
|
|
- Nested serializable types
|
|
- Date
|
|
- Enums
|
|
- Lists
|
|
- Maps
|
|
- Queues
|
|
- Records
|
|
- Support for nested types from libraries
|
|
- Sets
|
|
- Static classes (for configs)
|
|
- GPrefer to bypass builder/constructor recovery
|
|
|
|
## Credit
|
|
The Gson-Compile processor is based on [gsonvalue](https://github.com/evant/gsonvalue) and [value-processor](https://github.com/evant/value-processor) by Eva Tatarka.
|
|
The API was inspired by [kotlinx.serialization](https://github.com/Kotlin/kotlinx.serialization) by Jetbrains
|
|
The serialization is powered by [my fork](https://gitlab.com/JFronny/gson-comments) of [gson](https://github.com/google/gson) by Google |