在Phing中使用自定义属性
Phing允许您设置可以在脚本其余部分中使用的某些参数。这些可用于定义非标准的构建目录,或存储可在构建期间写入连接文件的数据库连接详细信息。
属性是使用property元素定义的,应将其放置在build.xml文件的顶部,以使其他开发人员可以轻松查看正在发生的情况。以下示例定义了一个属性,并使用主目标将其打印出来。
property1: ${property1}
运行此build.xml文件将产生以下结果。
C:\myProject>phing Buildfile: C:\myProject\build.xml myProject > main: [echo] property1: value1 BUILD FINISHED Total time: 0.2119 seconds
可以使用命令行定义属性。以下build.xml文件与第一个文件类似,但是它尝试打印出第二个未定义的属性。现在,主要目标具有名为if的属性,该属性用于查看是否定义了属性。如果未定义property2属性,则目标将不会运行,但也不会产生任何错误。
property1: ${property1} property2: ${property2}
要在存在property2的情况下运行此脚本,请使用-D标志和phing。
phing-Dpropertyq2value2
也可以写成:
phing-Dpropertyq2=value2
if属性的反义是“除非”属性。如果定义了exclude属性中的属性,则不会运行目标元素。这提供了打开和关闭目标的便捷方式。
property1: ${property1}
可以使用以下命令关闭主要目标。
phing-Dproperty2value2
在命令行上设置属性后,它将覆盖build.xml文件中为该属性设置的任何值。
您还可以build.xml使用第二个属性元素的override属性从同一文件中覆盖属性。
property1: ${property1}
现在property1属性的值将为“摆动”。
使用Phing进行自动构建