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
0
54
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
71
Building Cross- Platform Applications with Kotlin Multiplatform
kibet
0
34
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
71
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
74
Build Configurations: types, variants and flavors.
kibet
0
62
Opportunities in Tech
kibet
0
82
Introduction To Android Development
kibet
0
50
Other Decks in Programming
See All in Programming
Java 25, Nuevas características
czelabueno
0
120
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
870
クラウドに依存しないS3を使った開発術
simesaba80
0
200
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
500
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.2k
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
430
20251212 AI 時代的 Legacy Code 營救術 2025 WebConf
mouson
0
230
Cell-Based Architecture
larchanjo
0
150
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
620
CSC307 Lecture 01
javiergs
PRO
0
650
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.8k
Vibe codingでおすすめの言語と開発手法
uyuki234
0
150
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
400
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
180
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
GitHub's CSS Performance
jonrohan
1032
470k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
330
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
The SEO identity crisis: Don't let AI make you average
varn
0
43
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
980
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
80
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!