- Overview
- Quick Start
- Introduction
- Guides
- Client Libraries
- API Reference
- Examples
- DDD Resources
- Validation user guide
- Validation developer guide
Key modules
This repository is a Gradle multi-project build. Module names below are shown as Gradle
project paths like :java and :tests:vanilla.
Core modules
:context: Language-agnostic validation model and built-in option handling for views and reactions shared by language plugins.:java: Spine Compiler plugin for Java: generates/injects validation code; loads custom options viaValidationOptionSPI.:jvm-runtime: Runtime library used by generated code:ValidationException, validation/constraint APIs,MessageValidator, and error Protobuf types.:java-bundle: Fat JAR bundling:javafor distribution, which is the artifact typically used as the compiler plugin dependency.:gradle-plugin: Theio.spine.validationGradle plugin that configures Spine Compiler to run the Validation compiler for consumer projects.:docs: Sources for the Hugo documentation site, scripts, and example projects used in docs.
Test modules
:context-tests: ProtoTap-based compilation tests for:context, focusing on invalid option usage and error reporting.:tests: Parent project for integration tests that run the Compiler plugins and exercise generated code.:tests:vanilla: “Vanilla” integration tests: validation without any custom extensions.:tests:extensions: Example implementation of the(currency)custom option used by test suites to verify custom reactions, views, and generators.:tests:consumer: Integration tests for a consuming project that uses validation plus custom extensions.:tests:consumer-dependency: A dependency module with.protosources used by:tests:consumerto verify “protos in dependencies” scenarios.:tests:validator: Integration tests for customMessageValidators discovered throughServiceLoader.:tests:validator-dependency: A dependency module used by:tests:validatorfor validator-related dependency scenarios.:tests:runtime: Tests focused on runtime behavior of validation APIs and error messages.:tests:validating: Shared fixtures and tests for validation behavior across multiple scenarios, includingtestFixtures.