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
85
Introduction To Android Development
kibet
0
53
Other Decks in Programming
See All in Programming
Claude Code Skill入門
mayahoney
0
460
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
590
The free-lunch guide to idea circularity
hollycummins
0
400
Feature Toggle は捨てやすく使おう
gennei
0
400
へんな働き方
yusukebe
6
2.9k
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
910
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
180
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
PHPで TLSのプロトコルを実装してみる
higaki_program
0
730
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
650
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
320
飯MCP
yusukebe
0
450
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
170
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
300
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
90
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
230
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.8k
4 Signs Your Business is Dying
shpigford
187
22k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
81
Art, The Web, and Tiny UX
lynnandtonic
304
21k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
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!