Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Gradle Dive: Writing Custom Plugins
Search
Theophilus Kibet
November 15, 2022
Programming
0
53
Gradle Dive: Writing Custom Plugins
Theophilus Kibet
November 15, 2022
Tweet
Share
More Decks by Theophilus Kibet
See All by Theophilus Kibet
From Source to Bytecode: Understanding the Kotlin Compilation Process
kibet
0
69
Building Cross- Platform Applications with Kotlin Multiplatform
kibet
0
29
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
69
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
74
Build Configurations: types, variants and flavors.
kibet
0
60
Opportunities in Tech
kibet
0
81
Introduction To Android Development
kibet
0
50
Other Decks in Programming
See All in Programming
Graviton と Nitro と私
maroon1st
0
110
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.3k
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
190
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
130
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
170
愛される翻訳の秘訣
kishikawakatsumi
3
330
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
160
ゲームの物理 剛体編
fadis
0
350
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
410
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
130
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
250
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
380
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Color Theory Basics | Prateek | Gurzu
gurzu
0
140
For a Future-Friendly Web
brad_frost
180
10k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
22
The browser strikes back
jonoalderson
0
55
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
From π to Pie charts
rasagy
0
86
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Raft: Consensus for Rubyists
vanstee
141
7.2k
How GitHub (no longer) Works
holman
316
140k
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!