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
Nicolas Yuen:Accessibility API in Flex, nicolas yuen accessibility API in Flex
Nicolas Yuen : 17th Mar 2010
View Podcast: Accessibility API in Flex,
Peter Ledbrook:Grails plugin testing, Grails plugin testing
Peter Ledbrook : 15th Mar 2010
View Podcast: Grails plugin testing,
Richard Dallaway:Lift - Getting started with Scala and Lift, Lift - Getting started with Scala and Li
Richard Dallaway : 8th Mar 2010
View Podcast: Lift - Getting started with Scala and Lift,
Cagatay Civici:PrimeFaces: Next Generation JSF Component Suite, PrimeFaces: Next Generation JSF Componen
Cagatay Civici : 3rd Mar 2010
View Podcast: PrimeFaces: Next Generation JSF Component Suite,
Karl Widmer:Integrating JSF with Spring Web Flow, Integrating JSF with Spring Web Flow
Karl Widmer : 3rd Mar 2010
View Podcast: Integrating JSF with Spring Web Flow,
Toni Menzel:Pax Exam 2.0 – Testing in the Cloud, Pax Exam 2.0 – Testing in the Cloud...
Toni Menzel : 22nd Feb 2010
View Podcast: Pax Exam 2.0 – Testing in the Cloud,
Doreen   Seider: OSGi-based Workflow Engine, OSGi-based Workflow Engine
Doreen Seider : 22nd Feb 2010
View Podcast:  OSGi-based Workflow Engine,
Felix  Meschberger:Declarative Services: Dependency Injection OSGi style, Dependency Injection OSGi style
Felix Meschberger : 22nd Feb 2010
View Podcast: Declarative Services: Dependency Injection OSGi style,
Guillaume LaForge:Scala, Groovy, JRuby, Clojure - Which JVM language is for you?, JVM language
Guillaume LaForge : 22nd Feb 2010
View Podcast: Scala, Groovy, JRuby, Clojure - Which JVM language is for you?,
Jutta Eckstein:Creating Proximity over a Distance, Creating Proximity over a Distance
Jutta Eckstein : 22nd Feb 2010
View Podcast: Creating Proximity over a Distance,
Glyn Normington:dm Server 2.0 , dm Server 2.0
Glyn Normington : 22nd Feb 2010
View Podcast: dm Server 2.0 ,
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,
OTHER JAVA & JEE EVENTS
David Syer:Core Spring: Developing with the Spring Framework,  Spring Application Development
4 DAY COURSE. Featuring David Syer
London, Tuesday, March 23rd
Ben Gidley Tapestry 5 in Action,  Tapestry 5 in Action
FREE EVENT: In The Brain of Ben Gidley
London, Tuesday, March 23rd
JAVAWUG:JAVAWUG BOF 55 Ease into Scala Web Development, JAVAWUG
FREE EVENT: Ease into Scala Web Developmen
London, Wednesday, March 24th
:Gojko Adzic's Test Driven Java Development Workshop,  Gojko Adzic's TDD Java Development Workshop
2 DAY COURSE.
Paris, Wednesday, March 31st
:Spring OSGi with SpringSource dm Server,  Spring OSGi with dm Server
2 DAY COURSE.
London, Thursday, April 8th
London Scala Users' Group:Scala, Traits & Mixins, London Scala Users' Group
FREE EVENT: Traits & Mixins
London, Monday, April 12th
:Tomcat Primer: Tomcat Administration Fundamentals Training,  Tomcat Administration Fundamentals Training
2 DAY COURSE.
London, Tuesday, April 13th
:Core Spring and Hibernate : Developing Spring Applications with Hibernate O/R Mapping,  Spring Hibernate O/R Mapping
3 DAY COURSE.
London, Wednesday, April 14th
© 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 - marketing assistant  Spring Certification