Gradle - next generation of build tools

Embed Size (px)

Citation preview

Gradlenext generation of build tools

E-mail: [email protected]

Gradlenext generation of build tools

Background

11+ IT-

6+ Java

Agile-

?

Ant?

Maven?

buildr?

Gradle?

...

?

-

...

?

...

?

1977 make

2000

ant

build.xml

2001

maven

pom.xml

convention over configuration

dependency management

-

lost of control

Gradle

Hans Dockter

Gant

2008

pre-1.0

2010 Springy Innovation Award

Gradle

1.0 milestone-3 stable

Gradleware

Apache License, Version 2.0

Gradle in the wild

Carrier

Hibernate

Grails

Groovy

Spring-Security

Spring-Integration

EADS

Griffon

Gaelyk

Qi4j

Canoo

FCC

Zeppelin GmhH

Spock

Aluminum

Gant

GPars

Gradle

2011 - 1.0 RC-1

1.0 2012 maven

Build aggregation

Gradle daemon

Gradle 1.0 Plugin System

Archetypes?

Who is that Gradle?

Build integration tool

Declarative builds

Groovy-based build DSL

Build-by-convention

Who is that Gradle?

Scalable multi-project builds

Dependency management

Ease of migration

Embeddable

Deep API

Gradle positioning

Hello Gradle

build.gradle

task hello gradle -q helloHello Gradle!

gradle task != ant task

gradle task == ant target

Groovy Gradle

build.gradle

task count gradle -q count0 1 2 3

Dependencies

build.gradletask hello 4.0.0 grId coc-comparison jar 1.0-SNAPSHOT...

maven

... commons-lang commons-lang 2.5 junit junit 4.8.1 test

gradle

apply plugin: 'java'

version="1.0-SNAPSHOT"group="grId"archivesBaseName="coc-comparison"

repositories { mavenCentral()}

dependencies { compile 'commons-lang:commons-lang:2.5' testCompile 'junit:junit:4.8.1'}

www.gradle.org

groovy.codehaus.org

ant.apache.org/ivy

E-mail: [email protected]: www.ikhotin.comTwitter: chaostarterlinkedin.com/pub/igor-khotin/5/193/257

?