Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Paris Kotlin Meetup de mai: Gradle 💙 Kotlin
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mbonnin
May 11, 2023
Technology
79
3
Share
Paris Kotlin Meetup de mai: Gradle 💙 Kotlin
Tout ce que vous voulez savoir (ou pas) sur le Gradle Kotlin DSL (ou build scripts!)
mbonnin
May 11, 2023
More Decks by mbonnin
See All by mbonnin
Metadataquoi??
martinbonnin
0
130
Harmonizing APIs, a comparison of GraphQL and OpenAPI through the Spotify API
martinbonnin
1
79
Construisez votre bibliothèque Java/Kotlin
martinbonnin
2
100
Building libraries for the next 25 years
martinbonnin
2
100
Gratatouille: metaprogramming for your build-logic
martinbonnin
2
180
GraphQL 💙 Kotlin, 2024 edition
martinbonnin
1
87
GraphQL_nullability__state_of_the_union.pdf
martinbonnin
1
39
Offline and Reactive apps with Apollo Kotlin
martinbonnin
1
66
What's new in Apollo Kotlin 3
martinbonnin
2
240
Other Decks in Technology
See All in Technology
Expiration of Secure Boot Certificates for vSphere Virtual Machines
mirie_sd
0
120
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
Arcana: Production-Ready RAG in Elixir @ ElixirConf EU 2026
georgeguimaraes
0
120
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
1
930
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
110
AIが自律的に働く時代へ Amazon Quick で実現するAIエージェント紹介
koheiyoshikawa
0
150
Good Enough Types: Heuristic Type Inference for Ruby
riseshia
1
340
AWS Agent Registry の基礎・概要を理解する/aws-agent-registry-intro
ren8k
3
410
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
470
「責任あるAIエージェント」こそ自社で開発しよう!
minorun365
10
2.5k
Do Ruby::Box dream of Modular Monolith?
joker1007
1
360
音声言語モデル手法に関する発表の紹介
kzinmr
0
150
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
The Cult of Friendly URLs
andyhume
79
6.9k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
230
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
470
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
430
Balancing Empowerment & Direction
lara
6
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Why Our Code Smells
bkeepers
PRO
340
58k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
490
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Transcript
Bienvenue 🤗
Kotlin DSL Tout ce que vous avez toujours voulu savoir
sur le Gradle Kotlin DSL sans jamais le oser le demander.
@MartinBonnin apollographql/apollo-kotlin
Gradle
Google
Jetbrains
Changes • gradle init • Android Studio/IntelliJ templates • API
docs • Documentation!
plugins { id 'org.jetbrains.kotlin.jvm' version '1.5.31' } dependencies { implementation(’com.squareup.okio:okio:3.0.0’)
} kotlin { explicitApi() } tasks { compileKotlin { kotlinOptions { apiVersion = '1.3' } } }
plugins { id("org.jetbrains.kotlin.jvm").version("1.5.31") } dependencies { implementation("com.squareup.okio:okio:3.0.0") } kotlin {
explicitApi() } tasks { compileKotlin { kotlinOptions { apiVersion = "1.3" } } }
It’s good?
It’s (mostly) good! • Autocomplete • Only one language
None
Kotlin DSL (Gradle Kotlin) != Kotlin build scripts (Jetbrains Kotlin)
Kotlin DSL = Kotlin build scripts + generated accessors +
sam-with-receiver + assignment operator + gradleKotlinDSL() + apiVersion + -Xsam-conversions=class
Demo
Wrap up
None
None
None
https://github.com/gradle/gradle/issues/15886#issuecomment-954833377
Pour aller plus loin https://www.youtube.com/watch?v=oavqsLKRuDU
Merci! @MartinBonnin
Resources • https://android-developers.googleblog.com/2023/04/kotlin-dsl-is-now-default-for-new-gradle-builds.html • https://blog.gradle.org/kotlin-dsl-is-now-the-default-for-new-gradle-builds • https://blog.jetbrains.com/kotlin/2023/04/kotlin-dsl-is-the-default-for-new-gradle-builds/ • https://docs.gradle.org/current/userguide/kotlin_dsl.html •
https://github.com/gradle/gradle/pull/24286 • https://gradle.github.io/kotlin-dsl-docs/api/ • https://storage.googleapis.com/martin-public/userguide/writing_in_kotlin.html • https://github.com/gradle/gradle/blob/master/subprojects/kotlin-dsl-provider-plugins/src/main/kotlin/org/gradle/k otlin/dsl/provider/plugins/DefaultProjectSchemaProvider.kt • https://www.youtube.com/watch?v=oavqsLKRuDU