Skip to main content
Version: V2-Next

Build & Test

Module Layout​

ModuleArtifactContent
core-model-forge-parentparent POMShared build configuration, Spotless, enforcer rules and reproducible-build settings
model-forge-contractcore-model-forge-contractPublic records (commands, results, queries), the facade interface and URN helpers
model-forge-runtimecore-model-forge-runtimeFacade implementation, ports, use cases, PostgreSQL registry adapter (migrations) and HTTP integration adapters
model-forge-spring-boot-startercore-model-forge-spring-boot-starterSpring Boot auto-configuration for host applications
model-forge-admin-uicore-model-forge-admin-uiInternal developer tool (Spring Boot + Wicket) that exercises the library through the facade against a real Postgres registry
mvn test
mvn verify

Run these from the model-forge/ subdirectory of the mono-repo (CI does cd model-forge before invoking Maven).

Quality Gates​

  • JaCoCo - coverage agent + report for model-forge-contract only (no hard coverage gate)
  • Spotless - whitespace and formatting hygiene
  • SpotBugs - static bug analysis
  • Maven Enforcer - JDK >= 25, Maven >= 3.9, dependency hygiene
  • ArchUnit - module and package boundaries
  • Reproducible builds - fixed project.build.outputTimestamp

Test Suite​

KindExamplesWhat it guarantees
Unit / slice testsUrnParserTest, XsdToJsonSchemaConverterTest, ModelValidatorTestComponent behaviour and edge cases
Application testsimport, validation, view and graph servicesEmbedded use cases without web adapters
Contract testsContract record and URN parser testsPublic contract stability
Architecture testsArchUnit tests per moduleNo forbidden web/infrastructure dependencies
Registry integration testsPostgreSQL adapter testsReal PostgreSQL round-trips through the registry port
Starter testsApplicationContextRunner testsAuto-configuration creates the embedded facade without web controllers