The Future of Gradle - The Ultimate Build System
description
Transcript of The Future of Gradle - The Ultimate Build System
The Future of Gradle
Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d
<momentum>
2 Million
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
“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.”
Community Gradle Plugins
200+
© Gradleware, confidential – Do not distribute
5All rights reserved. 2014 © ZeroTurnaround OÜ
Sample population of 2164 Java professionals, sample error 2.1%
“When did Gradle get so hot?” TSS 6/9/2014
</momentum>
<Gradle 2.0>
<Performance>
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 [%]
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 [%]
Configure On Demand
Parallelization per Project
</performance>
Dependency Management
shouldRunAfter & mustRunAfter
Android
Native
</Gradle 2.0>
<state of the industry>
XXXXL
“more cOmplex”
SaaS & Mobile
© 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
30
</state of the industry>
<Roadmap>
<New Configuration Model>
0
Next Generation Extendability
Fundamentally Parallelizable & Distributable
Compatibility?
</New Configuration Model>
Component Model & Variant based Dependency Management
!!jvm {! libraries {! myLib {! target java("6")! target java("8")! }! }!}!!nativeRuntime {! libraries {! myNativeLib! }!}!
Native Support
Cache Everything
Tooling
</Roadmap>
Gradle Plugin Ecosystem
Netflix Nebula
Gradle Plugin Portal
Thank You
Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d