HOME SCALA & F# JAVA .NET WEB GROOVY & GRAILS ANDROID & IOS NOSQL ARCHITECTURE AGILE & SCRUM AGILE DEVELOPER  

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.


PROGRESSIVE JAVA PODCASTS
Toby O'Rourke:Introducing Neo4j into a Relational Database Organisation, Introducing Neo4j
Toby O'Rourke : 23rd May 2012
View Podcast: Introducing Neo4j into a Relational Database Organisation,
Luke Daley: Managing JavaScript with Gradle, JavaScript with Gradle
Luke Daley : 22nd May 2012
View Podcast:  Managing JavaScript with Gradle,
John Stevenson:(perfect? clojure environment), Perfect Clojure
John Stevenson : 16th May 2012
View Podcast: (perfect? clojure environment),
Chris Harris:Building a MongoDB application with Grails , MongoDB with Grails
Chris Harris : 16th May 2012
View Podcast: Building a MongoDB application with Grails ,
Sean Reilly:Non-rails Groovy development, Non-rails Groovy development
Sean Reilly : 16th May 2012
View Podcast: Non-rails Groovy development,
Tom McMillen:CouchDB at the Hut Group, CouchDB at the Hut Group
Tom McMillen : 9th May 2012
View Podcast: CouchDB at the Hut Group,
John Zablocki:The Couchbase Server Tutorial, The Couchbase Server Tutorial
John Zablocki : 9th May 2012
View Podcast: The Couchbase Server Tutorial,
Nicki Watt:Neo4j Tales from the Trenches: A recommendation Engine Case Study, Neo4j Tales from the Trenches
Nicki Watt : 9th May 2012
View Podcast: Neo4j Tales from the Trenches: A recommendation Engine Case Study,
Gavin  Bell:Is Everything Social?, Is Everything Social?
Gavin Bell : 8th May 2012
View Podcast: Is Everything Social?,
Ian Robinson:A Programmatic Introduction to Neo4j, Neo4j Intro
Ian Robinson : 3rd May 2012
View Podcast: A Programmatic Introduction to Neo4j,
Jan Machacek:Polyglot applications in Java and Spring, Polyglot apps in Java and Spring
Jan Machacek : 3rd May 2012
View Podcast: Polyglot applications in Java and Spring,
Various Speakers:Parkbench Panel Discussion with Pizza & drinks, Parkbench
Various Speakers : 3rd May 2012
View Podcast: Parkbench Panel Discussion with Pizza & drinks,
Brian Sletten:Information Resources : Moving Beyond Objects, Moving Beyond Objects
Brian Sletten : 3rd May 2012
View Podcast: Information Resources : Moving Beyond Objects,
David Morgantini:Exploring enterprise Java outside of Java EE, Exploring enterprise Java
David Morgantini : 3rd May 2012
View Podcast: Exploring enterprise Java outside of Java EE,
Anirvan  Chakraborty:Connecting to Neo4j using Spring Data, Connecting to Neo4j using Spring Data
Anirvan Chakraborty : 3rd May 2012
View Podcast: Connecting to Neo4j using Spring Data,
OTHER PROGRESSIVE JAVA EVENTS
:SpringSource's Core Spring: Developing with the Spring Framework,  SpringSource's Spring Application Development
4 DAY COURSE.
London, Tuesday, May 29th
Uncle Bob (Robert C. Martin):Uncle Bob's Advanced Test Driven Development in NYC,  Uncle Bob's Advanced Test Driven Development in NY
3 DAY COURSE. Featuring Uncle Bob (Robert C. Martin)
New York, Tuesday, May 29th
London Java Community:Gradle - Build Automation Evolved, London Java Community
FREE EVENT: Gradle
London, Tuesday, June 12th
London Scala Users' Group:Experiences from a Real-World Scala Project, London Scala Users' Group
FREE EVENT: Real-World Scala Project
London, Wednesday, June 13th
GeekOut 2012, GeekOut 2012
CONFERENCE (2 DAYS)
Tallinn, Thursday, June 14th BOOK NOW!
Jon Jagger:Jon Jagger & Kevlin Henney's Agile Development for Developers,  Jon & Kevlin's Agile Development Course
3 DAY COURSE. Featuring Jon Jagger
London, Monday, June 18th
Simon Brown:Simon Brown's Enterprise Software Developer,  Simon Brown's Enterprise Software Developer
3 DAY COURSE. Featuring Simon Brown
London, Monday, June 18th
Trond Bjerkestrand:Typesafe's Fast Track to Scala,  Typesafe's Fast Track to Scala
2 DAY COURSE. Featuring Trond Bjerkestrand
London, Monday, June 18th
© Copyright 2003-2011, Skills Matter Ltd
  Web development by You In Control
About Us  Jobs  Find Us  Meeting & Training Rooms  Newsletter  Jobs: Sales Executive  Jobs: Student SkillsCaster  jobs - junior event coordinator  Speed Coding 2011  Open Source Journal  Ticket Raffle  Agile Expert Series  Jobs: Sponsorship Development  jobs: Marketing & Sales Graduate Internship