Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
283,66 KB
Nội dung
Ant: The Definitive Guide 157 Attributes src (all, File, Y) The name of the file to compress. zipfile (all, File, Y) The name of the file to create. Content None. Example Usage Compresses manuscript.tar to manuscript.tar.gz: <gzip src="manuscript.tar" dest="manuscript.tar.gz"/> See Also The gunzip task. jar all org.apache.tools.ant.taskdefs.Jar Creates a JAR file from one or more source files and directories. Attributes basedir (all, File, N) Specifies the base directory containing files to be added to the JAR file. compress (all, boolean, N) If true, compress the JAR file. Defaults to true. defaultexcludes (all, boolean, N) Determines whether to use default excludes, as described in Chapter 4 under "FileSet DataType." Defaults to true. Ant: The Definitive Guide 158 encoding (1.4, String,N) Specifies the character encoding for filenames inside the JAR file. Defaults to UTF-8. The Ant specification warns that changing this attribute probably renders the JAR file unusable by Java. excludes (all, String, N) A comma-separated list of file patterns to exclude. These are in addition to the default excludes. excludesfile (all, File, N) The name of a file containing one exclude pattern per line. filesonly (1.4, boolean, N) If true, do not create empty directories. Defaults to false. includes (all, String, N) A comma-separated list of file patterns to include. includesfile (all, File, N) The name of a file containing one include pattern per line. jarfile (all, File, Y) The name of the JAR file to create. manifest (all, File, N) The name of an existing manifest file to place in the JAR file. If not specified, Ant generates a new manifest file containing the version of Ant used. update (1.4, boolean, N) If true, update the existing JAR file when changes are made, rather than erasing and creating it from scratch. Defaults to false. whenempty (all, Enum, N) The behavior used when no input files are found. Defaults to create. Legal values are: fail Abort the build. Ant: The Definitive Guide 159 skip Don't create the JAR file. create Create an empty JAR file when there are no files present. Content 0 n nested <attribute> elements (1.4) Each specifies a name-value pair to place in the "unnamed" section of the JAR file's manifest. Manifest sections are separated by blank lines, and may optionally have names. Use the <section> element to create named manifest sections. Following are the allowable attributes for the <attribute> nested element. name (1.4, String, Y) The attribute name. value (1.4, String, Y) The attribute value. 0 n nested patternset elements: <exclude> , <include> , <patternset> (all); <excludesfile> , <includesfile> (1.4) Used in place of their corresponding attributes, these specify the set of included and excluded source files. 0 n nested <fileset> elements (all) Specifies the files and directories to include in the JAR file. 0,1 nested <metainf> elements (1.4) Defines a fileset containing all files placed in the META-INF directory of the JAR file. If a file named MANIFEST.MF is found in this fileset, its content is merged with the MANIFEST.MF placed in the generated JAR file. 0 n nested <section> elements (1.4) Each defines a named manifest section. Each <section> can contain zero or more nested <attribute> elements. The <section> element requires the following attribute: Ant: The Definitive Guide 160 name (1.4, String, Y) The section name. 0 n nested <zipfileset> elements (1.3, 1.4) See the documentation for the zip task for more information. Example Usage Create sample.jar containing all .class files in the build directory tree: <jar jarfile="${builddir}/sample.jar" basedir="${builddir}" includes="**/*.class"/> This example does the same thing, but uses a nested <fileset> element instead of the includes attribute: <jar jarfile="${builddir}/sample2.jar"> <fileset dir="${builddir}" includes="**/*.class"/> </jar> This last example shows how to use Ant 1.4's <section> and <attribute> elements to create the JAR file's manifest: <jar jarfile="build/sample.jar" basedir="src" includes="**/*.java"> <manifest> <attribute name="Version" value="3.2"/> <attribute name="Release-Date" value="20 Mar 2002"/> <section name="drinks"> <attribute name="favoriteSoda" value="Coca Cola"/> <attribute name="favoriteBeer" value="Amber Bock"/> </section> <section name="snacks"> <attribute name="cookie" value="chocolateChip"/> <attribute name="iceCream" value="mooseTracks"/> </section> </manifest> </jar> Here is the resulting META-INF/MANIFEST.MF file: Manifest-Version: 1.0 Release-Date: 20 Mar 2002 Version: 3.2 Created-By: Ant 1.4.1 Name: snacks cookie: chocolateChip iceCream: mooseTracks Name: drinks favoriteBeer: Amber Bock favoriteSoda: Coca Cola Ant: The Definitive Guide 161 See Also The gunzip task. java all org.apache.tools.ant.taskdefs.Java Executes a Java class using Ant's VM instance or by forking a new VM process. If the executed application calls System.exit( ), be sure to set fork="true" or Ant will exit. Attributes args (all, String, N) Deprecated in Ant 1.2; use nested <arg> elements instead. classname (all, String, *) The name of the Java class to execute. classpath (all, Path, N) The classpath to use. This is added to Ant's classpath unless fork="true". classpathref (all, Reference, N) A reference to a classpath defined elsewhere in the buildfile. dir (all, File, N) The working directory for the VM. Ignored unless fork="true". failonerror (all, boolean, N) If true, the build fails when the command returns anything other than 0. Defaults to false. Ignored unless fork="true". fork (all, boolean, N) If true, the class is executed in a new VM instance. Defaults to false. jar (1.4, File, *) The name of an executable JAR file to execute. The JAR file must contain a Main- Class manifest entry, and fork must be true. Ant: The Definitive Guide 162 jvm (all, String, N) The command name of the Java interpreter (may be a full pathname to the command). Defaults to java. Ignored unless fork="true". jvmargs (all, String, N) Deprecated in Ant 1.2; use nested <jvmarg> elements instead. maxmemory (all, String, N) Maximum amount of memory allocated for the forked VM. Ignored unless fork="true". Equivalent to -mx or -Xmx Java command-line options, depending on which version of Java is in use. output (1.3, 1.4, File, N) A filename to write output to. Either classname or jar is required. Content 0 n nested <arg> and <jvmarg> elements (all) Specifies command-line arguments to the application and to the JVM, respectively. See Section 4.3 in Chapter 4. 0 n nested <sysproperty> elements (all) Each specifies a system property. 0,1 nested <classpath> elements (all) Uses path element in place of the classpath or classpathref attributes. Example Usage This example shows how various command-line arguments are passed to an application: <java classname="com.oreilly.antbook.JavaTest"> <sysproperty key="oreilly.home" value="${builddir}"/> <arg value="Eric Burke"/> <arg line="-verbose -debug"/> <arg path="/home;/index.html"/> <classpath> <pathelement path="${builddir}"/> </classpath> </java> Ant: The Definitive Guide 163 First, the oreilly.home system property is specified. This is equivalent to invoking the following command: java -Doreilly.home=build etc Additionally, the following four command-line arguments are specified: • Eric Burke • -verbose • -debug • C:\home;C:\index.html 4 This next example shows how to reference a classpath defined elsewhere in the Ant buildfile: <! this is defined at the "target level", parallel to <target>s > <path id="thirdparty.class.path"> <pathelement path="lib/crimson.jar"/> <pathelement path="lib/jaxp.jar"/> <pathelement path="lib/xalan.jar"/> </path> <target name="rundemo"> <java classname="com.oreilly.antbook.JavaTest"> <classpath refid="thirdparty.class.path"/> </java> </target> javac all org.apache.tools.ant.taskdefs.Javac Compiles Java source code. This task compares .java files with .class files. Affected source files are compiled when the class files do not exist, or when the source files are newer than their respective class files. This task makes no effort to analyze source code or to perform logical dependency analysis. For example, Ant does not know if subclasses need compiling after the source code for a base class is modified. Numerous compilers are supported. For JDK 1.1/1.2, the default compiler is classic. For JDK 1.3/1.4, it defaults to modern. To choose a different compiler, set the build.compiler property as shown in Table 7-3. The "Alias" column lists alternate property values having the same effect as the value in the "Property" column. Table 7-3. Compiler selection properties Property Alias Description classic javac1.1 or javac1.2 The standard JDK 1.1 or 1.2 compiler. modern javac1.3 or javac1.4 The standard JDK 1.3 or 1.4 compiler. jikes IBM's Jikes compiler. jvc Microsoft Microsoft's Java SDK compiler. kjc The kopi compiler. 4 Notice how the command line is converted into platform-specific pathnames. This was discussed in Chapter 4. Ant: The Definitive Guide 164 gcj The gcj compiler from gcc. sj Symantec The Symantec compiler. extJavac Run either modern or classic in a JVM of its own. Attributes bootclasspath (all, Path, N) The bootstrap 5 classpath to use. bootclasspathref (all, Reference, N) A reference to a bootstrap classpath defined elsewhere in the buildfile. classpath (all, Path, N) The classpath to use. This is added to Ant's classpath unless fork="true". classpathref (all, Reference, N) A reference to a classpath defined elsewhere in the buildfile. debug (all, boolean, N) If true, compile source with debug information. Defaults to false. defaultexcludes (all, boolean, N) Determines whether to use default excludes, as described in Chapter 4 under "FileSet DataType." Defaults to true. depend (all, boolean, N) If true, enables dependency checking for compilers that support it, such as jikes and classic. Defaults to false. deprecation (all, boolean, N) If true, display deprecation warnings. Defaults to false. destdir (all, File, N) The destination directory for class files. encoding (all, String, N) 5 When using Sun's JVM, the bootstrap classpath includes those classes implementing the Java 2 Platform. These are found in the rt.jar and i18n.jar files in the jre/lib directory. Ant: The Definitive Guide 165 Character encoding of source files. excludes (all, String, N) A comma-separated list of file patterns to exclude. These are in addition to the default excludes. excludesfile (all, File, N) The name of a file containing one exclude pattern per line. extdirs (all, Path, N) Override the usual location for Java-installed optional packages. failonerror (1.3, 1.4, boolean, N) If true, the build fails when errors occur. Defaults to true. fork (1.4, boolean, N) If true, execute the Java compiler as a separate process. When set, this attribute overrides the build.compiler property, and Ant executes the actual javac executable in JAVA_HOME/bin rather than the compiler's Main class. Defaults to false. includeantruntime (1.3, 1.4, boolean, N) If true, include the Ant runtime libraries in the classpath. Defaults to true. includejavaruntime (1.3, 1.4, boolean, N) If true, include the default runtime libraries from the executing VM. Defaults to false. includes (all, String, N) A comma-separated list of file patterns to include. includesfile (all, File, N) The name of a file containing one include pattern per line. memoryinitialsize (1.4, String, N) Works only when fork=true. Specifies the initial memory size for the VM — for instance 64000000, 64000k, or 64m. memorymaximumsize (1.4, String, N) Ant: The Definitive Guide 166 Works only when fork=true. Specifies the maximum memory size for the VM. nowarn (1.4, boolean, N) If true, pass the -nowarn switch to the compiler. Defaults to false. optimize (all, boolean, N) If true, instruct the compiler to optimize the code. Defaults to false. source (1.4.1, String, N) If specified, the text from this attribute is passed as the -source command-line option to the underlying javac executable. Legal values are 1.3 and 1.4. Passing 1.4 allows JDK 1.4 to use its new assertion facility. srcdir (all, Path, *) Location of the source code files. target (all, String, N) Generate class files for a specific VM version, such as 1.1 or 1.2. verbose (all, boolean, N) If true, instruct the compiler to produce verbose output. Defaults to false. The srcdir attribute is required unless nested <src> elements are specified. Content 0 n nested patternset elements: <exclude> , <include> , <patternset> (all); <excludesfile> , <includesfile> (1.4) Used in place of their corresponding attributes, these specify the set of included and excluded source files. 0 n nested path elements: <bootclasspath> , <classpath> , <extdirs> , and <src> (all) Used in place of their corresponding attributes. Example Usage Compile all Java source files in the com.oreilly.antbook package and subpackages, placing results in ${builddir}: <javac srcdir="${srcdir}" [...]... extdirs (all, String, N) Override the usual location for Java installed optional packages 168 Ant: The Definitive Guide failonerror (all, boolean, N) If true, the build fails when the command returns anything other than 0 Defaults to false footer (all, String, N) The HTML to include in the footer of each generated page group (all, String, N) Group-specified packages together in an overview page This attribute... docs at the first URL using the package list at the second URL locale (all, String, N) The locale name to use, such as en_US maxmemory (all, String, N) The maximum heap size available to the Java VM nodeprecated (all, boolean, N) If true, do not include @deprecated tags Defaults to false nodeprecatedlist (all, boolean, N) If true, do not include the deprecated list Defaults to false 169 Ant: The Definitive. .. todir (all, File, *) The directory to move files to tofile (all, File, *) The file to move to Either file or a nested fileset element is required When the file attribute is used, one of either tofile or todir is required When a nested fileset is used, only todir is allowed: it's also required 1 76 Ant: The Definitive Guide Content 0 n nested elements (all) Selects files to move The todir attribute... Content None Example Usage Apply the diff included in foo.patch, guessing filenames from the diff output: See Also See the cvs task pathconvert 1.4 org.apache.tools .ant. taskdefs.PathConvert Converts Ant paths, or filesets, into platform-specific paths, storing the result in a property 179 Ant: The Definitive Guide Attributes dirsep (1.4, String, *) The character used as a directory... includes="com/oreilly/antbook/**"> 183 Ant: The Definitive Guide rename This task was deprecated in Ant 1.2; use the move task instead replace all org.apache.tools .ant. taskdefs.Replace Performs string replacement in one or more files The original files are replaced rather than copied Attributes defaultexcludes (all, boolean, N) Determines whether to use default... and works in conjunction with the propertyfile attribute attributes are as follows: token (1.3, 1.4, String, Y) The token to search for value (1.3, 1.4, String, *) The replacement text property (1.3, 1.4, String, *) The name of a property whose value is used as the replacement text Either value or property may be specified, or neither 185 Ant: The Definitive Guide 0,1 nested ... when iiop=true includeantruntime (1.4, boolean, N) If true, include the Ant runtime libraries in the classpath Defaults to true 187 Ant: The Definitive Guide includejavaruntime (1.4, boolean, N) If true, include the default runtime libraries from the executing VM Defaults to false includes (all, String, N) A comma-separated list of file patterns to include includesfile (all, File, N) The name of a file... elsewhere in the buildfile bottom (all, String, N) HTML to include in the bottom of each page charset (all, String, N) Charset for cross-platform viewing of generated documentation 167 Ant: The Definitive Guide classpath (all, Path, N) The classpath to use classpathref (all, Reference, N) A reference to a classpath defined elsewhere in the buildfile defaultexcludes (1.4, boolean, N) Determines whether to... this context from (1.4, String, Y) The prefix to map, such as C: This is case-insensitive when Ant runs on Windows, and case-sensitive when Ant runs on Unix to (1.4, String, Y) The replacement to use when from matches — for example, /usr 0,1 nested elements (1.4) A path element used in place of the refid attribute 180 Ant: The Definitive Guide Example Usage The following example defines a fileset:... org.apache.tools .ant. taskdefs.Rmic Invokes the rmic compiler, generating stubs and skeletons for Java Remote Method Invocation Attributes base (all, File, Y) The location in which to store compiled files classname (all, String, N) Run rmic on this class classpath (all, Path, N) The classpath to use 1 86 Ant: The Definitive Guide classpathref (all, Reference, N) A reference to a classpath defined elsewhere in the . instance 64 000000, 64 000k, or 64 m. memorymaximumsize (1.4, String, N) Ant: The Definitive Guide 166 Works only when fork=true. Specifies the maximum memory size for the VM. nowarn (1.4,. Override the usual location for Java installed optional packages. Ant: The Definitive Guide 169 failonerror (all, boolean, N) If true, the build fails when the command returns anything other. nested <attribute> elements. The <section> element requires the following attribute: Ant: The Definitive Guide 160 name (1.4, String, Y) The section name. 0 n nested <zipfileset>