Maven coordinates

Not on Maven Central yet — build from source (see Getting started). All artefacts share the version 0.3.0-SNAPSHOT under the io.vidocq.erasmus group:

Artefact Role

io.vidocq.erasmus:erasmus-api:0.3.0-SNAPSHOT

Spec aggregator (requires transitive jakarta.validation)

io.vidocq.erasmus:erasmus-core:0.3.0-SNAPSHOT

The validation engine (runtime scope)

io.vidocq.erasmus:erasmus-codegen-apt:0.3.0-SNAPSHOT

APT dispatcher generator (M5 placeholder)

io.vidocq.erasmus:erasmus-codegen-maven-plugin:0.3.0-SNAPSHOT

Dispatcher generation for third-party jars (M5 placeholder)

io.vidocq.erasmus:erasmus-cdi-vauban:0.3.0-SNAPSHOT

CDI integration via Vauban (M7 placeholder)

io.vidocq.erasmus:erasmus-jaxrs:0.3.0-SNAPSHOT

Jakarta REST violation mapping (M9 placeholder)

Exported Java modules

Module Exports

io.vidocq.erasmus.api

Re-exports the jakarta.validation API (transitive requires); no own packages.

io.vidocq.erasmus.core

Nothing — engine internals are fully encapsulated; the module only provides jakarta.validation.spi.ValidationProvider.

Supported API surface (today)

Spec API Status

Validation.buildDefaultValidatorFactory() / byDefaultProvider()

✔

ValidatorFactory.getValidator() / usingContext() / close()

✔

Validator.validate / validateProperty / validateValue

✔

Validator.unwrap

✔

21 of the 22 built-in constraints (38 validator classes) — @Null is not implemented

✔

Custom constraints, multi-validator constraints, composition, @ReportAsSingleViolation

✔

Message interpolation (attribute + localized bundles + EL subset)

✔

@Valid cascading, groups, group sequences

M3

ValueExtractor / container element constraints

M4

forExecutables() method/constructor validation — throws UnsupportedOperationException today

M5

Validator.getConstraintsForClass / constraint descriptor metadata — throws UnsupportedOperationException today

M6

XML mapping (validation.xml, constraint mappings) — not implemented

M10

Bugs and benchmarks

  • BUG.md — reproducible bugs.

  • BENCH.md — JMH runs vs Hibernate Validator (empty until the bench harness records its first numbers).