Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
51
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
27
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
68
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
73
Build Configurations: types, variants and flavors.
kibet
0
59
Opportunities in Tech
kibet
0
80
Introduction To Android Development
kibet
0
49
Other Decks in Programming
See All in Programming
ゲームの物理 剛体編
fadis
0
200
Herb to ReActionView: A New Foundation for the View Layer @ San Francisco Ruby Conference 2025
marcoroth
0
240
俺流レスポンシブコーディング 2025
tak_dcxi
13
8.1k
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
150
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
360
AIコーディングエージェント(NotebookLM)
kondai24
0
140
AIコーディングエージェント(skywork)
kondai24
0
130
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
CSC509 Lecture 14
javiergs
PRO
0
220
関数の挙動書き換える
takatofukui
4
770
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
110
『実践MLOps』から学ぶ DevOps for ML
nsakki55
2
560
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
What's in a price? How to price your products and services
michaelherold
246
12k
Making Projects Easy
brettharned
120
6.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Become a Pro
speakerdeck
PRO
30
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Bash Introduction
62gerente
615
210k
Rails Girls Zürich Keynote
gr2m
95
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Code Review Best Practice
trishagee
73
19k
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!