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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Theophilus Kibet
November 15, 2022
Programming
70
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
100
Building Cross- Platform Applications with Kotlin Multiplatform
kibet
0
48
Crafting Custom Lint Rules: Elevating Android Code Quality
kibet
0
100
Mastering GitHub Actions: Automate and Supercharge Your Development Workflow
kibet
0
97
Build Configurations: types, variants and flavors.
kibet
0
79
Opportunities in Tech
kibet
0
93
Introduction To Android Development
kibet
0
70
Other Decks in Programming
See All in Programming
AI に Inclusive UI を書かせよう — Design Rules Skill で Compose UI を作り直す
theoriatec2024
1
430
Building an Out-of-Order CPU
latte72
0
630
「つくるAI」だけではバグは見つからない ~テストに必要な「見つけるAI」を分離させる戦略~
mfunaki
0
230
「AI時代、配布するPythonコードをどう守るか: 難読化の実験と判断軸」 #PyconJP2026
pkshadeck
PRO
2
140
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
350
My Marp Sample
sinoue0108
0
140
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
140
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
What We Talk About When We Talk About XP
m_seki
2
320
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
490
Featured
See All Featured
From π to Pie charts
rasagy
0
350
What's in a price? How to price your products and services
michaelherold
247
13k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Being A Developer After 40
akosma
91
590k
Prompt Engineering for Job Search
mfonobong
0
430
Typedesign – Prime Four
hannesfritz
42
3.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Facilitating Awesome Meetings
lara
57
7.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
WCS-LA-2024
lcolladotor
0
820
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!