SlideShare a Scribd company logo
Gradle:
One technology to build them all
Baptiste Mesta - R&D Engineer @ Bonitasoft
@baptistemesta
1
Baptiste Mesta
R&D Engineer @ Bonitasoft since 2009
● BPM Execution engine
● Developer tooling
● IA/Analytics module
Twitter: @baptistemesta
Github: baptistemesta
About me
2
• What is Gradle?
• How it works
• Build all kinds of projects
• Enjoy the benefits of Gradle
Agenda
3
What is Gradle?
4
• Build tool written in Java
• Execute on the JVM
• Open source
• Supported by a company: Gradle Inc.
What is Gradle?
5
Comprehensive DSL to configure build
What is Gradle?
6
Easy to read build execution
What is Gradle?
7
Gradle Maven
Highly customizable and extensible
What is Gradle?
8
How it works
9
• Reads Gradle build scripts
• Creates a dependency graph of tasks
• Executes required tasks
How it works
10
Tasks: units of work
How it works
11
Tasks can have dependencies
How it works
12
How it works
13
compileJava
Inputs Outputs
src/main/java/**/*.java build/classes/java/main/**
/*.class
Simple Java project
How it works
14
How it works
15
Build all kinds of projects
16
“Java is nice… but I also have some "Go" in my project…”
Build all kinds of projects
17
... plugins to the rescue!
Use a community plugin to build a Go project
Build all kinds of projects
18
Use a community plugin to build a Go project
Build all kinds of projects
19
“What if there is no community plugin that fits my needs?”
Build all kinds of projects
20
… extract your build logic to a custom plugin
Build all kinds of projects
21
buildUIDPage
Inputs Outputs
.json + .js .html + .css + .js
Call build Get page
Build all kinds of projects
22
Go module: community plugin
UID page: custom plugin
App distrib: depends on other
modules and packages them
Java module: provided plugins
“Ok I can build all kind of technologies with Gradle…
but why should I?”
Build all kind of projects
23
Enjoy the benefits of Gradle
24
“Do I still need to install Node, npm and Go locally?”
Plugins download distributions if required
Enjoy the benefits of Gradle
25
“Do I still need to install Gradle?”
Use the Gradle wrapper
You only need a JVM on your environment and on your CI
Enjoy the benefits of Gradle
26
Work avoidance
Enjoy the benefits of Gradle
27
TaskInputs Outputs
Source files Files produced
Compare hash of
source files from
previous build Same hash: Skip the task
Hash changed: Execute
the task
Work avoidance
First build
Enjoy the benefits of Gradle
28
Java dev
Go
Java
UID
Distribution
1. Build
3. Compile
5. Zip all
2. Compile
4. Compile
My project
Work avoidance
Second build
Enjoy the benefits of Gradle
29
Java dev
Go
Java
UID
Distribution
1. Build
again 3. Compile
5. Zip all
2. Compile
4. Compile
My project
UP-TO-DATE
UP-TO-DATE
UP-TO-DATE
UP-TO-DATE
Work avoidance
Third build with code change
Enjoy the benefits of Gradle
30
Java dev
Go
Java
UID
Distribution
1. Modify
Java
code and
build
3. Compile
5. Zip all
2. Compile
4. Compile
My project
UP-TO-DATE
UP-TO-DATE
Work avoidance for your team / CI
Enjoy the benefits of Gradle
31
Back to our multi-techno build. What happens in real life?
Enjoy the benefits of Gradle
32
Java dev
Go
Java
UID
Distribution
1. Update
+ build 3. Compile
5. Zip all
2. Compile
4. Compile
My project
Back to our multi-techno build. What happens in real life?
Enjoy the benefits of Gradle
33
Java dev
Remote
cache
Go
Java
UID
Distribution
1. Update
+ build
2. Retrieve
from cache
5. Zip all
2. Compile
3. Compile
4. Compile
My project
Enjoy the benefits of Gradle
34
Our Java developer never had to build Go or UID modules
Build time gained @ Bonitasoft on a small Java project
Enjoy the benefits of Gradle
35
Without cache
With cache
Enjoy the benefits of Gradle
36
Without cache
With cache
Build time gained @ Bonitasoft on a project with
30 modules: Java + react + custom
No tools to install
Gradle distribution and other tooling
are downloaded and cached
Enjoy the benefits of Gradle
37
Each developer can focus on what matters to them
Don't need to rebuild everything locally
Enjoy the benefits of Gradle
38
No need to read setup
documentation on every project
Just run ./gradlew build
Enjoy the benefits of Gradle
39
Yes we can build everything with gradle!
Yes it is useful when mixing technologies!
Use the build cache!
Conclusion
40
Thank you!
Baptiste Mesta
Twitter: @baptistemesta
Github: baptistemesta
41
Work avoidance
First build
Enjoy the benefits of Gradle
42
Work avoidance
Second build
Enjoy the benefits of Gradle
43
Work avoidance
After some sources are modified
Enjoy the benefits of Gradle
44

More Related Content

PPTX
PPTX
GitLab for CI/CD process
PDF
Common blind spots on the journey to production vijay raghavan aravamudhan
PDF
Cloudaustin rundeck-docker
PPTX
不只自動化而且更敏捷的Android開發工具 gradle
PPTX
Continuous integration using jenkins
PPTX
2015 05-06-karsten gaebert-akademie-etrainings
PDF
Devoxx Belgium 2017 - easy microservices with JHipster
GitLab for CI/CD process
Common blind spots on the journey to production vijay raghavan aravamudhan
Cloudaustin rundeck-docker
不只自動化而且更敏捷的Android開發工具 gradle
Continuous integration using jenkins
2015 05-06-karsten gaebert-akademie-etrainings
Devoxx Belgium 2017 - easy microservices with JHipster

What's hot (20)

PDF
Git slides
PDF
Building Big Architectures XP Conference 2016
PDF
Building a loosely coupled toolchain with Rundeck and Puppet
PPTX
SanDiego_DevOps_Meetup_9212016-v8
PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
PPTX
All Around Azure: DevOps with GitHub - Managing the Flow of Work
PDF
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
PDF
Devoxx : being productive with JHipster
PPTX
Continuous integration using Bamboo
PPTX
Gitlab CI/CD
PPTX
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
PDF
Continuous integration / deployment with Jenkins
PDF
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
PDF
Javantura v4 - Android App Development in 2017 - Matej Vidaković
PDF
What's new in Gradle 4.0
PDF
Continuous Integration
PDF
JHipster Code 2020 keynote
PPTX
Introduction to android studio 2.0 and data binding library
PDF
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
PPTX
Сергей Моренец: "Gradle. Write once, build everywhere"
Git slides
Building Big Architectures XP Conference 2016
Building a loosely coupled toolchain with Rundeck and Puppet
SanDiego_DevOps_Meetup_9212016-v8
Magento Continuous Integration & Continuous Delivery @MM17HR
All Around Azure: DevOps with GitHub - Managing the Flow of Work
ApacheCon Europe 2016 : CONTAINERS IN ACTION - Transform Application Delivery...
Devoxx : being productive with JHipster
Continuous integration using Bamboo
Gitlab CI/CD
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / deployment with Jenkins
Javantura v4 - Support SpringBoot application development lifecycle using Ora...
Javantura v4 - Android App Development in 2017 - Matej Vidaković
What's new in Gradle 4.0
Continuous Integration
JHipster Code 2020 keynote
Introduction to android studio 2.0 and data binding library
Anatomy of a Continuous Integration and Delivery (CICD) Pipeline
Сергей Моренец: "Gradle. Write once, build everywhere"
Ad

Similar to Gradle: One technology to build them all (20)

PPTX
Exploring the power of Gradle in android studio - Basics & Beyond
PDF
Gradle enabled android project
PPTX
Gradle,the new build system for android
PDF
Keeping your build tool updated in a multi repository world
PPTX
Javaone 2013 moscow gradle english
PDF
Android gradle-build-system-overview
PDF
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
PDF
Introduction to gradle
PPTX
Gradle and Android Studio : Best of Friends
PDF
Gradle explained
PDF
Gitlab ci e kubernetes, build test and deploy your projects like a pro
PPTX
Cloud Study Jam Exploring the Cloud
PDF
ICONUK 2015 - Gradle Up!
PDF
DevOps & SRE at Google Scale
PDF
Gradle - Build System
PDF
Gradle - the Enterprise Automation Tool
PDF
Why Gradle?
PDF
Gradle build automation tool
PDF
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
PDF
Gradle
Exploring the power of Gradle in android studio - Basics & Beyond
Gradle enabled android project
Gradle,the new build system for android
Keeping your build tool updated in a multi repository world
Javaone 2013 moscow gradle english
Android gradle-build-system-overview
From GitHub Source to GitHub Release: Free CICD Pipelines For JavaFX Apps
Introduction to gradle
Gradle and Android Studio : Best of Friends
Gradle explained
Gitlab ci e kubernetes, build test and deploy your projects like a pro
Cloud Study Jam Exploring the Cloud
ICONUK 2015 - Gradle Up!
DevOps & SRE at Google Scale
Gradle - Build System
Gradle - the Enterprise Automation Tool
Why Gradle?
Gradle build automation tool
Enhance Your Kubernetes CI/CD Pipelines With GitLab & Open Source
Gradle
Ad

More from Bonitasoft (20)

PPTX
Digitalize your processes in 2020
PPTX
Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
PDF
Build a Center of Excellence
PDF
Construir un Centro de Excellencia
PDF
User Centered Design: guarantee that your business process automation project...
PDF
Bonnes pratiques #5 - Votre première application est en production. Et mainte...
PDF
Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...
PPTX
Best Practices #5: Your first application is in production! Now what?
PDF
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
PDF
e-ciudadanos: la evolución de los procesos administrativos
PDF
Best Practices - chapter #4 - Web UI development and Bonita infrastructure setup
PDF
Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...
PDF
Best Practices - chapter #3 - Business and developer collaboration with Bonita
PDF
Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...
PPTX
DPA Bonita plateforme socle de votre automatisation des processus métiers - P...
PPTX
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
PDF
Bonita Cloud - Florent Sarat - Bonitaday Paris 2019
PDF
Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019
PDF
BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...
PDF
Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...
Digitalize your processes in 2020
Digitaliser ses processus en 2020 avec le Club des Pilotes de Processus
Build a Center of Excellence
Construir un Centro de Excellencia
User Centered Design: guarantee that your business process automation project...
Bonnes pratiques #5 - Votre première application est en production. Et mainte...
Buenas Prácticas ES - Capítulo #5 - ¡Tu primera aplicación está en producción...
Best Practices #5: Your first application is in production! Now what?
IDC Observatoire 2020 de l'Automatisation des Métiers: vers l'Intelligent Pro...
e-ciudadanos: la evolución de los procesos administrativos
Best Practices - chapter #4 - Web UI development and Bonita infrastructure setup
Buenas Prácticas ES - Capítulo #3 - Colaboración entre negocio y desarrollo c...
Best Practices - chapter #3 - Business and developer collaboration with Bonita
Bonnes pratiques pour gérer l'automatisation de vos processus - Chapitre 3 - ...
DPA Bonita plateforme socle de votre automatisation des processus métiers - P...
Bonita 7.10 - Nathalie Cotté - Bonitaday Paris 2019
Bonita Cloud - Florent Sarat - Bonitaday Paris 2019
Adaptive Case Management avec Bonita - Adrien Lachambre - Bonitaday Paris 2019
BPM & RPA l'automatisation de bout-en-bout - Bonitasoft et UiPath - Bonitaday...
Bonita et l'orchestration de micro-services - Nicolas Chabanoles - Bonitaday ...

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Electronic commerce courselecture one. Pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Modernizing your data center with Dell and AMD
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Approach and Philosophy of On baking technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Dropbox Q2 2025 Financial Results & Investor Presentation
Electronic commerce courselecture one. Pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Modernizing your data center with Dell and AMD
Advanced methodologies resolving dimensionality complications for autism neur...
Spectral efficient network and resource selection model in 5G networks
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Approach and Philosophy of On baking technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
Diabetes mellitus diagnosis method based random forest with bat algorithm

Gradle: One technology to build them all

  • 1. Gradle: One technology to build them all Baptiste Mesta - R&D Engineer @ Bonitasoft @baptistemesta 1
  • 2. Baptiste Mesta R&D Engineer @ Bonitasoft since 2009 ● BPM Execution engine ● Developer tooling ● IA/Analytics module Twitter: @baptistemesta Github: baptistemesta About me 2
  • 3. • What is Gradle? • How it works • Build all kinds of projects • Enjoy the benefits of Gradle Agenda 3
  • 5. • Build tool written in Java • Execute on the JVM • Open source • Supported by a company: Gradle Inc. What is Gradle? 5
  • 6. Comprehensive DSL to configure build What is Gradle? 6
  • 7. Easy to read build execution What is Gradle? 7 Gradle Maven
  • 8. Highly customizable and extensible What is Gradle? 8
  • 10. • Reads Gradle build scripts • Creates a dependency graph of tasks • Executes required tasks How it works 10
  • 11. Tasks: units of work How it works 11 Tasks can have dependencies
  • 13. How it works 13 compileJava Inputs Outputs src/main/java/**/*.java build/classes/java/main/** /*.class
  • 14. Simple Java project How it works 14
  • 16. Build all kinds of projects 16
  • 17. “Java is nice… but I also have some "Go" in my project…” Build all kinds of projects 17 ... plugins to the rescue!
  • 18. Use a community plugin to build a Go project Build all kinds of projects 18
  • 19. Use a community plugin to build a Go project Build all kinds of projects 19
  • 20. “What if there is no community plugin that fits my needs?” Build all kinds of projects 20 … extract your build logic to a custom plugin
  • 21. Build all kinds of projects 21 buildUIDPage Inputs Outputs .json + .js .html + .css + .js Call build Get page
  • 22. Build all kinds of projects 22 Go module: community plugin UID page: custom plugin App distrib: depends on other modules and packages them Java module: provided plugins
  • 23. “Ok I can build all kind of technologies with Gradle… but why should I?” Build all kind of projects 23
  • 24. Enjoy the benefits of Gradle 24
  • 25. “Do I still need to install Node, npm and Go locally?” Plugins download distributions if required Enjoy the benefits of Gradle 25
  • 26. “Do I still need to install Gradle?” Use the Gradle wrapper You only need a JVM on your environment and on your CI Enjoy the benefits of Gradle 26
  • 27. Work avoidance Enjoy the benefits of Gradle 27 TaskInputs Outputs Source files Files produced Compare hash of source files from previous build Same hash: Skip the task Hash changed: Execute the task
  • 28. Work avoidance First build Enjoy the benefits of Gradle 28 Java dev Go Java UID Distribution 1. Build 3. Compile 5. Zip all 2. Compile 4. Compile My project
  • 29. Work avoidance Second build Enjoy the benefits of Gradle 29 Java dev Go Java UID Distribution 1. Build again 3. Compile 5. Zip all 2. Compile 4. Compile My project UP-TO-DATE UP-TO-DATE UP-TO-DATE UP-TO-DATE
  • 30. Work avoidance Third build with code change Enjoy the benefits of Gradle 30 Java dev Go Java UID Distribution 1. Modify Java code and build 3. Compile 5. Zip all 2. Compile 4. Compile My project UP-TO-DATE UP-TO-DATE
  • 31. Work avoidance for your team / CI Enjoy the benefits of Gradle 31
  • 32. Back to our multi-techno build. What happens in real life? Enjoy the benefits of Gradle 32 Java dev Go Java UID Distribution 1. Update + build 3. Compile 5. Zip all 2. Compile 4. Compile My project
  • 33. Back to our multi-techno build. What happens in real life? Enjoy the benefits of Gradle 33 Java dev Remote cache Go Java UID Distribution 1. Update + build 2. Retrieve from cache 5. Zip all 2. Compile 3. Compile 4. Compile My project
  • 34. Enjoy the benefits of Gradle 34 Our Java developer never had to build Go or UID modules
  • 35. Build time gained @ Bonitasoft on a small Java project Enjoy the benefits of Gradle 35 Without cache With cache
  • 36. Enjoy the benefits of Gradle 36 Without cache With cache Build time gained @ Bonitasoft on a project with 30 modules: Java + react + custom
  • 37. No tools to install Gradle distribution and other tooling are downloaded and cached Enjoy the benefits of Gradle 37
  • 38. Each developer can focus on what matters to them Don't need to rebuild everything locally Enjoy the benefits of Gradle 38
  • 39. No need to read setup documentation on every project Just run ./gradlew build Enjoy the benefits of Gradle 39
  • 40. Yes we can build everything with gradle! Yes it is useful when mixing technologies! Use the build cache! Conclusion 40
  • 41. Thank you! Baptiste Mesta Twitter: @baptistemesta Github: baptistemesta 41
  • 42. Work avoidance First build Enjoy the benefits of Gradle 42
  • 43. Work avoidance Second build Enjoy the benefits of Gradle 43
  • 44. Work avoidance After some sources are modified Enjoy the benefits of Gradle 44