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
Gradle Dive: Writing Custom Plugins
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Theophilus Kibet
November 15, 2022
Programming
63
0
Share
Gradle Dive: Writing Custom Plugins
Theophilus Kibet
November 15, 2022
More Decks by Theophilus Kibet
See All by Theophilus Kibet
From Source to Bytecode: Understanding the Kotlin Compilation Process
kibet
0
84
Building Cross- Platform Applications with Kotlin Multiplatform
kibet
0
42
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
85
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
80
Build Configurations: types, variants and flavors.
kibet
0
71
Opportunities in Tech
kibet
0
90
Introduction To Android Development
kibet
0
59
Other Decks in Programming
See All in Programming
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
今さら聞けないCancellationToken
htkym
0
160
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
3
330
継続的な負荷検証を目指して
pyama86
3
1.3k
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.1k
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
220
横断組織出身のQAEがインプロセスQAEでつまずいたこと・活かせたこと
ty89
0
170
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
130
関係性から理解する"同一性"の型用語たち
pvcresin
2
290
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
230
AI時代になぜ書くのか
mutsumix
0
440
iOS26時代の新規アプリ開発
yuukiw00w
0
160
Featured
See All Featured
Everyday Curiosity
cassininazir
0
210
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
200
Fireside Chat
paigeccino
42
3.9k
New Earth Scene 8
popppiees
3
2.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building an army of robots
kneath
306
46k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
110
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
560
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
170
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
Transcript
Gradle Dive: Writing Custom Plugins Theophilus Kibet Android Engineer @Kyosk
@_kibetheophilus
:app
:app :feature:profile :feature:cart :feature:products :data:local :data:network :core
26+
- Each module needs a build.gradle.
- Each module needs a build.gradle. - Duplicate scripts in
each module.
- Each module needs a build.gradle. - Duplicate scripts in
each module. - Hard to maintain.
- Each module needs a build.gradle - Duplicate scripts in
each module - Hard to maintain e.g creating a build type
- Declares Gradle plugins. Each build.gradle
- Declares Gradle plugins. - Sets build parameters. Each build.gradle
- Declares Gradle plugins. - Sets build parameters. - Declares
dependencies. Each build.gradle
Gradle Plugin
- packages up reusable pieces of build logic, which can
be used across many different projects and builds. Gradle Plugin
- Script Plugin Types of Plugins
- Script Plugin - Binary Plugin Types of Plugins
- Additional build script Script Plugin
- Additional build script - apply from : “flavors.gradle” Script
Plugin
- Written by implementing plugin interface. Binary Plugin
- Written by implementing plugin interface - Applied using a
unique id Binary Plugin
- Written by implementing plugin interface - Applied using a
unique id - plugins { id(“com.android.library”) } Binary Plugin
- What will the plugin do? Creating a Plugin
- Add gradleApi() and kotlin dependencies Setup
None
- Add gradleApi() and kotlin dependencies - Create a class
implementing Plugin interface Setup
None
None
None
None
None
- Share build logic across modules - Reduced build script
size - Migrate all our files to kts Benefits
Questions?
Thank you!