Skip to content

Latest commit

 

History

History
30 lines (21 loc) · 1.25 KB

File metadata and controls

30 lines (21 loc) · 1.25 KB

serve.build

Codebase Overview

A lightweight, JPMS-native HTTP server framework for Java 25+ built directly on jdk.httpserver, virtual threads, scoped values, and structured concurrency. Routes are code, DI is explicit. Part of the *.build family.

Stack: Java 25 (preview enabled), Maven multi-module, Jackson, graphql-java, JTE, JUnit 5 + AssertJ
Structure: 19 JPMS modules — core layer (foundation, transports, application, testing), protocol layer (WebSocket, SSE, MCP, LSP, GraphQL), middleware layer (CORS, security, compression, logging, health, static), template layer ( template SPI, JTE, HTMX)

For detailed architecture, see docs/CODEBASE_MAP.md.

Key Conventions

  • 4-space indentation everywhere (accessibility standard)
  • Null-free: use Optional<T> instead of null in public APIs
  • Test method names must start with should or shouldNot
  • No mocks: use stub implementations (StubRequest, StubResponse) in tests
  • Middleware order: first-registered = outermost (applied in reverse)

Build

./mvnw clean verify          # build + test all modules
./mvnw -pl serve-foundation test   # test a single module

Requires Java 25. Dependencies are resolved from Maven Central.