49
The Future of Gradle Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d

The Future of Gradle - The Ultimate Build System

Embed Size (px)

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.

Citation preview

Page 1: The Future of Gradle - The Ultimate Build System

The Future of Gradle

Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d

Page 2: The Future of Gradle - The Ultimate Build System

<momentum>

Page 3: The Future of Gradle - The Ultimate Build System

2 Million

Page 4: The Future of Gradle - The Ultimate Build System

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
Page 6: The Future of Gradle - The Ultimate Build System

“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

Community Gradle Plugins

200+

Page 8: The Future of Gradle - The Ultimate Build System

© 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

“When did Gradle get so hot?” TSS 6/9/2014

Page 10: The Future of Gradle - The Ultimate Build System

</momentum>

Page 11: The Future of Gradle - The Ultimate Build System

<Gradle 2.0>

Page 12: The Future of Gradle - The Ultimate Build System

<Performance>

Page 13: The Future of Gradle - The Ultimate Build System

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

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

Configure On Demand

Page 16: The Future of Gradle - The Ultimate Build System

Parallelization per Project

Page 17: The Future of Gradle - The Ultimate Build System

</performance>

Page 18: The Future of Gradle - The Ultimate Build System

Dependency Management

Page 19: The Future of Gradle - The Ultimate Build System

shouldRunAfter & mustRunAfter

Page 20: The Future of Gradle - The Ultimate Build System

Android

Page 21: The Future of Gradle - The Ultimate Build System

Native

Page 22: The Future of Gradle - The Ultimate Build System

</Gradle 2.0>

Page 23: The Future of Gradle - The Ultimate Build System

<state of the industry>

Page 24: The Future of Gradle - The Ultimate Build System
Page 25: The Future of Gradle - The Ultimate Build System

XXXXL

Page 26: The Future of Gradle - The Ultimate Build System

“more cOmplex”

Page 27: The Future of Gradle - The Ultimate Build System

SaaS & Mobile

Page 28: The Future of Gradle - The Ultimate Build System

© 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

30

Page 30: The Future of Gradle - The Ultimate Build System

</state of the industry>

Page 31: The Future of Gradle - The Ultimate Build System

<Roadmap>

Page 32: The Future of Gradle - The Ultimate Build System
Page 33: The Future of Gradle - The Ultimate Build System

<New Configuration Model>

Page 34: The Future of Gradle - The Ultimate Build System

0

Page 35: The Future of Gradle - The Ultimate Build System

Next Generation Extendability

Page 36: The Future of Gradle - The Ultimate Build System

Fundamentally Parallelizable & Distributable

Page 37: The Future of Gradle - The Ultimate Build System
Page 38: The Future of Gradle - The Ultimate Build System

Compatibility?

Page 39: The Future of Gradle - The Ultimate Build System

</New Configuration Model>

Page 40: The Future of Gradle - The Ultimate Build System

Component Model & Variant based Dependency Management

Page 41: The Future of Gradle - The Ultimate Build System

!!jvm {! libraries {! myLib {! target java("6")! target java("8")! }! }!}!!nativeRuntime {! libraries {! myNativeLib! }!}!

Page 42: The Future of Gradle - The Ultimate Build System

Native Support

Page 43: The Future of Gradle - The Ultimate Build System

Cache Everything

Page 44: The Future of Gradle - The Ultimate Build System

Tooling

Page 45: The Future of Gradle - The Ultimate Build System

</Roadmap>

Page 46: The Future of Gradle - The Ultimate Build System

Gradle Plugin Ecosystem

Page 47: The Future of Gradle - The Ultimate Build System

Netflix Nebula

Page 48: The Future of Gradle - The Ultimate Build System

Gradle Plugin Portal

Page 49: The Future of Gradle - The Ultimate Build System

Thank You

Hans Dockter Founder Gradle CEO Gradleware @gradleware, @hans_d