build - a tool to build or clean up Java projects
Copyright (C) 2001-2004 Potix Corporation. All Rights Reserved.

Usage:
  build [command] [a=b] [project...]

Commands:
	help           show this message
	build.debug    build the debug version (default)
	build.release  build the release version (br: shortcut)
	clean          clean up both debug and release
	clean.debug    clean up the debug versin (cd: shortcut)
	clean.release  clean up the debug versin (cr: shortcut)
	utest.debug    unit-test the debug version (ud: shortcut)
	utest.release  unit-test the release version (ur: shortcut)
	javadoc        generates javadoc (doc: shortcut)
	verbose        make ant in verbose mode
	continue       allow unit test to continue even encountering failures
	unzip          unzip ear/war into the deploy directory (as if unzip=true is specified)
	a=b            any pair of definitions. It is useful to control unit test.	

Notes:
	* If no project specified, all projects in targetList are processed.
	* If no command specified, build.debug is assumed.
	* All arguments are case-sensitive
	* Projects cannot be named with any space
	* noear, verbose and continue, if specified, must be the first
	  arguments, and the sequence is important.

----------
Files located under .:
----------
build.setting or build.setting.local
	Controls how to build. build.setting is ignored if build.setting.local
	exists. build.setting is part of SVN, while buil.setting.local is not.
	D.ON=true or D.ON=false
		Controls whether to turn on D.ON
	javadoc=~/prj/javadoc
		Specifies where to store Java apidocs.
	zipjs=true
		Optional. Default false.
		Controls whether to compress the JavaScript files.
		Note: a JavaScript file is compress only if zipjs=true AND
		it matches zipjs specified in the deploy file
	unzip=true
		Optional. Default: false.
		Controls whether to unzip files when deploying ear/war.
		The files to unzip are specified in the deploy file (see below)
		This flag cannot be overriden by specify the unzip command (see above)
	debug=false
		Optinal. Default: true if and only if D.ON is true
		Controls whether to generate debug info.
	optimize=true
		Optinal. Default: true if and only if D.ON is false
		Controls whether to optimize code generation.

MANIFEST.MF (Must)
	Used if the project doesn't contain MANIFEST.MF

----------
Files located under the project directory:
----------
classpath
	Secifies the classpath to run ant.
	NOTE: it must be Unix format, i.e., separated by ':'

version
	Specifies the version (only first line is used)

format
	Specifies the resulted archive's format. It must be specified.
 	ear
 		The result archive is an ear.
 	jar
 		The result archive is a jar.
 		NOTE: Only src/archive/META-INF and src/archive/metainfo is included!
 	war
 		The result archive is a war.
 		NOTE: src/archive/META-INF and src/arhive/metainfo is excluded!

deploy (Optional)
	Specifies how to deploy the result. If omitted, no deployment occurs.
 	lib
 		Deploy the result to dist/lib as a shared library.
 		They are copied to server's lib if specified in server.libs.
 		They are merged to ear if specified in earlib.libs.
 	server
 		Deploy the result to a server as a bean or web container.
 		You must also specify a line:
 			app=YourAppName

 		When deploying to server, you could place an extra line in this file
 		if you want	to unzip ear into the deploy directory:
 			unzip=true
 		or
 			unzip=we.jar,we.war
 		Notice: this unzip option is enabled only if build.release is targeted
 		or unzip=true is found in build.setting.local.

war.libs (Optional)
	Specifies a list of libraries (one per line) under dist/lib/ext that
	shall be packed to the result war (format must be war).

server.libs (Optional)
	Specifies a list of libraries (one per line) under dist/lib and
	dist/lib/ext that shall be copied to the server's lib directory.
	Used only deploy: server.

ear.libs (Optional)
	Specifies A list of libraries (one per line) under dist/lib
	or dist/lib/ext that shall be packed to the result ear (format must be ear).
	Used only if format: ear.

import.libs (Optional)
	Specifies a list of files (one per line) under dist/export that
	shall be packed to the result war (format must be war).
	Note: dist/export is generated if a project contains src/export.

cactus.properties (Must if Web-based Unit Test)
	Specifies the information required by web-based unit test codes.

class.test.local (Optional)
 	Specifies a list of classes (one per line) that the unit test must
 	test. If no classes specified at all, all classes registered in all
 	AllTests.java files are tested.
