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

LatJUG Java Build Tools

Jan 26, 2015

Download

Documents

Dmitry Buzdin

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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