Slide 1

Slide 1 text

Add some Groovy Add some Groovy magic to your Java magic to your Java project. project. Why, where and how to leverage Why, where and how to leverage Groovy in a Java codebase. Groovy in a Java codebase. @olga_maciaszek Olga Maciaszek-Sharma 26.07.2018

Slide 2

Slide 2 text

Olga Maciaszek-Sharma Olga Maciaszek-Sharma @olga_maciaszek https:/ /github.com/OlgaMaciaszek https:/ /github.com/OlgaMaciaszek @ @olga_maciaszek olga_maciaszek

Slide 3

Slide 3 text

Groovy Popularity Groovy Popularity https:/ /www.tiobe.com/tio https:/ /www.tiobe.com/tio be-index/ be-index/ @olga_maciaszek

Slide 4

Slide 4 text

Code Demo Code Demo Java Code into Groovy Java Code into Groovy @olga_maciaszek

Slide 5

Slide 5 text

Code Demo Code Demo Groovy and Java in 1 project Groovy and Java in 1 project @olga_maciaszek

Slide 6

Slide 6 text

Maven Maven org.codehaus.groovy groovy-all org.codehaus.gmavenplus gmavenplus-plugin 1.5 testCompile compile @olga_maciaszek

Slide 7

Slide 7 text

Features Tools Features Tools Frameworks Frameworks @olga_maciaszek

Slide 8

Slide 8 text

Spock Spock @olga_maciaszek

Slide 9

Slide 9 text

Json/ XML parsing Json/ XML parsing @olga_maciaszek

Slide 10

Slide 10 text

Scripting Scripting @olga_maciaszek

Slide 11

Slide 11 text

DSLs DSLs @olga_maciaszek Command Chaining Operator Overloading Closures and Delegates AST Transformations *

Slide 12

Slide 12 text

Gradle Gradle

Slide 13

Slide 13 text

Jenkins Job DSL Jenkins Job DSL https://jenkinsci.github.io/job-dsl-plugin/ https://job-dsl.herokuapp.com/ @olga_maciaszek

Slide 14

Slide 14 text

Performance Performance @CompileStatic / @CompileDynamic @olga_maciaszek

Slide 15

Slide 15 text

Private Scope Private Scope @PackageScope @olga_maciaszek

Slide 16

Slide 16 text

IDE Support IDE Support @olga_maciaszek

Slide 17

Slide 17 text

Closure Hell Closure Hell @olga_maciaszek

Slide 18

Slide 18 text

Method Missing Method Missing Inferno Inferno @olga_maciaszek

Slide 19

Slide 19 text

Conventions Conventions @olga_maciaszek

Slide 20

Slide 20 text

Demo Code Links Demo Code Links https://github.com/OlgaMaciaszek/groovy-demo-java-for- refactor https://github.com/OlgaMaciaszek/groovy-demo-file- refactor https://github.com/OlgaMaciaszek/groovy-demo @olga_maciaszek

Slide 21

Slide 21 text

https:/ /github.com/OlgaMaciaszek https:/ /github.com/OlgaMaciaszek @ @olga_maciaszek olga_maciaszek Thank you Thank you