Modules
The schema-kenerator project is split into multiple artifacts, each providing a set of steps and functionality. The required artifacts depend on the use case, e.g. whether a swagger schema or json schema should be generated or whether e.g. Jackson annotations need to be included.
Core
-
Core
schema-kenerator-core
Contains base data classes, common steps and annotations to use with all type analysis and schema generation steps.
Type Analysis
-
Reflection Type Analysis
schema-kenerator-reflection
Analyze types and extract information using reflection. Includes additional steps and annotations to modify and enrich extracted data.
-
Kotlinx.Serialization
schema-kenerator-serialization
Analyze types and extract information using Kotlinx.Serialization. Includes additional steps and annotations to modify and enrich extracted data.
Schema Generation
-
JSON Schema Generation
schema-kenerator-jsonschema
Generate JSON schemas from analyzed types and further customize and enrich schemas with additional steps and annotations.
-
Swagger Schema Generation
schema-kenerator-swagger
Generate Swagger schemas from analyzed types and further customize and enrich schemas with additional steps and annotations.
Miscellaneous
-
Jackson
schema-kenerator-jackson
Provides steps to support Jackson-annotations and enrich extracted data independent of generated schema.
-
Jackson JSON Schema
schema-kenerator-jackson-jsonschema
Provides steps to support Jackson-annotations specific and enrich generated JSON schemas.
-
Jackson Swagger
schema-kenerator-jackson-swagger
Provides steps to support Jackson-annotations specific and enrich generated Swagger schemas.
-
Javax/Jakarta Validations Swagger
schema-kenerator-validation-swagger
Provides steps to support Javax and Jakarta validation annotations when generating Swagger schemas.