22
Java Build Tools Java User Group Latvia www.jug.lv

LatJUG Java Build Tools

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: LatJUG Java Build Tools

Java Build Tools

Java User Group Latvia

www.jug.lv

Page 2: LatJUG Java Build Tools

AgendaAnt+IvyMavenGradleComparison

Page 3: LatJUG Java Build Tools

Apache Ant + Apache Ivy http://ant.apache.org

http://ant.apache.org/ivy

Ant is the build system for Java applications. Ant is written in Java.Ivy is a dependency management tool

Page 4: LatJUG Java Build Tools

Ant+Ivy

Page 5: LatJUG Java Build Tools

Ivy Dependencies File

Page 6: LatJUG Java Build Tools

Apache Maven 2 (3) http://maven.apache.org

Maven, a Yiddish word meaning accumulator of knowledgeMaven is a software project management tool.Ant is written in Java.

Page 7: LatJUG Java Build Tools

Maven 2 pom.xml

Page 8: LatJUG Java Build Tools

Maven 2 Lifecycle validate initialize generate-sources process-sources generate-resources process-resources compile process-classes generate-test-sources process-test-sources generate-test-resources process-test-resources test-compile process-test-classes test prepare-package package pre-integration-test integration-test post-integration-test verify install deploy

Page 9: LatJUG Java Build Tools

Maven 2 Multiproject

Page 10: LatJUG Java Build Tools

Gradle http://gradle.org

Gradle is project automation build system.Gradle is written on Groovy.

Page 11: LatJUG Java Build Tools

Gradle simple jar

Page 12: LatJUG Java Build Tools

Gradle Task

Page 13: LatJUG Java Build Tools

Gradle Task Rules

Page 14: LatJUG Java Build Tools

Gradle dependencies

Page 15: LatJUG Java Build Tools

Gradle plugin

gradle -q helloHi from Gradle

Page 16: LatJUG Java Build Tools

Gradle Multiproject

Page 17: LatJUG Java Build Tools

Gradle Profilinggradle –profile

Page 18: LatJUG Java Build Tools

Gradle Features

gradle -q distribution We build the zip with version=1.0-SNAPSHOT

gradle -q release We build the zip with version=1.0 We release now

Page 19: LatJUG Java Build Tools

Who usesGradle

HibernateGrailsGroovySpring (Integration and Security)GriffonGant

Maven 2all others

Ant…

Page 20: LatJUG Java Build Tools

Tool Comparison Ant Maven

GradleLearning difficulty 1 2 3Out of the box 3 1 2Maintenance 1 2 2Speed 2 1 ? Stability ?

Page 21: LatJUG Java Build Tools

ConclusionsAnt will stayMaven 2 -> Maven 3Gradle is the future?no one has obvious advantages

Page 22: LatJUG Java Build Tools

About MeRustam Arslanov

MD of Computer Science (RTU)Work experience as a build engineer for 5 years