44
Simplifying builds with Gradle Saager Mhatre

Simplifying Build Scripts With Gradle [Groovy based build automation]

Embed Size (px)

DESCRIPTION

Session presented at the 6th IndicThreads.com Conference on Java held in Pune, India on 2-3 Dec. 2011. http://Java.IndicThreads.com -- This session will introduce the audience to Gradle, the various DSLs used to describe builds as well as the plugin infrastructure that allows for extending Gradle’s capabilities. - http://www.indicthreads.com/9265/simplifying-builds-with-gradle/

Citation preview

Page 1: Simplifying Build Scripts With Gradle [Groovy based build automation]

Simplifying buildswith Gradle

Saager Mhatre

Page 2: Simplifying Build Scripts With Gradle [Groovy based build automation]

dexterous

Page 3: Simplifying Build Scripts With Gradle [Groovy based build automation]

errata

Page 4: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplifying buildswith gradle ^

script

Page 5: Simplifying Build Scripts With Gradle [Groovy based build automation]

disclaimer

Page 6: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 7: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplifying build scriptswith gradle

Page 8: Simplifying Build Scripts With Gradle [Groovy based build automation]

build script

Page 9: Simplifying Build Scripts With Gradle [Groovy based build automation]

build

Page 10: Simplifying Build Scripts With Gradle [Groovy based build automation]

source artifacts

Page 11: Simplifying Build Scripts With Gradle [Groovy based build automation]

source artifacts

Page 12: Simplifying Build Scripts With Gradle [Groovy based build automation]

source artifacts

codeconfiguration

Page 13: Simplifying Build Scripts With Gradle [Groovy based build automation]

source artifacts

codeconfiguration

Page 14: Simplifying Build Scripts With Gradle [Groovy based build automation]

source artifacts

codeconfiguration

classesgenerated code

Page 15: Simplifying Build Scripts With Gradle [Groovy based build automation]

script

Page 16: Simplifying Build Scripts With Gradle [Groovy based build automation]

more expressivenessless ceremony

Page 17: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplify

Page 18: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplify… ?

Page 19: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplify… ?http://www.stickyminds.com/s.asp?F=S11633_MAGAZINE_2

Page 20: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplify… ?http://www.infoq.com/presentations/Simple-Made-Easy

Page 21: Simplifying Build Scripts With Gradle [Groovy based build automation]

simplify… ?http://blip.tv/clojure/stuart-halloway-simplicity-ain-t-easy-4842694

Page 22: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 23: Simplifying Build Scripts With Gradle [Groovy based build automation]

enough talklet’s build something

Page 24: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 25: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 26: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 27: Simplifying Build Scripts With Gradle [Groovy based build automation]
Page 28: Simplifying Build Scripts With Gradle [Groovy based build automation]

conditional execution

Page 29: Simplifying Build Scripts With Gradle [Groovy based build automation]

static analysis

Page 30: Simplifying Build Scripts With Gradle [Groovy based build automation]

execution profiling

Page 31: Simplifying Build Scripts With Gradle [Groovy based build automation]

insanity ensues

Page 32: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://www.cs.swarthmore.edu/~newhall/unixhelp/javamakefiles.html

Page 33: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html#enhance

Page 34: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://www.ibm.com/developerworks/xml/library/x-antxsl/

Page 35: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://maven.apache.org/guides/introduction/introduction-to-the-pom.html#Super_POM

Page 36: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://xkcd.com/303/

Page 37: Simplifying Build Scripts With Gradle [Groovy based build automation]

Finally, sometimes,simplicity grows out of adversity

http://www.infoq.com/presentations/Simplicity-Architect

Page 38: Simplifying Build Scripts With Gradle [Groovy based build automation]

gradle

Page 39: Simplifying Build Scripts With Gradle [Groovy based build automation]

talk is cheap,let’s see some code

https://github.com/dexterous/crave2gradle

Page 40: Simplifying Build Scripts With Gradle [Groovy based build automation]

for moregradle goodness

http://mrhaki.blogspot.com/search/label/Gradle%3AGoodness

Page 41: Simplifying Build Scripts With Gradle [Groovy based build automation]

a communitythat keeps on giving

https://github.com/search?type=Repositories&language=&q=gradle+plugin

Page 42: Simplifying Build Scripts With Gradle [Groovy based build automation]

“maven has mein its evil clutches!”

https://github.com/jbaruch/maven2gradle

Page 43: Simplifying Build Scripts With Gradle [Groovy based build automation]

gradlewarehttp://gradleware.com

Page 44: Simplifying Build Scripts With Gradle [Groovy based build automation]

http://j11.indicthreads.com/feedback

http://spkr8.com/t/8377