Guardrail project State of the Union 2021-03-18
#scala #java #codegen #openapi
https://guardrail.dev
Sean SullivanMarch 18, 2021GuardrailState of the Union
View Slide
IntroductionWhat’s newArtisan quality2021 Roadmap
Guardrailisacode generation tool
GuardrailOpenAPIJavaScala
generated codeOpenAPI
January 2017
First public release:September 2017
First blog post: March 2018
Guardrail is opinionated
API First development
Strongly typed code
Make illegal statesunrepresentable
Leverage thetype system toensure correctness
Embracereferential transparency
Favor immutability
Generate idiomatic code
What’s New?
https://github.com/guardrail-devNew GitHub org
sbt pluginMaven pluginGradle plugin
Java collectionsVAVR collections
VAVR support
>com.twilio>guardrail-maven-plugin_2.12 0.62.2>…>java-vavr>jackson>dropwizard>async-http-client >…>VAVRpom.xml
DropwizardSpring MVC
Spring
Sample apps
Artisan quality
Continuousintegration
Travis CIGitHubActions
Which version of Java?
JDK8JDK 11JDK 13JDK 14JDK 15JDK 16
Build matrix
Publish to Maven Central
ScalaTestScalaCheckScoverageTesting, Testing, Testing
EqualsVerifiersbt-testmaven-invoker-pluginTesting, Testing, Testing
maven-invoker-pluginIntegration tests
Roadmap
OpenAPI 3.1Dropwizard 2.xScala 3.0
Final thoughts
Guardrail is awesomeAPI First developmentCode generation is a force multiplier
Contribute to guardrail !
Questions?
The End