|
1.3. Ant at WorkRather than go on and on about what Ant can do for you, an example can illustrate how easy Ant makes the build process. Assume that you have a Java file called Project.java, as shown in Example 1-1. Example 1-1. A simple Java classpublic class Project { public static void main(String args[]) { System.out.println("No worries."); } } Assume you want to compile this code and store the results, Project.class, in a JAR file, Project.jar. With Ant and a build file, this is a piece of cake. By default, Ant looks for a build file named build.xml. That file is a valid XML document; Example 1-2 shows the build file for this example. Example 1-2. A simple Ant build file<?xml version="1.0" ?> <project default="main"> <target name="main" depends="compile, compress"> <echo> Building the .jar file. </echo> </target> <target name="compile"> <javac srcdir="."/> </target> <target name="compress"> <jar jarfile="Project.jar" basedir="." includes="*.class" /> </target> </project> To run this Ant build file, make sure it's in the same directory as Project.java, and enter ant at the command-line prompt. Ant has been tested on many platforms, including Linux; Unix versions from Solaris to HP-UX; Windows 9x, NT, 2000, and XP; OS/2 Warp, Novell Netware 6, and MacOS X. When you run Ant on this first build file, here's what you'd see in Unix (using the bash shell): -bash-2.05b$ ant Buildfile: build.xml compile: [javac] Compiling 1 source file compress: [jar] Building jar: /home/httpd/vhosts/builder/Project.jar main: [echo] [echo] Building the .jar file. [echo] BUILD SUCCESSFUL Total time: 2 seconds You'll get the same results in any supported operating system. For example, here's what you'd see in Windowsverything except the build time is identical: C:\ant\ch01>ant Buildfile: build.xml compile: [javac] Compiling 1 source file compress: [jar] Building jar: C:\ant\ch01\Project.jar main: [echo] [echo] Building the .jar file. [echo] BUILD SUCCESSFUL Total time: 4 seconds For the most part, Ant builds are independent of operating system, and for that reason, % is used as a generic command prompt in this book. If anything is operating-system-dependent, it will be listed explicitly. When Ant finishes executing the build file, you'll have build.xml, Project.java, the compiled Project.class, and Project.jar, all in the same directory. Project.jar will contain a manifest file and Project.class. Fortunately, Ant handles 10, 20, or 100 source files in this same way, making your life easy at build time. |
|