Ward

Does Ward work with Java projects?

Updated

Yes. Ward supports Java projects built with Maven or Gradle, with any framework, on Java 8 to 25. Spring Boot, Quarkus, Micronaut, Helidon, Dropwizard, Javalin and Ktor are labeled when Ward detects them.

What does Ward check in a Java project?

Category Tools
Build and tests Compiler, JUnit, JaCoCo coverage, PIT mutation testing
Code quality Ward rules, SonarQube
Architecture Layer boundaries (Layered, Hexagonal or Clean), slice cycles, feature independence, Maven Enforcer and Gradle checks
Security Gitleaks, Semgrep, OWASP Dependency-Check, Trivy, OWASP ZAP
Compliance License plugins, japicmp API compatibility

Ward runs these tools. The rules for each tool stay in that tool’s own configuration. Lint, format and architecture rules are Ward’s own.

How do I set Ward up in a Java project?

cd your-project
ward init
ward check

ward init detects Maven or Gradle and writes ward.toml. It supports multi-module builds. Ward never installs the tools it runs: a missing tool is reported as UNAVAILABLE.

Which Java versions does Ward support?

Ward supports Java 8 to 25. When no version of a gate’s tool runs on your JDK, ward init leaves that gate out and configures the others. Ward is in alpha, so the CLI and the configuration may change before 1.0.

Where do I go next?

Ready to try it? Install Ward and run ward init in your project.