the future of gradle - the ultimate build system
DESCRIPTION
Speaker: Hans Dockter More Groovy Track We are convinced that Gradle is already the best available enterprise build system. Yet we are far from done. We have finally the R&D bandwidth to deeply improve Gradle in the areas where it lacks. We also have the bandwidth to contribute some fundamental innovation to the domain of build and continuous delivery. All this will bring Gradle much closer to our vision of Gradle being the ultimate build system. We start by giving an overview of where Gradle is currently in the build system market when it comes to features and adoption. We will then talk about the next generation multi-platform dependency management. A dependency management that can fully capture the requirements of Android, JavaScript and the native domain as well as to improve the dependency management for the Java world. We will talk about how Gradle will dramatically improve the performance by introducing global caches and other optimizations. Finally we will talk about the new Gradle extendability model and its upcoming native and Javascript support.TRANSCRIPT
![Page 1: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/1.jpg)
The Future of Gradle
Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d
![Page 2: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/2.jpg)
<momentum>
![Page 3: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/3.jpg)
2 Million
![Page 4: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/4.jpg)
0
20
40
60
80
100
1/7/075/6/079/2/071/6/085/4/089/7/081/4/095/3/099/6/091/3/105/2/109/5/101/2/115/1/119/4/111/1/125/6/129/2/121/6/135/5/139/1/131/5/14
Gradle Cloudera
Google Trends
![Page 5: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/5.jpg)
![Page 6: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/6.jpg)
“Over the past twelve months, 80 developers contributed new code to Gradle. This is one of the
largest open-source teams in the world …”
www.ohloh.net
“Very High Activity”
“Over the entire history of the project, 159 developers have contributed.”
![Page 7: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/7.jpg)
Community Gradle Plugins
200+
![Page 8: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/8.jpg)
© Gradleware, confidential – Do not distribute
5All rights reserved. 2014 © ZeroTurnaround OÜ
Sample population of 2164 Java professionals, sample error 2.1%
![Page 9: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/9.jpg)
“When did Gradle get so hot?” TSS 6/9/2014
![Page 10: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/10.jpg)
</momentum>
![Page 11: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/11.jpg)
<Gradle 2.0>
![Page 12: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/12.jpg)
<Performance>
![Page 13: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/13.jpg)
large dependency graph, clean buildlarge dependency graph, up-to-date build
25 small projects, clean build25 small projects, up-to-date build
large dependency graph, dependency reportlarge dependency graph, eclipse model
25 small projects, eclipse model100 projects, first build
large dependency graph, idea model25 small projects, idea model
junit executiontestng execution
junit execution with lots of test logging outputtestng execution with lots of test logging output
0 17.5 35 52.5 70
Performance Improvements Gradle 1.0 to 2.0 [%]
![Page 14: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/14.jpg)
large dependency graph, clean buildlarge dependency graph, up-to-date build
25 small projects, clean build25 small projects, up-to-date build
large dependency graph, dependency reportlarge dependency graph, eclipse model
25 small projects, eclipse modellarge dependency graph, idea model
25 small projects, idea modeljunit execution
testng executionjunit execution with lots of test logging output
testng execution with lots of test logging output
0 20 40 60 80
Reduced Memory Usage Gradle 1.0 to 2.0 [%]
![Page 15: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/15.jpg)
Configure On Demand
![Page 16: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/16.jpg)
Parallelization per Project
![Page 17: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/17.jpg)
</performance>
![Page 18: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/18.jpg)
Dependency Management
![Page 19: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/19.jpg)
shouldRunAfter & mustRunAfter
![Page 20: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/20.jpg)
Android
![Page 21: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/21.jpg)
Native
![Page 22: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/22.jpg)
</Gradle 2.0>
![Page 23: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/23.jpg)
<state of the industry>
![Page 24: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/24.jpg)
![Page 25: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/25.jpg)
XXXXL
![Page 26: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/26.jpg)
“more cOmplex”
![Page 27: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/27.jpg)
SaaS & Mobile
![Page 28: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/28.jpg)
© Gradleware, confidential – Do not distribute
0
8
15
23
30
2011 2013
Release cycle (days) Two Releases per
day
15 daysInventory Term 0.5 days
![Page 29: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/29.jpg)
30
![Page 30: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/30.jpg)
</state of the industry>
![Page 31: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/31.jpg)
<Roadmap>
![Page 32: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/32.jpg)
![Page 33: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/33.jpg)
<New Configuration Model>
![Page 34: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/34.jpg)
0
![Page 35: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/35.jpg)
Next Generation Extendability
![Page 36: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/36.jpg)
Fundamentally Parallelizable & Distributable
![Page 37: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/37.jpg)
![Page 38: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/38.jpg)
Compatibility?
![Page 39: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/39.jpg)
</New Configuration Model>
![Page 40: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/40.jpg)
Component Model & Variant based Dependency Management
![Page 41: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/41.jpg)
!!jvm {! libraries {! myLib {! target java("6")! target java("8")! }! }!}!!nativeRuntime {! libraries {! myNativeLib! }!}!
![Page 42: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/42.jpg)
Native Support
![Page 43: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/43.jpg)
Cache Everything
![Page 44: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/44.jpg)
Tooling
![Page 45: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/45.jpg)
</Roadmap>
![Page 46: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/46.jpg)
Gradle Plugin Ecosystem
![Page 49: The Future of Gradle - The Ultimate Build System](https://reader036.vdocuments.mx/reader036/viewer/2022081401/559457911a28ab512f8b46e4/html5/thumbnails/49.jpg)
Thank You
Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d