【Coding】Ant脚本命令
1. available
格式:
用途:
如果指定的file存在,就设置这个property为指定的value
2. condition
格式:
用途:
如果满足了指定的条件(prefix没有被设置),则设置这个property为指定的value
3. javac
格式:
用途:
调用指定的javac去编译src下面的所有的java源文件。
source - javac1.4之前的版本忽略此项。可以设置为ant.build.javac.source
target - VM的版本号,据此来生成类文件。默认值依赖当前的JVM。可以设置为ant.build.javac.target
executable - javac可执行文件的完整路径,当fork设置为yes,默认值为运行ant的编译器
fork - 为true时在外部启用一个新的JDK编译线程进行编译,默认值为no
destdir - 类文件的保存位置
classpath - 使用的类路径
classpathref - 使用的类路径,其它地方定义的类路径的引用
optimize - 是否启用编译优化,默认值是off。自JDK1.3后被忽略
verbose - 在编译时是否显示详细的信息
debug - 是否为编译生成调试信息,默认值为off。如果设置为true,根据debuglevel的属性值来决定级别
memoryInitialSize - 如果 javac 在外部运行,则是底层 VM 的初始内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
memoryMaximumSize - 如果 javac 在外部运行,则是底层 VM 的最大内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
srcdir - Java源文件的位置
includes - 必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件
4. nbjpdastart
格式:
用途:
调用NetBeans的java debug去调试指定目录下的java源文件。
5. java
格式:
用途:
调用jvm去运行指定的jar文件。
这里有一行参数:<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>就是让NetBeans的debugger和这个jvm关联。开启debugger时,会自动指定一个端口号,并赋值给jpda.address2, 后面开启的jvm就会绑定到这个端口上。
6. for
格式:
用途:
对path中的每个文件进行sequential里面的操作。
7. mxmlc
格式:
用途:
调用Flex Builder的compiler和使用扩展的libraries对指定的Flex源文件进行编译
8. sequential
格式:
用途:
sequentiall没有属性,可以包含sub tasks,并且顺序执行它们。
9. echo
格式:
用途:
在指定的level下(可选)显示message或者标签之间的内容,并将内容输出到file文件中(可选)。
10. signjar
格式:
用途:
调用jarsigner对指定的jar文件进行签名。
alias - 别名
storepass - 密码
storetype - 类型
keystore - key文件名称
11. project
格式:
用途:
所有其它ant命令的包裹标签,和当前工程对应。
name - 工程名
default - 默认调用的target名
basedir - 项目根目录的相对路径(相对于当前ant文件)
12. jar
格式:
用途:
打包类和其它文件。
update - 如果文件已经存在,是否更新或覆盖,默认为false
compress - 不仅存储而且压缩数据,默认值为true
jarfile (destfile) - 生成的jar文件名
manifest - 指定MANIFEST.MF文件中的属性键值对
metainf - 指定文件集,所有在这个集合中的文件都会被包含在jar包的META-INF目录下
fileset - 被打包的文件集
13. path
格式:
用途:
指定路径以便为其他task所使用。
格式:
- <available property="prefix"
- value="${basedir}/.."
- file="${basedir}/../build/jetty-build.xml"/>
用途:
如果指定的file存在,就设置这个property为指定的value
2. condition
格式:
- <condition property="prefix" value="${basedir}">
- <not>
- <isset property="prefix"/>
- </not>
- </condition>
用途:
如果满足了指定的条件(prefix没有被设置),则设置这个property为指定的value
3. javac
格式:
- <javac source="${JAVAC_SOURCE}" target="${JAVAC_TARGET}"
- executable="${JAVAC_EXE}" fork="yes" destdir="classes"
- classpath="${outDir}" classpathref="libraries"
- optimize="off" verbose="off" debug="on"
- memoryInitialSize="256M" memoryMaximumSize="512M">
- <src path="${srcDir}"/>
- <include name="**/*.java"/>
- </javac>
用途:
调用指定的javac去编译src下面的所有的java源文件。
source - javac1.4之前的版本忽略此项。可以设置为ant.build.javac.source
target - VM的版本号,据此来生成类文件。默认值依赖当前的JVM。可以设置为ant.build.javac.target
executable - javac可执行文件的完整路径,当fork设置为yes,默认值为运行ant的编译器
fork - 为true时在外部启用一个新的JDK编译线程进行编译,默认值为no
destdir - 类文件的保存位置
classpath - 使用的类路径
classpathref - 使用的类路径,其它地方定义的类路径的引用
optimize - 是否启用编译优化,默认值是off。自JDK1.3后被忽略
verbose - 在编译时是否显示详细的信息
debug - 是否为编译生成调试信息,默认值为off。如果设置为true,根据debuglevel的属性值来决定级别
memoryInitialSize - 如果 javac 在外部运行,则是底层 VM 的初始内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
memoryMaximumSize - 如果 javac 在外部运行,则是底层 VM 的最大内存大小;否则将被忽略。默认为标准 VM 内存设置。(例如:83886080、81920k 或 80m)
srcdir - Java源文件的位置
includes - 必须包括的文件模式的列表,以逗号或空格分隔。如果忽略,将包括所有文件
4. nbjpdastart
格式:
- <nbjpdastart name="My application" addressproperty="jpda.address2" transport="dt_socket">
- <sourcepath>
- <pathelement path="src"/>
- </sourcepath>
- </nbjpdastart>
用途:
调用NetBeans的java debug去调试指定目录下的java源文件。
5. java
格式:
- <java jar="start.jar" fork="yes" dir="bin" failonerror="true" jvm="${java.executable}">
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-mx256M"/>
- <jvmarg value="-Xnoagent"/>
- <jvmarg value="-Djetty.home=."/>
- <jvmarg value="-Djava.compiler=none"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>
- <jvmarg value="-DSTOP.PORT=-1"/>
- <jvmarg value="-Xverify:none"/>
- <jvmarg value="-Xbootclasspath/a:${jettyOutDir}\\ext\\mail.jar"/》
- <jvmarg value="-Dprimary.address=10.123.146.10"/>
- <jvmarg value="-Dprimary.port=8080"/>
- </java>
用途:
调用jvm去运行指定的jar文件。
这里有一行参数:<jvmarg value="-Xrunjdwp:transport=dt_socket,address=${jpda.address2}"/>就是让NetBeans的debugger和这个jvm关联。开启debugger时,会自动指定一个端口号,并赋值给jpda.address2, 后面开启的jvm就会绑定到这个端口上。
6. for
格式:
- <for param="fileName">
- <path>
- ...
- </path>
- <sequential>
- <echo>@{filename}</echo>
- </sequential>
- </for>
用途:
对path中的每个文件进行sequential里面的操作。
7. mxmlc
格式:
- <mxmlc file="@{filename}" keep-generated-actionscript="true">
- <source-path path-element="flex/locale"/>
- <compiler.include-libraries dir="${FLEX_HOME}/frameworks/libs">
- <include name="automation.swc"/>
- <include name="automation_agent.swc"/>
- <include name="automation_charts.swc"/>
- </compiler.include-libraries>
- <compiler.include-libraries dir="flex/lib">
- <include name="graphLayout.swc"/>
- <include name="unComponentToolbox.swc"/>
- <include name="PrimitiveIcons.swc"/>
- </compiler.include-libraries>
- <compiler.include-libraries dir="${rftBinDir}">
- <include name="rft.swc"/>
- <include name="rftProp.swc"/>
- </compiler.include-libraries>
- </mxmlc>
用途:
调用Flex Builder的compiler和使用扩展的libraries对指定的Flex源文件进行编译
8. sequential
格式:
- <sequential>
- <mkdir ... />
- <copy ... />
- <nbjpdastart ... />
- </sequential>
用途:
sequentiall没有属性,可以包含sub tasks,并且顺序执行它们。
9. echo
格式:
- <echo message="Fire crews" />
- <echo>Fire crews</echo>
- <echo file="containment.txt" append="false">Fire crews</echo>
- <echo message="Fire crews" file="containment.txt" append="false" />
- <echo level="debug">Are hoping</echo>
用途:
在指定的level下(可选)显示message或者标签之间的内容,并将内容输出到file文件中(可选)。
10. signjar
格式:
- <signjar jar="crew.jar" alias="containment" storepass="123456" keystore="cert.p12" storetype="pkcs12" />
用途:
调用jarsigner对指定的jar文件进行签名。
alias - 别名
storepass - 密码
storetype - 类型
keystore - key文件名称
11. project
格式:
- <project name="WebApplication" default="init" basedir="."></project>
用途:
所有其它ant命令的包裹标签,和当前工程对应。
name - 工程名
default - 默认调用的target名
basedir - 项目根目录的相对路径(相对于当前ant文件)
12. jar
格式:
- <jar update="true" compress="true" jarfile="${outDir}/tag-1.0.jar">
- <manifest>
- <attribute name="Build-User" value="John"/>
- </manifest>
- <metainf dir="${srcDir}/META-INF/">
- <include name="**/*.xml" />
- </metainf>
- <fileset dir="${outDir}">
- <include name="**/*.class" />
- </fileset>
- </jar>
用途:
打包类和其它文件。
update - 如果文件已经存在,是否更新或覆盖,默认为false
compress - 不仅存储而且压缩数据,默认值为true
jarfile (destfile) - 生成的jar文件名
manifest - 指定MANIFEST.MF文件中的属性键值对
metainf - 指定文件集,所有在这个集合中的文件都会被包含在jar包的META-INF目录下
fileset - 被打包的文件集
13. path
格式:
- <path id="build.classpath">
- <fileset dir="${outDir}">
- <include name="**/*.class" />
- </fileset>
- <pathelement location="${basedir}\..\encryption\build" />
- </path>
用途:
指定路径以便为其他task所使用。