Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs
Ant has been widely celebrated as the future of build processing. In fact, it represents a great improvement over previous make tools: it is extendible, multiplatform, and standard-based. Some Ant characteristics particularly make it the tool of choice:
It has achieved first place in nearly all existing J2EE projects for everything related to process automation: building, packaging, testing, and deploying software.
However, as a consequence of this wide adoption and usage in such different (and sometimes unexpected) scenarios, Ant has some disadvantages over a more traditional building process based on scripts. First of all, though you can do most tasks with Ant, in some situations, it is simpler and quicker to use a more traditional scripting language (like Python, Perl, or Ruby) to perform specific jobs like connecting to servers and applications or processing files. As a result, you often see a mixture of XML build files and script batch files in project automation tools.
Moreover, the XML syntax doesn't allow us to use an object-oriented language's most common and useful characteristics, such as inheritance and polymorphism; in simple terms, you cannot extend (in the object-oriented meaning) an XML build file or write polymorphic XML files. These limitations result in every complex project having a complex build system.
The problem seems to be the approach: with a script-centric system, you have a flexible and powerful instrument, but you need to know the script language very well; on the contrary, with an XML and platform-independent approach, you have simplicity and reusability, but a bit less power.
But we want it all, and now. What's the solution? A script language with a native and simple support for XML syntax. Groovy.
Groovy is a new dynamic scripting language for the JVM, similar to famous scripting languages like Python and Ruby, but, at the same time, easy to learn and use by Java developers. The good news is that its standardization is underway in the Java Community Process as Java Specification Request 241, so in the future, it is going to be the second (after Java) official language for the JVM.
Note: Since this article is not an introduction to Groovy, it won't cover the basics of this language; you can find a list of introductory articles in Resources.
Groovy natively supports different markup languages like XML, HTML, and SOAP, thanks to a feature called GroovyMarkup. This means it defines a specific syntax to express tree-like structures. For example, the simple XML structure:
<book isbn="1234-5678" category="A-123"> <author>Paul Jones</author> <title>The zen and the art of the scripting</title> <publisher>XYZ Pub. Co.</publisher> <year>2004</edition> </book>
can be described with the following Groovy script:
|Forum migration complete By Athen|
|Forum migration update By Athen|
|Alternative build template By Dusty Phillips|
|Build scripts with Groovy and Ant By JavaWorld|