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