"svn.check" depends="svn-check">
2 <exec executable="svn">
3 <arg value="co" />
4 <arg value="${p.root}/${local.url}" />
5 </exec>
6 </target>
清单 4. Ant 任务:更新源代码
1 <target name="svn-update" depends="svn- checkout">
2 <exec executable="svn">
3 <arg value="up" />
4 <arg value="${local.url}" />
5 </exec>
6 </target>
您可以使用这三种协作的目标来检索源代码。svn-check 目标用于测试该存储库是否已经 签出。如果这个目录主干存在,那么将属性 svn.check 设置为 true。下一个目标是 svn- checkout,仅在没有签出存储库的情况下才执行它,可以使用 unless="svn.check。在 签出之后,每次调用该脚本的时候都会执行 svn-update 目标。请注意,测试条件 unless 仅检查是否设置了某个属性。而该属性的取值不会产生任何效果。
在异构UNIX系统间可靠的迁移Java应用(3)
时间:2011-04-16 IBM Shen Yu
构建 Java 类
使用 Ant 可以很容易地构建 Java 组件。这个部分提供了构建 Hello 程序的一个简单示 例。
清单 5 和清单 6 显示了输出 Hello 的 Java 文件和 Ant 构建脚本。
清单 5. 输出 Hello 的 Java 文件
1 package hello;
2 public class Hello {
3 public static void main(String[] args) {
4 System.out.println("Greeting from build system - java component! ");
5 }
6 }
清单 6. 用于 Java 源文件的 Ant 构建文件
1 <?xml version="1.0"?>
2 <project default="deploy" basedir=".">
3 <echo message="pulling in property files" />
4 <import file="properties.xml" />
5 <echo message="compile java greeting ${path.dist.classes}" />
6 <target name="compile">
7 <mkdir dir="${path.dist.classes}"/>
8 <javac destdir="${path.dist.classes}" srcdir="${path.src}"/>
9 </target>
10 <target name="deploy" depends="compile">
11 <jar destfile="${path.dist}/HelloWorld.jar" basedir="${path.dist.classes}">
12 <manifest>
13 <attribute name="Main-Class" value="hello.Hello"/>
14 </manifest>
15 </jar>
16 </target>
17 <target name="clean">
18 <delete dir="build"/>
19 </target>
20 </project>
从 property.xml 文件中提取了一些通用属性的定义,如清单 7 所示。稍后还将反复地 使用这个文件。
清单 7. 构建属性文件
1 <project name="Top-Level property definitions" default="echo" basedir=".">
2 <description>
3 Ant file of common properties to be imported by other ant files
4 </description>
5 <property name="path.dist" value="build" />
6 <property name="path.dist.classes" value="build/classes" />
7
|