Java Build Tools<br />Java User Group Latvia<br />www.jug.lv<br />
Agenda<br />Ant+Ivy<br />Maven<br />Gradle<br />Comparison<br />
Apache Ant + Apache Ivy<br />http://ant.apache.org<br />http://ant.apache.org/ivy<br />Ant is the build system for Java ap...
Ant+Ivy<br />
Ivy Dependencies File<br />
Apache Maven 2 (3)<br />http://maven.apache.org<br />Maven, a Yiddish word meaning accumulator of knowledge<br />Maven is ...
Maven 2 pom.xml<br />
Maven 2 Lifecycle<br /> validate<br /> initialize<br /> generate-sources<br /> process-sources<br /> generate-resources<br...
Maven 2 Multiproject<br />
Gradle<br />http://gradle.org<br />Gradle is project automation build system.<br />Gradle is written on Groovy.<br />
Gradle simple jar<br />
Gradle Task<br />
Gradle Task Rules<br />
Gradle dependencies<br />
Gradle plugin<br />gradle -q hello<br />Hi from Gradle<br />
Gradle Multiproject<br />
Gradle Profiling<br />gradle –profile<br />
Gradle Features<br />gradle -q distribution <br />We build the zip with version=1.0-SNAPSHOT<br />gradle -q release <br />...
Who uses<br />Gradle<br />Hibernate<br />Grails<br />Groovy<br />Spring (Integration and Security)<br />Griffon<br />Gant<...
Tool Comparison<br />                                           Ant         Maven       Gradle<br />Learning difficulty   ...
Conclusions<br />Ant will stay<br />Maven 2 -> Maven 3<br />Gradle is the future?<br />no one has obvious advantages<br />
About Me<br />Rustam Arslanov<br />MD of Computer Science (RTU)<br />Work experience as a build engineer for 5 years<br />
Upcoming SlideShare
Loading in …5
×

LatJUG Java Build Tools

1,410 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,410
On SlideShare
0
From Embeds
0
Number of Embeds
58
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LatJUG Java Build Tools

  1. 1. Java Build Tools<br />Java User Group Latvia<br />www.jug.lv<br />
  2. 2. Agenda<br />Ant+Ivy<br />Maven<br />Gradle<br />Comparison<br />
  3. 3. Apache Ant + Apache Ivy<br />http://ant.apache.org<br />http://ant.apache.org/ivy<br />Ant is the build system for Java applications. <br />Ant is written in Java.<br />Ivy is a dependency management tool<br />
  4. 4. Ant+Ivy<br />
  5. 5. Ivy Dependencies File<br />
  6. 6. Apache Maven 2 (3)<br />http://maven.apache.org<br />Maven, a Yiddish word meaning accumulator of knowledge<br />Maven is a software project management tool.<br />Ant is written in Java.<br />
  7. 7. Maven 2 pom.xml<br />
  8. 8. Maven 2 Lifecycle<br /> validate<br /> initialize<br /> generate-sources<br /> process-sources<br /> generate-resources<br />process-resources<br />compile<br /> process-classes<br /> generate-test-sources<br /> process-test-sources<br /> generate-test-resources<br />process-test-resources<br />test-compile<br /> process-test-classes<br />test<br /> prepare-package<br />package<br /> pre-integration-test<br /> integration-test<br /> post-integration-test<br /> verify<br />install<br />deploy<br />
  9. 9. Maven 2 Multiproject<br />
  10. 10. Gradle<br />http://gradle.org<br />Gradle is project automation build system.<br />Gradle is written on Groovy.<br />
  11. 11. Gradle simple jar<br />
  12. 12. Gradle Task<br />
  13. 13. Gradle Task Rules<br />
  14. 14. Gradle dependencies<br />
  15. 15. Gradle plugin<br />gradle -q hello<br />Hi from Gradle<br />
  16. 16. Gradle Multiproject<br />
  17. 17. Gradle Profiling<br />gradle –profile<br />
  18. 18. Gradle Features<br />gradle -q distribution <br />We build the zip with version=1.0-SNAPSHOT<br />gradle -q release <br />We build the zip with version=1.0 <br />We release now<br />
  19. 19. Who uses<br />Gradle<br />Hibernate<br />Grails<br />Groovy<br />Spring (Integration and Security)<br />Griffon<br />Gant<br />Maven 2<br />all others<br />Ant<br />…<br />
  20. 20. Tool Comparison<br /> Ant Maven Gradle<br />Learning difficulty 1 2 3<br />Out of the box 3 1 2<br />Maintenance 1 2 2<br />Speed 2 1 ? <br />Stability ?<br />
  21. 21. Conclusions<br />Ant will stay<br />Maven 2 -> Maven 3<br />Gradle is the future?<br />no one has obvious advantages<br />
  22. 22. About Me<br />Rustam Arslanov<br />MD of Computer Science (RTU)<br />Work experience as a build engineer for 5 years<br />

×