guardrail [](https://github.com/guardrail-dev/guardrail/actions?query=workflow%3A%22CI%22)

December 28, 2023 ยท View on GitHub

guardrail is a code generation tool, capable of reading from OpenAPI/Swagger specification files and generating both Scala and Java source code, targeting various libraries and frameworks listed here:

  • Scala: akka-http and http4s, both backed by circe, as well as dropwizard backed by jackson
  • Java: dropwizard and spring-mvc, both backed by jackson

Build tool plugins

Pluginsversionsdocs
guardrail-dev/sbt-guardrailsbt-guardraildocs
guardrail-dev/guardrail-maven-pluginguardrail-maven-plugindocs
guardrail-dev/guardrail-gradle-pluginguardrail-gradle-pluginPlugin Portal
CLI supportLatestcs install guardrail, docs

New to guardrail?

Check out the docs!

Compatible library versions are listed in COMPATIBILITY.md

guardrail module versions

guardrail is modularized, using sbt-version-policy to ensure binary compatibility between dependent modules.

The dependency chain and versions of published modules are listed below for reference:

moduleversiondepends on
guardrail-coreguardrail-core
guardrail-java-supportguardrail-java-supportcore
guardrail-java-async-httpguardrail-java-async-httpjava-support
guardrail-java-dropwizardguardrail-java-dropwizardjava-support, java-async-http
guardrail-java-spring-mvcguardrail-java-spring-mvcjava-support
guardrail-scala-supportguardrail-scala-supportcore
guardrail-scala-akka-httpguardrail-scala-akka-httpscala-support
guardrail-scala-dropwizardguardrail-scala-dropwizardscala-support
guardrail-scala-http4sguardrail-scala-http4sscala-support
guardrail-cliguardrail-cliguardrail-core

Interested in contributing?

CONTRIBUTING.md provides an overview of how the project is structured, expectations, and information around writing new integration tests. The issue tracker also has tags for help wanted and good first issue.

Adopters

Contributors

We used to have a list of contributors here, but github's Contributors page is much more accurate. Thanks to those who contributed before the project was open sourced!