# ant发怒了

## January 01, 2004

### "蚂蚁怒了"

Steve建议的顶级目标的名称及内容。
 目标的名字 内容 Build 构建应用系统 Test 运行JUnit测试 Clean 清空输出目录 Deploy 将jar或war等文件装载到执行系统中 Publish 输出源代码和二进制文件到发布站点 Fetch 从CVS树得到最新源代码 docs/javadocs 输出文档文件 All 执行clean, fetch,build,test,dos/javadocs, deploy Main 默认的构建过程
 内建目标的名称 内容 Init 初始化特性和执行其他初始化任务，读取个性化特性文件 Init-debug 初始化调试特性 Init-release 初始化发布特性 Compile 执行实际编译 link/jar 建立jar文件或等价文件 Staging 在将应用程序转移到产品站点前执行预部署过程及测试

 目录名 内容 bin 存放普通的二进制文件和脚本文件 build 用以存放构建结果的目录树，由ant创建且可以被"clean"目标清空 dist 用以存放可发布的开发结果，由ant创建且可以被"clean"目标清空 doc 手写文档 lib 存放在构建应用系统时需要装入的java库 src 存放java原码，目录的层次结构要符合包命名的要求。

EJB类任务

Java2扩展类任务

.NET类任务

SCM(软件控制管理)类任务

BUnzip2

BZip2

Cab

Ear

An extension of the Jar task with special treatment for files that should end up in an Enterprise Application archive.

GUnzip

GZip

Jar

Manifest

Rpm

SignJar

Tar

Unjar

Untar

Unwar

Unzip

War

An extension of the Jar task with special treatment for files that should end up in the WEB-INF/lib, WEB-INF/classes, or WEB-INF directories of the Web Application Archive.

Zip

JDepend

Invokes the JDepend parser. This parser "traverses a set of Java source-file directories and generates design-quality metrics for each Java package".

JProbe

These tasks run the tools from the JProbe suite. This task was written using JProbe Suite Server Side 3.0.

MMetrics

Computes the metrics of a set of Java source files, using the Metamata Metrics/WebGain Quality Analyzer source-code analyzer, and writes the results to an XML file.

Maudit

Performs static analysis on a set of Java source-code and byte-code files, using the Metamata Metrics/WebGain Quality Analyzer source-code analyzer.

Depend

Determines which classfiles are out-of-date with respect to their source, removing the classfiles of any other classes that depend on the out-of-date classes, forcing the re-compile of the removed classfiles. Typically used in conjunction with the Javac task.

Javac

Compiles the specified source file(s) within the running (Ant) VM, or in another VM if the fork attribute is specified.

JspC

Runs the JSP compiler. It can be used to precompile JSP pages for fast initial invocation of JSP pages, deployment on a server without the full JDK installed, or simply to syntax-check the pages without deploying them. The Javac task can be used to compile the generated Java source. (For Weblogic JSP compiles, see the Wljspc task.)

NetRexxC

Compiles a NetRexx source tree within the running (Ant) VM.

Rmic

Runs the rmic compiler on the specified file(s).

Wljspc

Compiles JSP pages using Weblogic's JSP compiler, weblogic.jspc. (For non-Weblogic JSP compiles, see the JspC task.

ServerDeploy

Task to run a "hot" deployment tool for vendor-specific J2EE server.

Stylebook

Executes the Apache Stylebook documentation generator. Unlike the command-line version of this tool, all three arguments are required to run the Stylebook task.

(See the documentation describing the EJB tasks.)

Ant

Runs Ant on a supplied buildfile, optionally passing properties (with possibly new values). This task can be used to build sub-projects.

AntCall

Runs another target within the same buildfile, optionally passing properties (with possibly new values).

Apply/ExecOn

Executes a system command. When the os attribute is specified, the command is only executed when Ant is run on one of the specified operating systems.

Dependset

This task compares a set of source files with a set of target files. If any of the source files is newer than any of the target files, all the target files are removed.

Exec

Executes a system command. When the os attribute is specified, the command is only executed when Ant is run on one of the specified operating systems.

Java

Executes a Java class within the running (Ant) VM, or in another VM if the fork attribute is specified.

Parallel

A container task that can contain other Ant tasks. Each nested task specified within the <parallel> tag will be executed in its own thread.

Sequential

A container task that can contain other Ant tasks. The nested tasks are simply executed in sequence. Its primary use is to support the sequential execution of a subset of tasks within the <parallel> tag.

Sleep

A task for suspending execution for a specified period of time. Useful when a build or deployment process requires an interval between tasks.

Subant

Calls a given target for all defined sub-builds. This is an extension of ant for bulk project execution.

Waitfor

Blocks execution until a set of specified conditions become true. This task is intended to be used with the Parallel task to synchronize a set of processes.

Attrib

Changes the permissions and/or attributes of a file or all files inside the specified directories. Currently, it has effect only under Windows.

Checksum

Generates a checksum for a file or set of files. This task can also be used to perform checksum verifications.

Chgrp

Changes the group ownership of a file or all files inside the specified directories. Currently, it has effect only under Unix.

Chmod

Changes the permissions of a file or all files inside the specified directories. Currently, it has effect only under Unix. The permissions are also UNIX style, like the arguments for the chmod command.

Chown

Changes the owner of a file or all files inside the specified directories. Currently, it has effect only under Unix.

Concat

Concatenates multiple files into a single one or to Ant's logging system.

Copy

Copies a file or Fileset to a new file or directory.

Copydir

Copyfile

Delete

Deletes either a single file, all files and sub-directories in a specified directory, or a set of files specified by one or more FileSets.

Deltree

Filter

Sets a token filter for this project, or reads multiple token filters from a specified file and sets these as filters. Token filters are used by all tasks that perform file-copying operations.

FixCRLF

Modifies a file to add or remove tabs, carriage returns, linefeeds, and EOF characters.

Get

Gets a file from a URL.

Mkdir

Creates a directory. Non-existent parent directories are created, when necessary.

Move

Moves a file to a new file or directory, or a set(s) of file(s) to a new directory.

Patch

Applies a "diff" file to originals.

Rename

RenameExtensions

Replace

Replace is a directory-based task for replacing the occurrence of a given string with another string in selected file.

ReplaceRegExp

Directory-based task for replacing the occurrence of a given regular expression with a substitution pattern in a file or set of files.

Sync

Synchronize two directory trees.

Tempfile

Generates a name for a new temporary file and sets the specified property to that name.

Touch

Changes the modification time of a file and possibly creates it at the same time.

Jarlib-available

Check whether an extension is present in a FileSet or an ExtensionSet. If the extension is present, the specified property is set.

Jarlib-display

Display the "Optional Package" and "Package Specification" information contained within the specified jars.

Jarlib-manifest

Task to generate a manifest that declares all the dependencies in manifest. The dependencies are determined by looking in the specified path and searching for Extension/"Optional Package" specifications in the manifests of the jars.

Jarlib-resolve

Try to locate a jar to satisfy an extension, and place the location of the jar into the specified property.

Record

Runs a listener that records the logging output of the build-process events to a file. Several recorders can exist at the same time. Each recorder is associated with a file.

Mail

A task to send SMTP email.

MimeMail

Defaultexcludes

Modify the list of default exclude patterns from within your build file.

Echo

Echoes text to System.out or to a file.

Fail

Exits the current build by throwing a BuildException, optionally printing additional information.

GenKey

Generates a key in keystore.

Input

Allows user interaction during the build process by displaying a message and reading a line of input from the console.

Script

Executes a script in a Apache BSF-supported language.

Sound

Plays a sound file at the end of the build, according to whether the build failed or succeeded.

Splash

Displays a splash screen.

Sql

Executes a series of SQL statements via JDBC to a database. Statements can either be read in from a text file using the src attribute, or from between the enclosing SQL tags.

Adds a task definition to the current project, such that this new task can be used in the current project.

TStamp

Sets the DSTAMP, TSTAMP, and TODAY properties in the current project, based on the current date and time.

Typedef

Adds a data-type definition to the current project, such that this new type can be used in the current project.

XmlValidate

Checks that XML files are valid (or only well-formed). This task uses the XML parser that is currently used by Ant by default, but any SAX1/2 parser can be specified, if needed.

(See the documentation describing the .NET tasks.)

ANTLR

Invokes the ANTLR Translator generator on a grammar file.

AntStructure

Generates a DTD for Ant buildfiles that contains information about all tasks currently known to Ant.

IContract

Instruments Java classes using the iContract DBC preprocessor. This task can generate a properties file for iControl, a graphical user interface that lets you turn on/off assertions.

Import

Import another build file and potentially override targets in it with targets of your own.

JavaCC

Invokes the JavaCC compiler-compiler on a grammar file.

Javah

Generates JNI headers from a Java class.

JJDoc

Invokes the JJDoc documentation generator for the JavaCC compiler-compiler. JJDoc takes a JavaCC parser specification and produces documentation for the BNF grammar. It can operate in three modes, determined by command line options. This task only invokes JJDoc if the grammar file is newer than the generated BNF grammar documentation.

JJTree

Invokes the JJTree preprocessor for the JavaCC compiler-compiler. It inserts parse-tree building actions at various places in the JavaCC source that it generates. The output of JJTree is run through JavaCC to create the parser. This task only invokes JJTree if the grammar file is newer than the generated JavaCC file.

Macrodef

MParse

Invokes the Metamata MParse compiler-compiler on a grammar file.

Native2Ascii

Converts files from native encodings to ASCII with escaped Unicode. A common usage is to convert source files maintained in a native operating system encoding to ASCII, prior to compilation.

Presetdef

Define a new task by instrumenting an existing task with default values for attributes or child elements.

Translate

Identifies keys in files, delimited by special tokens, and translates them with values read from resource bundles.

Xslt/Style

Processes a set of documents via XSLT.

Available

Sets a property if a specified file, directory, class in the classpath, or JVM system resource is available at runtime.

Basename

Sets a property to the last element of a specified path.

BuildNumber

Task that can be used to track build numbers.

Condition

Sets a property if a certain condition holds true - this is a generalization of Available and Uptodate.

Dirname

Sets a property to the value of the specified file up to, but not including, the last path element.

Echoproperties

Lists the current properties.

Loads a file into a property.

Load a file's contents as Ant properties. This task is equivalent to using <property file="..."/> except that it supports nested <filterchain> elements, and it cannot be specified outside a target.

PathConvert

Converts a nested path, path reference, filelist reference, or fileset reference to the form usable on a specified platform and/or to a list of items separated by the specified separator and stores the result in the specified property.

Property

Sets a property (by name and value), or set of properties (from a file or resource) in the project.

PropertyFile

Creates or modifies property files. Useful when wanting to make unattended modifications to configuration files for application servers and applications. Typically used for things such as automatically generating a build number and saving it to a build properties file, or doing date manipulation.

Uptodate

Sets a property if a given target file is newer than a set of source files.

Whichresource

Find a class or resource.

XmlProperty

Loads property values from a well-formed XML file.

FTP

Implements a basic FTP client that can send, receive, list, and delete files, and create directories.

Rexec

Task to automate a remote rexec session.

Scp

Copy files to or from a remote server using SSH.

setproxy

Sets Java's web proxy properties, so that tasks and code run in the same JVM can have through-the-firewall access to remote web sites.

Sshexec

Execute a command on a remote server using SSH.

Telnet

Task to automate a remote telnet session. This task uses nested <read> and <write> tags to indicate strings to wait for and specify text to send.

SCM(软件控制管理)任务

Cvs

CvsChangeLog

CVSPass

Adds entries to a .cvspass file. Adding entries to this file has the same affect as a cvs login command.

CvsTagDiff

Generates an XML-formatted report file of the changes between two tags or dates recorded in a CVS repository.

ClearCase

Tasks to perform the ClearCase cleartool checkin, checkout, uncheckout, update, lock, unlock, mklbtype, rmtype, mklabel, and mkbl commands.

Continuus/Synergy

Microsoft Visual SourceSafe

Tasks to perform the Visual SourceSafe vssget, vsslabel, vsshistory, vsscheckin, vsscheckout, vssadd, vsscp, and vsscreate commands.

Perforce

Tasks to perform the Perforce p4sync, p4change, p4edit, p4submit, p4have, p4label, p4counter, p4reopen, p4revert, and p4add commands.

Pvcs

Allows the user extract the latest edition of the source code from a PVCS repository.

SourceOffSite

Tasks to perform the SourceOffSite sosget, soslabel, soscheckin, and soscheckout commands.

StarTeam

Tasks to perform the StarTeam stcheckout, stcheckin, stlabel, and stlist commands. The Starteam task is deprecated; use STCheckout instead.

Junit

JunitReport

Junit任务产生的一个个xml文件合并起来， 然后对合并生成的文件使用一个样式单(stylesheet)来提供一个可读的测试结果报告.

Test

Visual Age for Java任务