HOME JAVA & JEE OPEN SOURCE .NET WEB & RIA CLOUD & GRID ARCHITECTURE & DDD AGILE PM & SCRUM AGILE TESTING & BDD OS, MOBILE & SERVER  

IN THE BRAIN OF RUSSEL WINDER, GANT: ANT FOR THE GROOVY AT HEART
In the Java world, Ant has been a runaway success. Almost as soon as it appeared, it took over from Make as the standard build tool for Java-based systems. Arguably the single biggest factor in Ant's success is the platform independence of the tasks as far as the person writing a build is concerned -- instead ofhaving to carefully craft shell scripts do deal with different platforms as is the case with Make, Ant just handles it all.

However, there are some problems with Ant. The two most important of these are a) XML; and b) XML. XML is a hard to work with markup language at the best of times, and because it is purely declarative, it is very hard to express even simple control flow constructs. Also Ant XML files do not allow easy synthesis of targets; the XML has to be hand written explicitly.

How can this be improved? Replace the use of XML with the use of a dynamic programming language! Whilst Jython and JRuby are options, the obvious choice due its tight integration with Java and the JVM is Groovy.

In this talk, Russel will explain how Gant is a framework for scripting Ant tasks using Groovy. He will show how Ant tasks are scripted, but also how new abstractions can be created to make things even easier. He will explain how the "killer blow" of Gant is that you can program the writing of the targets, and you have control flow. Anyone who has used SCons, Rake, or Rant will be familiar with the freedom and expressivity of using a dynamic programming language to program builds. Gant brings this capability to the build tasks every Java programmer already knows; the Ant tasks.

The Gant Challenge
The Gant Challenge: Bring a small Ant script that irritates you to the session and see it transformed into a Gant script that will be more elegant.

(It is true that Maven has dented Ant's hegemony of the Java build world a little. Many people like the convention over configuration approach. Many people though still prefer the freedom of Ant, but in a hybrid way, they use the Maven Ant task to gain access to the Maven repository, which has become an essential resource for most Java projects.)

PS Gant is an integral part of Grails, so there are lots of Gant users already.
JAVA & JEE PODCASTS
Howard Lewis Ship:Clojure: Towards the Essence of Programming, Clojure: Towards the Essence of Programm
Howard Lewis Ship : 8th Feb 2010
Podcast Coming Soon: Clojure: Towards the Essence of Programming,
Colin Howe:Re-writing Java classes in Scala - and making your code lovely, Re-writing Java classes in Scala - and m
Colin Howe : 8th Feb 2010
View Podcast: Re-writing Java classes in Scala - and making your code lovely,
Krestan Krab Thorup:Erjang - A Java Hacker in Erlang Land, Erjang - A Java Hacker in Erlang Land
Krestan Krab Thorup : 3rd Feb 2010
View Podcast: Erjang - A Java Hacker in Erlang Land,
Miles Sabin:A brief introduction to Scala for Java developers, Scala for Java
Miles Sabin : 28th Jan 2010
View Podcast: A brief introduction to Scala for Java developers,
Peter Pilgrim:Professional Code Jam, Professional Code Jam...
Peter Pilgrim : 26th Jan 2010
View Podcast: Professional Code Jam,
David Syer:Choosing a Dependency Injection Style, Choosing a Dependency Injection Style
David Syer : 19th Jan 2010
View Podcast: Choosing a Dependency Injection Style,
Richard Gomes:JQuantLib, JQuantLib
Richard Gomes : 16th Dec 2009
View Podcast: JQuantLib,
Rob Davies:Apache Open Source for Financial Services, Apache Open Source for Finance
Rob Davies : 15th Dec 2009
View Podcast: Apache Open Source for Financial Services,
David Vincent:Climbing mount complexity, one event at a time, Climbing mount complexity
David Vincent : 15th Dec 2009
View Podcast: Climbing mount complexity, one event at a time,
Janne Valkealahti:Hand me the spanner, I think it's going to break, Hand me the spanner, I think it's going
Janne Valkealahti : 15th Dec 2009
View Podcast: Hand me the spanner, I think it's going to break,
Alex McGuire:Scala, A better language for finance?!, Scala, A better language for finance?!
Alex McGuire : 15th Dec 2009
View Podcast: Scala, A better language for finance?!,
Angelo Corsaro:I need market data and I need it 1ms ago!, I need market data 1ms ago!
Angelo Corsaro : 15th Dec 2009
View Podcast: I need market data and I need it 1ms ago!,
Alan  Hardy:Parkbench Panel Discussion, Parkbench Panel Discussion
Alan Hardy : 15th Dec 2009
Podcast Coming Soon: Parkbench Panel Discussion,
Alan  Hardy:ParkBench Panel Discussion, ParkBench Panel Discussion
Alan Hardy : 15th Dec 2009
View Podcast: ParkBench Panel Discussion,
Ben Evans:Making every millisecond count! JVM performance tuning in the real-world, JVM performance tuning
Ben Evans : 15th Dec 2009
View Podcast: Making every millisecond count! JVM performance tuning in the real-world,
OTHER JAVA & JEE EVENTS
Howard Lewis Ship:Core TAPESTRY: Web Application Development with TAPESTRY,  Howard Lewis Ship's Tapestry Web Development
3 DAY COURSE. Featuring Howard Lewis Ship
London, Wednesday, February 10th
Adobe RIA User Group:Flex and Spring Integration:Introducing Spring BlazeDS Integration, Adobe RIA User Group
FREE EVENT: Spring Integration
London, Wednesday, February 17th
Eric Evans Domain-Driven Design: Putting the Model to Work,  Domain-Driven Design: Putting the Model to Work
FREE EVENT: In The Brain of Eric Evans
Paris, Wednesday, February 17th
JAX London 2010, JAX London 2010
CONFERENCE (3 DAYS)
London, Monday, February 22nd BOOK NOW!
:Core Spring: Developing with the Spring Framework,  Spring Application Development
4 DAY COURSE.
London, Tuesday, February 23rd
Peter Lubbers:HTML5 Communication: Using Web Sockets and more to build real-time Web applications,  HTML5 Communication: Using Web Sockets and more to
3 DAY COURSE. Featuring Peter Lubbers
London, Wednesday, February 24th
Alberto Brandolini:Kevlin Henney's Agile Development in Java,  Agile Development in Java
3 DAY COURSE. Featuring Alberto Brandolini
London, Wednesday, February 24th
:Ari Zilka's Core Terracotta: Scaling your Java Application with Terracotta,  Ari Zilka's Core Terracotta workshop
2 DAY COURSE.
Paris, Monday, March 1st
© Copyright 2003-2010, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Community  Community-FR  Apress  1st Teach  Jobs: Sales Executive  Jobs: Student Podcaster  Jobs: - Facilities Sales  jobs - marketing assistant  Save Bletchley Park  Spring Certification