Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Guardrail State of the Union 2021-04-13
sullis
April 13, 2021
Programming
0
140
Guardrail State of the Union 2021-04-13
Guardrail project
Portland Java User Group
2021-04-13
#openapi
#java
#scala
sullis
April 13, 2021
Tweet
Share
More Decks by sullis
See All by sullis
Code generation on the Java VM 2022-04-19
sullis
0
38
Mockito 2022-01-25
sullis
0
98
GitHub Actions 2021-12-16
sullis
0
12
Apache Struts and the Equifax data breach 2021-06-03
sullis
0
21
Guardrail: State of the Union 2021-03-18
sullis
0
79
Java on AWS 2020-12-15
sullis
0
160
Continuous Delivery with GitHub Actions - DeliveryConf 2020
sullis
0
490
OpenAPI and Java - Portland - 2019-12-10
sullis
0
170
Code generation on the Java VM 2019-12-05
sullis
0
240
Other Decks in Programming
See All in Programming
Recap CDN, Edge, WebAssembly | ワインと鍋.js#1
sadnessojisan
2
1.2k
SRE NEXT 2022に学ぶこれからのSREキャリア
fukubaka0825
2
400
動画合成アーキテクチャを実装してみて
satorunooshie
0
570
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
1
220
僕が便利だと感じる Snow Monkey の特徴/20220723_Gifu_WordPress_Meetup
oleindesign
0
110
Windows コンテナ Dojo 第5回 OpenShift で学ぶ Kubernetes 入門
oniak3ibm
PRO
0
200
Register-based calling convention for Go functions
cjamhe01385
0
420
FutureCon 2022 FlutterアプリのPerformance測定
harukafujita
0
140
RustのWebフレームワーク周りの概観
hayao
0
180
SAM × Dockerでサーバーレス開発が超捗った話
yu_yukk_y
1
430
LetsTry
maimux2x
0
100
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
0
130
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
How GitHub Uses GitHub to Build GitHub
holman
465
280k
Building Flexible Design Systems
yeseniaperezcruz
310
34k
WebSockets: Embracing the real-time Web
robhawkes
57
5.6k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Art, The Web, and Tiny UX
lynnandtonic
280
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
316
19k
GraphQLの誤解/rethinking-graphql
sonatard
31
6.8k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
Mobile First: as difficult as doing things right
swwweet
213
7.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
638
53k
Transcript
Sean Sulliva n April 13, 202 1 Portland Java User
Group Guardrai l State of the Union
Introductio n What’s ne w Artisan qualit y 2021 Roadmap
Guardrai l is a code generation tool
Guardrail OpenAPI Java Scala
generated code OpenAPI
January 2017
First public release : September 2017
First blog post: March 2018
Guardrail is opinionated
API First development
Strongly typed code
Make illegal states unrepresentable
Leverage th e type system t o ensure correctness
Embrac e referential transparency
Favor immutability
Generate idiomatic code
What’s New?
https://github.com/guardrail-dev New GitHub org
sbt plugi n Maven plugi n Gradle plugin
None
Java collection s VAVR collections
VAVR support
<plugin > <groupId>com.twilio</groupId > <artifactId>guardrail-maven-plugin_2.12</artifactId> <version>0.62.2</version > … <modules >
<module>java-vavr</module > <module>jackson</module > <module>dropwizard</module > <module>async-http-client</module> </modules > … <plugin > VAVR pom.xml
Dropwizar d Spring MVC
Spring
Sample apps
None
None
None
Artisan quality
Continuous integration
Travis CI GitHu b Actions
None
None
Which version of Java?
JDK 8 JDK 1 1 JDK 13 JDK 1 4
JDK 1 5 JDK 16
Build matrix
Publish to Maven Central
ScalaTes t ScalaChec k Scoverage Testing, Testing, Testing
EqualsVeri fi e r sbt-tes t maven-invoker-plugin Testing, Testing, Testing
maven-invoker-plugin Integration tests
Roadmap
OpenAPI 3. 1 Dropwizard 2. x Scala 3.0
Final thoughts
Guardrail is awesom e API First developmen t Code generation
is a force multiplier
Contribute to guardrail !
Questions?
The End