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
Theophilus Kibet
November 15, 2022
Programming
59
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
77
Building Cross- Platform Applications with Kotlin Multiplatform
kibet
0
38
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
76
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
76
Build Configurations: types, variants and flavors.
kibet
0
65
Opportunities in Tech
kibet
0
86
Introduction To Android Development
kibet
0
53
Other Decks in Programming
See All in Programming
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
310
Swift Concurrency Type System
inamiy
0
290
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
140
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
160
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
150
Coding as Prompting Since 2025
ragingwind
0
760
安いハードウェアでVulkan
fadis
1
920
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
PHPで TLSのプロトコルを実装してみる
higaki_program
0
740
Featured
See All Featured
What does AI have to do with Human Rights?
axbom
PRO
1
2.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Facilitating Awesome Meetings
lara
57
6.8k
We Are The Robots
honzajavorek
0
210
Paper Plane
katiecoart
PRO
1
49k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
120
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to Ace a Technical Interview
jacobian
281
24k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
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!