一、概述
local是Ant1.8引入的任务,用于将本地属性添加到当前作用域,属性作用域存在于Ant的“块”级别上。包括target以及Parallel和Sequential任务容器。在给定作用域的本地属性会屏蔽更高作用域(包括全局作用域)的同名的属性。在全局级别使用local,可以有效的将属性局部的设置为指定顶级操作的“匿名”目标。
二、属性
name:要在当前作用域内声明的属性。
三、简单示例
<project default="step2">
<property name="test" value="test"/>
<target name="step1">
<echo>before local:${test}</echo>
<local name="test"/>
<property name="test" value="test_step1"/>
<echo>after local:${test}</echo>
</target>
<target name="step2" depends="step1">
<parallel>
<echo>global test>>1:${test}</echo>
<sequential>
<local name="test"/>
<property name="test" value="test_ps1"/>
<echo>First sequential test:${test}</echo>
</sequential>
<sequential>
<sleep seconds="1"/>
<echo>global test>>2:${test}</echo>
</sequential>
<sequential>
<local name="test"/>
<property name="test" value="test_ps2"/>
<echo>Second sequential test:${test}</echo>
</sequential>
<echo>global test>>3: ${test}</echo>
<show message="local" />
</parallel>
</target>
<macrodef name="show">
<attribute name="message" />
<sequential>
<local name="test"/>
<property name="test" value="test_@{message}"/>
<echo>show:${test}</echo>
</sequential>
</macrodef>
</project>