phing用户手册之core task译文
AvailableTask
测试某资源或文件是否存在,并设置某属性为相应的值
例子
[html]
<available file="/tmp/test.txt" property="test_txt_exists" value="Yes"/>
<available file="/home/foo" type="dir" property="properties.yetanother" />
<available file="/home/foo/bar" property="foo.bar" value="Well, yes" />
<available file="/tmp/test.txt" property="test_txt_exists" value="Yes"/>
<available file="/home/foo" type="dir" property="properties.yetanother" />
<available file="/home/foo/bar" property="foo.bar" value="Well, yes" />这里,AvailableTask首先检查/tmp目录下是否存在名为test.txt的文件或目录。
然后检查/home目录下是否有目录foo,接下来检查/home/foo目录下是否存在名为bar的文件或目录
如果/tmp/test.txt存在,test_txt_exists属性将被设为Yes,如果/home/foo存在并且为目录,则properties.yetanother被设为true(默认)。
如果/home/foo/bar存在,foo.bar将被设为“Well,yes”。
ChmodTask
设置文件或目录的权限。
例子
[html]
<chmod file="test.txt" mode="0755" />
<chmod file="/home/test" mode="0775" />
<chmod file="/home/test/mine.txt" mode="0500" verbose="true" />
<chmod file="test.txt" mode="0755" />
<chmod file="/home/test" mode="0775" />
<chmod file="/home/test/mine.txt" mode="0500" verbose="true" />更多信息可参见php手册中的chmod([http://php.net/chmod])
支持的嵌套标签
<fileset>
ChownTask
改变文件或目录的所有者
例子
[html]
<chown file="my-file.txt" user="foo" />
<chown file="my-file.txt" user="username.groupname" />
<chown file="/home/test/my-directory" user="bar" />
<chown file="/home/test/my-file.txt" user="foo" verbose="true" failonerror="false" />
<chown file="my-file.txt" user="foo" />
<chown file="my-file.txt" user="username.groupname" />
<chown file="/home/test/my-directory" user="bar" />
<chown file="/home/test/my-file.txt" user="foo" verbose="true" failonerror="false" />支持的嵌套标签
<fileset>
ConditionTask
条件为真时设置某属性值--相当于Available和UpToDate的整合。
注意
如果条件为真,属性值默认被设为true;条件为假,属性值不会被设置。你可以通过设置value属性来替代默认值。
condition是嵌套元素,你必须指定一个条件(且只能为一个)。
例子
[html]
<condition property="isMacOrWindows">
<or>
<os family="mac"/>
<os family="windows"/>
</or>
</condition>
<condition property="isMacOrWindows">
<or>
<os family="mac"/>
<os family="windows"/>
</or>
</condition>
CopyTask
拷贝文件或目录
注意
只有当源文件比目标文件新或目标 文件不存在时,文件才会被拷贝。
可以明确指定进行文件覆盖。
例子
一方面,CopyTask直持逐个文件的拷贝:
[html]
<copy file="somefile.txt" tofile="/tmp/anotherfile.bak" overwrite="true"/>
<copy file="somefile.txt" tofile="/tmp/anotherfile.bak" overwrite="true"/>除此之外,CopyTask还支持Fileset,你可以很方便的加入或排除文件。或多信息可参考FileSet--特别要注意它的defaultexcludes属性。CopyTask还支持Mappers和Filters,所以你几乎可以完成任何对文件内容和文件名的处理。
[html]
<copy todir="/tmp/backup" >
<fileset dir=".">
<include name="**/*.txt" />
<include name="**/*.doc" />
<include name="**/*.swx" />
</fileset>
<filelist dir="." files="test.html"/>
</copy>
<copy todir="build" >
<fileset defaultexcludes="false" expandsymboliclinks="true" dir=".">
<include name="**/*.php" />
</fileset>
</copy>
<copy todir="/tmp/backup" >
<fileset dir=".">
<include name="**/*.txt" />
<include name="**/*.doc" />
<include name="**/*.swx" />
</fileset>
<filelist dir="." files="test.html"/>
</copy>
<copy todir="build" >
<fileset defaultexcludes="false" expandsymboliclinks="true" dir=".">
<include name="**/*.php" />
</fileset>
</copy>支持的嵌套标签
<fileset>
<filelist>
<filterchain>
<mapper>
DeleteTask
删除文件或目录
例子
[html]
<-- Delete a specific file -->
<delete file="/tmp/foo.bar" />
<-- Delete a directory -->
<delete dir="/tmp/darl" includeemptydirs="true" verbose="true" failonerror="true" />
<-- Delete using a fileset -->
<delete>
<fileset dir="/tmp">
<include name="*.bar" />
</fileset>
</delete>
<-- Delete a specific file -->
<delete file="/tmp/foo.bar" />
<-- Delete a directory -->
<delete dir="/tmp/darl" includeemptydirs="true" verbose="true" failonerror="true" />
<-- Delete using a fileset -->
<delete>
<fileset dir="/tmp">
<include name="*.bar" />
</fileset>
</delete>支持的嵌套标签
<fileset>
EchoTask
向标准输出和日志中输出消息
注意
可以指定日志级别
可以直接向文件输出消息,在这种情况下将会默认使用用append选项替代overwrite,日志级别选项将失效。
除此之外,echotask还可以输出fileset元素中指定的文件的内容。
[html]
<echo msg="Phing rocks!" />
<echo me
补充:web前端 , HTML/CSS ,