Modules¶
This repository is a Gradle composite build made of small Kotlin modules. Most users interact through the CLI or the Gradle plugin, both of which depend on distribution-bundle.
Dependency direction (high level)¶
model -> example-value -> core -> feature modules -> distribution-bundle -> cli / plugin
See also: Architecture.
Deep-dive pages¶
Keep these pages when you need subsystem-level detail:
Module catalog¶
| Module | Responsibility | Used by / notes |
|---|---|---|
model | Shared data types and error/reporting contracts | Foundation for the rest of the stack |
example-value | Schema-derived example generation and SchemaValueProvider SPI | Used by core; extended by pattern-value |
core | OpenAPI parsing, provider/rule orchestration, built-in test-suite-writer | See core |
pattern-value | Regex-based value generation without a core dependency | See pattern-value |
pattern-support | Optional pattern integration module for core | Enabled by distribution-bundle defaults |
generator-template | Mustache-based source-code generation (template) | Enabled by distribution-bundle defaults |
distribution-bundle | Shared runner, defaults, and module wiring | Used by CLI and plugin |
plugin | Gradle plugin and typed DSL | See Gradle plugin reference |
cli | Picocli command-line entry point and native/JVM packaging | See CLI reference |
model¶
- Canonical data types:
TestSuite,TestCase,Outcome,GenerationReport,GenerationError - Has no project-module dependencies
- Start with Model reference for field-level details
example-value¶
- Owns
SchemaValueProvider,SchemaExampleValueGenerator, response example extraction, and schema merging support - Depends on
model - Start with SPI and Distribution settings
pattern-value¶
- Standalone regex-based value generation
- Implements the
example-valueSPI without depending oncore - Used indirectly through
pattern-supportor directly by embedding code - Start with Pattern-value module for public API, configuration options, and standalone usage
pattern-support¶
- Adds the
patternschema value provider id, pattern validation rule wiring, andpatternGenerationsettings extraction - Lives at the boundary between optional value generation and the core engine
- Start with Distribution settings and Rules catalog
generator-template¶
- Contributes the
templategenerator module - Owns built-in RestAssured template sets and custom-template loading
- Start with Generators
plugin¶
- Registers
generateOpenApiTestsand exposesopenApiTestGenerator { ... } - Delegates execution to
TestGenerationRunner - Start with Gradle integration and Gradle plugin reference
cli¶
- Maps CLI flags to
TestGeneratorOverrides - Ships as an npm wrapper, JVM distribution, and optional native binary
- Start with Getting started, Installation, and CLI reference