You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/12/24 07:48:41 UTC
[2/8] git commit: [flex-utilities] [refs/heads/develop] - refactor so
context is passed in execute() and attributes are also processed lazily.
Looks like AntCall creates its own context so we can't assume a context until
execute()
refactor so context is passed in execute() and attributes are also processed lazily. Looks like AntCall creates its own context so we can't assume a context until execute()
Project: http://git-wip-us.apache.org/repos/asf/flex-utilities/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-utilities/commit/4b53170a
Tree: http://git-wip-us.apache.org/repos/asf/flex-utilities/tree/4b53170a
Diff: http://git-wip-us.apache.org/repos/asf/flex-utilities/diff/4b53170a
Branch: refs/heads/develop
Commit: 4b53170a891a7e006993dc0e40875e41702e2ef9
Parents: dd196d1
Author: Alex Harui <ah...@apache.org>
Authored: Thu Dec 19 15:37:33 2013 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Dec 19 15:37:33 2013 -0800
----------------------------------------------------------------------
ant_on_air/build.xml | 8 +++
ant_on_air/src/AntClasses.as | 3 +
ant_on_air/src/org/apache/flex/ant/Ant.as | 49 +++++++++------
.../src/org/apache/flex/ant/tags/Available.as | 12 ++--
.../src/org/apache/flex/ant/tags/Checksum.as | 4 +-
.../src/org/apache/flex/ant/tags/Condition.as | 6 +-
ant_on_air/src/org/apache/flex/ant/tags/Copy.as | 4 +-
.../src/org/apache/flex/ant/tags/Delete.as | 4 +-
ant_on_air/src/org/apache/flex/ant/tags/Echo.as | 4 +-
.../src/org/apache/flex/ant/tags/Equals.as | 8 ++-
ant_on_air/src/org/apache/flex/ant/tags/Fail.as | 8 +--
.../src/org/apache/flex/ant/tags/FileSet.as | 5 +-
ant_on_air/src/org/apache/flex/ant/tags/Get.as | 8 +--
.../src/org/apache/flex/ant/tags/Input.as | 4 +-
.../src/org/apache/flex/ant/tags/IsSet.as | 6 +-
.../org/apache/flex/ant/tags/LoadProperties.as | 9 +--
.../src/org/apache/flex/ant/tags/Mkdir.as | 4 +-
ant_on_air/src/org/apache/flex/ant/tags/Not.as | 7 ++-
ant_on_air/src/org/apache/flex/ant/tags/OS.as | 4 +-
.../src/org/apache/flex/ant/tags/Project.as | 36 +++++++----
.../src/org/apache/flex/ant/tags/Property.as | 10 +---
.../org/apache/flex/ant/tags/PropertyFile.as | 10 +---
.../src/org/apache/flex/ant/tags/Replace.as | 4 +-
.../src/org/apache/flex/ant/tags/Target.as | 63 +++++++++++---------
.../src/org/apache/flex/ant/tags/Untar.as | 6 +-
.../src/org/apache/flex/ant/tags/Unzip.as | 8 +--
.../src/org/apache/flex/ant/tags/XmlProperty.as | 9 +--
.../flex/ant/tags/filesetClasses/DataType.as | 4 +-
.../ant/tags/filesetClasses/DirectoryScanner.as | 4 +-
.../flex/ant/tags/filesetClasses/FileUtils.as | 4 +-
.../ant/tags/filesetClasses/TokenizedPath.as | 2 +-
.../tags/supportClasses/FileSetTaskHandler.as | 13 ++--
.../ant/tags/supportClasses/IValueTagHandler.as | 8 ++-
.../ant/tags/supportClasses/NamedTagHandler.as | 3 +
.../flex/ant/tags/supportClasses/TagHandler.as | 9 ++-
.../flex/ant/tags/supportClasses/TaskHandler.as | 13 ++--
.../src/org/apache/flex/xml/ITagHandler.as | 3 +-
.../src/org/apache/flex/xml/XMLTagProcessor.as | 8 +--
ant_on_air/tests/AntTest.mxml | 4 +-
ant_on_air/tests/test.xml | 4 +-
40 files changed, 210 insertions(+), 172 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/build.xml
----------------------------------------------------------------------
diff --git a/ant_on_air/build.xml b/ant_on_air/build.xml
index 8d6d5fc..5f06203 100644
--- a/ant_on_air/build.xml
+++ b/ant_on_air/build.xml
@@ -137,4 +137,12 @@
</exec>
</target>
+ <target name="debug-test" >
+ <delete dir="${basedir}/tests/temp" failonerror="false" />
+ <exec executable="${AIR_HOME}/bin/${adl}" dir="${basedir}/tests" failonerror="true">
+ <arg value="-runtime" />
+ <arg value="${AIR_HOME}/runtimes/air/${runtime}" />
+ <arg value="${basedir}/tests/AntTest-app.xml" />
+ </exec>
+ </target>
</project>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/AntClasses.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/AntClasses.as b/ant_on_air/src/AntClasses.as
index ab6b80b..91abdf1 100644
--- a/ant_on_air/src/AntClasses.as
+++ b/ant_on_air/src/AntClasses.as
@@ -24,6 +24,9 @@ package
{
import org.apache.flex.ant.Ant; Ant;
import org.apache.flex.ant.tags.Project; Project;
+ import org.apache.flex.ant.tags.And; And;
+ import org.apache.flex.ant.tags.AntTask; AntTask;
+ import org.apache.flex.ant.tags.AntCall; AntCall;
import org.apache.flex.ant.tags.Available; Available;
import org.apache.flex.ant.tags.Checksum; Checksum;
import org.apache.flex.ant.tags.Condition; Condition;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/Ant.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/Ant.as b/ant_on_air/src/org/apache/flex/ant/Ant.as
index 1dc97c6..e3727f2 100644
--- a/ant_on_air/src/org/apache/flex/ant/Ant.as
+++ b/ant_on_air/src/org/apache/flex/ant/Ant.as
@@ -57,6 +57,7 @@ package org.apache.flex.ant
*/
public function processXMLFile(file:File, context:Object = null, callbackMode:Boolean = true):Boolean
{
+ Ant.ants.push(this);
this.file = file;
var fs:FileStream = new FileStream();
fs.open(file, FileMode.READ);
@@ -68,13 +69,14 @@ package org.apache.flex.ant
if (!context)
context = {};
this.context = context;
- var project:Project = processXMLTag(xml, context) as Project;
- Ant.project = project;
- if (!project.execute(callbackMode))
+ var project:Project = processXMLTag(xml) as Project;
+ this.project = project;
+ if (!project.execute(callbackMode, context))
{
project.addEventListener(Event.COMPLETE, completeHandler);
return false;
}
+ Ant.ants.pop();
return true;
}
@@ -103,13 +105,19 @@ package org.apache.flex.ant
public var progressClass:Object;
private var context:Object;
- public static var ant:Ant;
- public static var project:Project;
- public static function log(msg:String, level:int):void
- {
- ant.output(msg);
- }
-
+ public var ant:Ant;
+ public var project:Project;
+
+ // the stack of ant instances (ant can call <ant/>)
+ public static var ants:Array = [];
+
+ public static function get currentAnt():Ant
+ {
+ if (ants.length == 0)
+ return null;
+ return ants[ants.length - 1] as Ant;
+ }
+
private function completeHandler(event:Event):void
{
dispatchEvent(event);
@@ -149,19 +157,19 @@ package org.apache.flex.ant
if (c != -1)
{
var token:String = input.substring(i + 2, c);
- if (context.hasOwnProperty(token))
+ if (token == "basedir")
+ {
+ var basedir:String = context.basedir;
+ rep = file.parent.resolvePath(basedir).nativePath;
+ input = input.replace("${" + token + "}", rep);
+ i += rep.length - token.length - 3;
+ }
+ else if (context.hasOwnProperty(token))
{
var rep:String = context[token];
input = input.replace("${" + token + "}", rep);
i += rep.length - token.length - 3;
}
- else if (token == "basedir")
- {
- var basedir:String = context.project.basedir;
- rep = file.parent.resolvePath(basedir).nativePath;
- input = input.replace("${" + token + "}", rep);
- i += rep.length - token.length - 3;
- }
}
}
i++;
@@ -170,6 +178,11 @@ package org.apache.flex.ant
return input;
}
+ public static function log(s:String, level:int):void
+ {
+ currentAnt.output(s);
+ }
+
/**
* Output for Echo. Defaults to trace().
*/
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Available.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Available.as b/ant_on_air/src/org/apache/flex/ant/tags/Available.as
index 9942359..219aa64 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Available.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Available.as
@@ -44,8 +44,10 @@ package org.apache.flex.ant.tags
private var _property:String;
private var _value:String;
- public function get value():Object
+ public function getValue(context:Object):Object
{
+ processAttributes(xml.attributes(), context);
+
if (_file == null) return false;
var file:File = new File(_file);
@@ -58,12 +60,12 @@ package org.apache.flex.ant.tags
return true;
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
- if (value)
+ super.execute(callbackMode, context);
+ var value:Object = getValue(context);
if (!context.hasOwnProperty(_property))
- context[_property] = _value;
+ context[_property] = _value != null ? _value : true;
return true;
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Checksum.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Checksum.as b/ant_on_air/src/org/apache/flex/ant/tags/Checksum.as
index 8881eaa..5e19157 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Checksum.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Checksum.as
@@ -70,9 +70,9 @@ package org.apache.flex.ant.tags
private var md5:MD5Stream;
private var fs:FileStream;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
var f:File = File.applicationDirectory.resolvePath(file);
fs = new FileStream();
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Condition.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Condition.as b/ant_on_air/src/org/apache/flex/ant/tags/Condition.as
index dd5238f..ce565d1 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Condition.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Condition.as
@@ -39,9 +39,9 @@ package org.apache.flex.ant.tags
super();
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
// if the property is not already set
if (_property && _value != null && !context.hasOwnProperty(_property))
@@ -61,7 +61,7 @@ package org.apache.flex.ant.tags
public function get computedValue():Object
{
// get the value from the children
- var val:Object = IValueTagHandler(getChildAt(0)).value;
+ var val:Object = IValueTagHandler(getChildAt(0)).getValue(context);
return val;
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Copy.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Copy.as b/ant_on_air/src/org/apache/flex/ant/tags/Copy.as
index b1c0c46..8742bd3 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Copy.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Copy.as
@@ -76,9 +76,9 @@ package org.apache.flex.ant.tags
srcFile.copyTo(destFile, overwrite);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- var retVal:Boolean = super.execute(callbackMode);
+ var retVal:Boolean = super.execute(callbackMode, context);
if (numChildren > 0)
return retVal;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Delete.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Delete.as b/ant_on_air/src/org/apache/flex/ant/tags/Delete.as
index 0d5b010..77aba9d 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Delete.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Delete.as
@@ -65,9 +65,9 @@ package org.apache.flex.ant.tags
delFile.deleteFile();
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- var retVal:Boolean = super.execute(callbackMode);
+ var retVal:Boolean = super.execute(callbackMode, context);
if (numChildren > 0)
return retVal;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Echo.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Echo.as b/ant_on_air/src/org/apache/flex/ant/tags/Echo.as
index 2e92f18..fbcfa7f 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Echo.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Echo.as
@@ -52,9 +52,9 @@ package org.apache.flex.ant.tags
super.processAttribute(name, value);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
ant.output(ant.getValue(text, context));
return true;
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Equals.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Equals.as b/ant_on_air/src/org/apache/flex/ant/tags/Equals.as
index 66af57b..6c4923c 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Equals.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Equals.as
@@ -43,9 +43,11 @@ package org.apache.flex.ant.tags
private var casesensitive:Boolean;
private var trim:Boolean;
- public function get value():Object
+ public function getValue(context:Object):Object
{
- var val1:String = arg1;
+ processAttributes(xml.attributes(), context);
+
+ var val1:String = arg1;
var val2:String = arg2;
if (casesensitive)
{
@@ -69,7 +71,7 @@ package org.apache.flex.ant.tags
else if (name == "casesensitive")
casesensitive = value == "true";
else if (name == "trim")
- casesensitive = value == "true";
+ trim = value == "true";
}
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Fail.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Fail.as b/ant_on_air/src/org/apache/flex/ant/tags/Fail.as
index e08619c..7f6cab4 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Fail.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Fail.as
@@ -51,15 +51,15 @@ package org.apache.flex.ant.tags
super.processAttribute(name, value);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
if (numChildren == 1)
{
var child:Condition = getChildAt(0) as Condition;
if (child)
{
- child.execute(false);
+ child.execute(false, context);
var val:Object = child.computedValue;
if (!(val == "true" || val == true))
{
@@ -69,7 +69,7 @@ package org.apache.flex.ant.tags
}
if (text)
ant.output(ant.getValue(text, context));
- Ant.project.status = false;
+ ant.project.status = false;
return true;
}
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/FileSet.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/FileSet.as b/ant_on_air/src/org/apache/flex/ant/tags/FileSet.as
index c6fb109..4b3d597 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/FileSet.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/FileSet.as
@@ -49,11 +49,12 @@ package org.apache.flex.ant.tags
private var _value:Vector.<String>;
- public function get value():Object
+ public function getValue(context:Object):Object
{
if (_value) return _value;
- ant.processChildren(xml, context, this);
+ processAttributes(xml.attributes(), context);
+ ant.processChildren(xml, this);
var ds:DirectoryScanner = new DirectoryScanner();
var n:int = numChildren;
var includes:Vector.<String> = new Vector.<String>();
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Get.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Get.as b/ant_on_air/src/org/apache/flex/ant/tags/Get.as
index d11c194..6512071 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Get.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Get.as
@@ -67,9 +67,9 @@ package org.apache.flex.ant.tags
private var urlLoader:URLLoader;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
if (skipexisting)
{
@@ -90,14 +90,14 @@ package org.apache.flex.ant.tags
private function ioErrorEventHandler(event:IOErrorEvent):void
{
- Ant.project.status = false;
+ ant.project.status = false;
dispatchEvent(new Event(Event.COMPLETE));
event.preventDefault();
}
private function securityErrorHandler(event:SecurityErrorEvent):void
{
- Ant.project.status = false;
+ ant.project.status = false;
dispatchEvent(new Event(Event.COMPLETE));
event.preventDefault();
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Input.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Input.as b/ant_on_air/src/org/apache/flex/ant/tags/Input.as
index 52210f2..2567e43 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Input.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Input.as
@@ -59,9 +59,9 @@ package org.apache.flex.ant.tags
super.processAttribute(name, value);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
if (text)
ant.output(ant.getValue(text, context));
if (validArgs)
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/IsSet.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/IsSet.as b/ant_on_air/src/org/apache/flex/ant/tags/IsSet.as
index 3ea565d..8b88e97 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/IsSet.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/IsSet.as
@@ -39,9 +39,11 @@ package org.apache.flex.ant.tags
private var _property:String;
- public function get value():Object
+ public function getValue(context:Object):Object
{
- if (_property == null) return false;
+ processAttributes(xml.attributes(), context);
+
+ if (_property == null) return false;
return context.hasOwnProperty(_property);
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/LoadProperties.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/LoadProperties.as b/ant_on_air/src/org/apache/flex/ant/tags/LoadProperties.as
index 54ffb5f..ef68bd0 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/LoadProperties.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/LoadProperties.as
@@ -48,13 +48,10 @@ package org.apache.flex.ant.tags
{
}
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
- {
- super.init(xml, context, xmlProcessor);
- }
-
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
+ super.execute(callbackMode, context);
+
var f:File = new File(fileName);
var fs:FileStream = new FileStream();
fs.open(f, FileMode.READ);
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Mkdir.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Mkdir.as b/ant_on_air/src/org/apache/flex/ant/tags/Mkdir.as
index 3c41623..c1c92d8 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Mkdir.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Mkdir.as
@@ -40,9 +40,9 @@ package org.apache.flex.ant.tags
private var _dir:String;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
var dir:File = new File(_dir);
dir.createDirectory();
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Not.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Not.as b/ant_on_air/src/org/apache/flex/ant/tags/Not.as
index 3ea0b7e..0aa38b0 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Not.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Not.as
@@ -37,14 +37,15 @@ package org.apache.flex.ant.tags
super();
}
- public function get value():Object
+ public function getValue(context:Object):Object
{
- ant.processChildren(xml, context, this);
+ processAttributes(xml.attributes(), context);
+ ant.processChildren(xml, this);
if (numChildren == 1)
{
var value:IValueTagHandler = getChildAt(0) as IValueTagHandler;
// get the value from the children
- var val:Object = IValueTagHandler(value).value;
+ var val:Object = IValueTagHandler(value).getValue(context);
if (!(val == "true" || val == true))
{
return true;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/OS.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/OS.as b/ant_on_air/src/org/apache/flex/ant/tags/OS.as
index cc81459..a4e8ba2 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/OS.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/OS.as
@@ -41,8 +41,10 @@ package org.apache.flex.ant.tags
private var _family:String;
- public function get value():Object
+ public function getValue(context:Object):Object
{
+ processAttributes(xml.attributes(), context);
+
if (_family == null) return false;
return Capabilities.os.toLowerCase().indexOf(_family.toLowerCase()) != -1;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Project.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Project.as b/ant_on_air/src/org/apache/flex/ant/tags/Project.as
index 91f8f98..29e0392 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Project.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Project.as
@@ -52,20 +52,26 @@ package org.apache.flex.ant.tags
{
}
+ private var _status:Boolean;
/**
* true if tasks completed successfully.
* Do not monitor this property to determine if the project is done executing.
* This property is set to true and a failing task sets it to false.
*/
- public var status:Boolean;
-
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
- {
- context.project = this;
- super.init(xml, context, xmlProcessor);
- ant.processChildren(xml, context, this);
- }
-
+ public function get status():Boolean
+ {
+ return _status;
+ }
+
+ public function set status(value:Boolean):void
+ {
+ if (_status != value)
+ {
+ _status = value;
+ ant.dispatchEvent(new Event("statusChanged"));
+ }
+ }
+
private var _basedir:String;
public function get basedir():String
@@ -92,10 +98,14 @@ package org.apache.flex.ant.tags
super.processAttribute(name, value);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
+ super.execute(callbackMode, context);
+
this.callbackMode = callbackMode;
-
+
+ context.basedir = basedir;
+
status = true;
if (context.targets == null)
@@ -128,7 +138,7 @@ package org.apache.flex.ant.tags
if (child is TaskHandler)
{
var task:TaskHandler = TaskHandler(child);
- if (!task.execute(callbackMode))
+ if (!task.execute(callbackMode, context))
{
task.addEventListener(Event.COMPLETE, childCompleteHandler);
return false;
@@ -187,7 +197,7 @@ package org.apache.flex.ant.tags
public function executeTarget(targetName:String):Boolean
{
var t:Target = getTarget(targetName);
- if (!t.execute(callbackMode))
+ if (!t.execute(callbackMode, context))
{
t.addEventListener(Event.COMPLETE, completeHandler);
return false;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Property.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Property.as b/ant_on_air/src/org/apache/flex/ant/tags/Property.as
index 0d7619c..adfa9c4 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Property.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Property.as
@@ -34,7 +34,6 @@ package org.apache.flex.ant.tags
import org.apache.flex.ant.Ant;
import org.apache.flex.ant.tags.supportClasses.TaskHandler;
- import org.apache.flex.xml.XMLTagProcessor;
[Mixin]
public class Property extends TaskHandler
@@ -48,13 +47,10 @@ package org.apache.flex.ant.tags
{
}
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
- {
- super.init(xml, context, xmlProcessor);
- }
-
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
+ super.execute(callbackMode, context);
+
if (name && value && !context.hasOwnProperty(name))
context[name] = value;
else if (fileName != null)
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as b/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as
index 25c1627..9d5e8a0 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as
@@ -48,14 +48,10 @@ package org.apache.flex.ant.tags
{
}
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.init(xml, context, xmlProcessor);
- }
-
- override public function execute(callbackMode:Boolean):Boolean
- {
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
+
var f:File = new File(fileName);
var fs:FileStream = new FileStream();
fs.open(f, FileMode.WRITE);
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Replace.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Replace.as b/ant_on_air/src/org/apache/flex/ant/tags/Replace.as
index 0a1fe04..7eadd2f 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Replace.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Replace.as
@@ -58,9 +58,9 @@ package org.apache.flex.ant.tags
super.processAttribute(name, value);
}
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
var f:File = File.applicationDirectory.resolvePath(file);
var fs:FileStream = new FileStream();
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Target.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Target.as b/ant_on_air/src/org/apache/flex/ant/tags/Target.as
index 92b82da..5f6abbf 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Target.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Target.as
@@ -24,7 +24,6 @@ package org.apache.flex.ant.tags
import org.apache.flex.ant.Ant;
import org.apache.flex.ant.tags.supportClasses.TaskHandler;
- import org.apache.flex.xml.XMLTagProcessor;
[Mixin]
public class Target extends TaskHandler
@@ -37,16 +36,11 @@ package org.apache.flex.ant.tags
public function Target()
{
}
-
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
- {
- this.xml = xml;
- project = context.project as Project;
- super.init(xml, context, xmlProcessor);
- }
-
+
private var project:Project;
-
+ private var ifProperty:String;
+ private var unlessProperty:String;
+
private var _depends:String;
public function get depends():String
@@ -58,16 +52,14 @@ package org.apache.flex.ant.tags
{
if (name == "depends")
_depends = value;
+ else if (name == "if")
+ ifProperty = value;
+ else if (name == "unless")
+ unlessProperty = value;
else
super.processAttribute(name, value);
}
- override protected function processAttributes(xmlList:XMLList, context:Object):void
- {
- super.processAttributes(xmlList, context);
- context.currentTarget = this;
- }
-
private var dependsList:Array;
private function processDepends():Boolean
@@ -82,7 +74,7 @@ package org.apache.flex.ant.tags
{
var depend:String = dependsList.shift();
var t:Target = project.getTarget(depend);
- if (!t.execute(callbackMode))
+ if (!t.execute(callbackMode, context))
{
t.addEventListener(Event.COMPLETE, dependCompleteHandler);
return false;
@@ -99,8 +91,10 @@ package org.apache.flex.ant.tags
private var inExecute:Boolean;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
+ super.execute(callbackMode, context);
+
inExecute = true;
this.callbackMode = callbackMode;
if (_depends)
@@ -120,9 +114,8 @@ package org.apache.flex.ant.tags
private function continueOnToSteps():Boolean
{
- if (!Ant.project.status)
+ if (!ant.project.status)
return true;
- ant.processChildren(xml, context, this);
return processSteps();
}
@@ -130,6 +123,24 @@ package org.apache.flex.ant.tags
private function processSteps():Boolean
{
+ if (ifProperty != null)
+ {
+ if (!context.hasOwnProperty(ifProperty))
+ {
+ dispatchEvent(new Event(Event.COMPLETE));
+ return true;
+ }
+ }
+
+ if (unlessProperty != null)
+ {
+ if (context.hasOwnProperty(unlessProperty))
+ {
+ dispatchEvent(new Event(Event.COMPLETE));
+ return true;
+ }
+ }
+
if (current == numChildren)
{
dispatchEvent(new Event(Event.COMPLETE));
@@ -139,18 +150,12 @@ package org.apache.flex.ant.tags
while (current < numChildren)
{
var step:TaskHandler = getChildAt(current++) as TaskHandler;
- if (step.ifProperty != null)
- if (!context.hasOwnProperty(step.ifProperty))
- continue;
- if (step.unlessProperty != null)
- if (context.hasOwnProperty(step.unlessProperty))
- continue;
- if (!step.execute(callbackMode))
+ if (!step.execute(callbackMode, context))
{
step.addEventListener(Event.COMPLETE, completeHandler);
return false;
}
- if (!Ant.project.status)
+ if (!ant.project.status)
{
if (!inExecute)
dispatchEvent(new Event(Event.COMPLETE));
@@ -168,7 +173,7 @@ package org.apache.flex.ant.tags
private function completeHandler(event:Event):void
{
- if (!Ant.project.status)
+ if (!ant.project.status)
{
dispatchEvent(new Event(Event.COMPLETE));
return;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Untar.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Untar.as b/ant_on_air/src/org/apache/flex/ant/tags/Untar.as
index a7a27f2..ee119f1 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Untar.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Untar.as
@@ -62,9 +62,9 @@ package org.apache.flex.ant.tags
private var destFile:File;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
var srcFile:File = File.applicationDirectory.resolvePath(src);
destFile = File.applicationDirectory.resolvePath(dest);
@@ -105,7 +105,7 @@ package org.apache.flex.ant.tags
var output:String = _process.standardError.readUTFBytes(_process.standardError.bytesAvailable);
ant.output(output);
if (failonerror)
- Ant.project.status = false;
+ ant.project.status = false;
dispatchEvent(new Event(Event.COMPLETE));
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as b/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as
index 3424ea7..6ae9d36 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as
@@ -64,9 +64,9 @@ package org.apache.flex.ant.tags
private var destFile:File;
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
var srcFile:File = File.applicationDirectory.resolvePath(src);
destFile = File.applicationDirectory.resolvePath(dest);
@@ -116,7 +116,7 @@ package org.apache.flex.ant.tags
} catch (error:Error) {
if (failonerror)
- Ant.project.status = false;
+ ant.project.status = false;
}
}
@@ -135,7 +135,7 @@ package org.apache.flex.ant.tags
fzip.removeEventListener(Event.COMPLETE, onUnzipComplete);
fzip.removeEventListener(ErrorEvent.ERROR, onUnzipError);
if (failonerror)
- Ant.project.status = false;
+ ant.project.status = false;
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as b/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as
index f5f126d..9fda9b4 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as
@@ -40,13 +40,10 @@ package org.apache.flex.ant.tags
{
}
- override public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
- {
- super.init(xml, context, xmlProcessor);
- }
-
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
+ super.execute(callbackMode, context);
+
var f:File = new File(fileName);
var fs:FileStream = new FileStream();
fs.open(f, FileMode.READ);
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as
index 1efa665..16acca7 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as
@@ -121,7 +121,7 @@ package org.apache.flex.ant.tags.filesetClasses
protected function dieOnCircularReference(stack:Vector.<String> = null, project:Project = null):void
{
if (!project)
- project = Ant.project;
+ project = Ant.currentAnt.project;
if (!stack)
stack = new Vector.<String>();
@@ -190,7 +190,7 @@ package org.apache.flex.ant.tags.filesetClasses
protected function getCheckedRef(p:Project = null):Object
{
if (!p)
- p = Ant.project;
+ p = Ant.currentAnt.project;
return getCheckedRefActual(Class(ApplicationDomain.currentDomain.getDefinition(getQualifiedClassName(this))),
getDataTypeName(), p);
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DirectoryScanner.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DirectoryScanner.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DirectoryScanner.as
index 379bb6c..3257fc9 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DirectoryScanner.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DirectoryScanner.as
@@ -1135,7 +1135,7 @@ package org.apache.flex.ant.tags.filesetClasses
var msg:String = "IOException caught while checking "
+ "for links, couldn't get canonical path!";
// will be caught and redirected to Ant's logging system
- Ant.ant.output(msg);
+ Ant.currentAnt.output(msg);
noLinks.push(newfiles[i]);
}
}
@@ -1171,7 +1171,7 @@ package org.apache.flex.ant.tags.filesetClasses
&& causesIllegalSymlinkLoop(newfiles[i], dir,
directoryNamesFollowed)) {
// will be caught and redirected to Ant's logging system
- Ant.ant.output("skipping symbolic link "
+ Ant.currentAnt.output("skipping symbolic link "
+ file.nativePath
+ " -- too many levels of symbolic"
+ " links.");
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/FileUtils.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/FileUtils.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/FileUtils.as
index 146b972..0c1d9e2 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/FileUtils.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/FileUtils.as
@@ -473,11 +473,11 @@ package org.apache.flex.ant.tags.filesetClasses
from = normalize(from.nativePath);
to = normalize(to.nativePath);
if (!from.exists) {
- Ant.ant.output("Cannot rename nonexistent file " + from);
+ Ant.currentAnt.output("Cannot rename nonexistent file " + from);
return;
}
if (from.nativePath == to.nativePath) {
- Ant.ant.output("Rename of " + from + " to " + to + " is a no-op.");
+ Ant.currentAnt.output("Rename of " + from + " to " + to + " is a no-op.");
return;
}
if (to.exists)
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/TokenizedPath.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/TokenizedPath.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/TokenizedPath.as
index f9dc3d2..e5f8c3d 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/TokenizedPath.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/TokenizedPath.as
@@ -152,7 +152,7 @@ package org.apache.flex.ant.tags.filesetClasses
var msg:String = "IOException caught while checking "
+ "for links, couldn't get canonical path!";
// will be caught and redirected to Ant's logging system
- Ant.ant.output(msg);
+ Ant.currentAnt.output(msg);
}
}
return false;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/FileSetTaskHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/FileSetTaskHandler.as b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/FileSetTaskHandler.as
index d35c8a2..9c3015b 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/FileSetTaskHandler.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/FileSetTaskHandler.as
@@ -43,13 +43,14 @@ package org.apache.flex.ant.tags.supportClasses
/**
* Do the work.
- * TaskHandlers lazily create their children so
+ * TaskHandlers lazily create their children
+ * and attributes so
* super.execute() should be called before
* doing any real work.
*/
- override public function execute(callbackMode:Boolean):Boolean
+ override public function execute(callbackMode:Boolean, context:Object):Boolean
{
- super.execute(callbackMode);
+ super.execute(callbackMode, context);
totalFiles = 0;
thisFile = 0;
for (var i:int = 0; i < numChildren; i++)
@@ -59,7 +60,7 @@ package org.apache.flex.ant.tags.supportClasses
{
try
{
- var list:Vector.<String> = fs.value as Vector.<String>;
+ var list:Vector.<String> = fs.getValue(context) as Vector.<String>;
if (list)
{
totalFiles += list.length;
@@ -69,7 +70,7 @@ package org.apache.flex.ant.tags.supportClasses
{
if (failonerror)
{
- Ant.project.status = false;
+ ant.project.status = false;
return true;
}
}
@@ -92,7 +93,7 @@ package org.apache.flex.ant.tags.supportClasses
var fs:FileSet = getChildAt(current++) as FileSet;
if (fs)
{
- var list:Vector.<String> = fs.value as Vector.<String>;
+ var list:Vector.<String> = fs.getValue(context) as Vector.<String>;
if (list)
{
currentDir = new File(fs.dir);
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/IValueTagHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/IValueTagHandler.as b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/IValueTagHandler.as
index cc202b5..49b0fec 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/IValueTagHandler.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/IValueTagHandler.as
@@ -25,6 +25,12 @@ package org.apache.flex.ant.tags.supportClasses
*/
public interface IValueTagHandler extends ITagHandler
{
- function get value():Object;
+ /**
+ * Return a value based on the attributes and children.
+ * @param context Object A object of properties and values
+ * @return Object The computed value. Often a Boolean but
+ * always.
+ */
+ function getValue(context:Object):Object;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/NamedTagHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/NamedTagHandler.as b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/NamedTagHandler.as
index bfe3f6e..a264bc7 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/NamedTagHandler.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/NamedTagHandler.as
@@ -34,6 +34,9 @@ package org.apache.flex.ant.tags.supportClasses
*/
public function get name():String
{
+ if (_name == null && xml != null)
+ _name = xml.@name.toString();
+
return _name;
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TagHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TagHandler.as b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TagHandler.as
index 3b3b1d2..7834fe0 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TagHandler.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TagHandler.as
@@ -42,7 +42,7 @@ package org.apache.flex.ant.tags.supportClasses
protected var ant:Ant;
/**
- * The context object. Contains a project property referencing the project.
+ * The context object. Contains the properties that currently apply.
*/
protected var context:Object;
@@ -54,12 +54,10 @@ package org.apache.flex.ant.tags.supportClasses
/**
* @see org.apache.flex.xml.ITagHandler
*/
- public function init(xml:XML, context:Object, xmlProcessor:XMLTagProcessor):void
+ public function init(xml:XML, xmlProcessor:XMLTagProcessor):void
{
ant = xmlProcessor as Ant;
- this.context = context;
this.xml = xml;
- processAttributes(xml.attributes(), context);
}
/**
@@ -80,7 +78,8 @@ package org.apache.flex.ant.tags.supportClasses
* @param value String The attribute value.
*/
protected function processAttribute(name:String, value:String):void
- {
+ {
+ trace("unknown attribute:", name);
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TaskHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TaskHandler.as b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TaskHandler.as
index 6ee826b..38e3550 100644
--- a/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TaskHandler.as
+++ b/ant_on_air/src/org/apache/flex/ant/tags/supportClasses/TaskHandler.as
@@ -30,9 +30,6 @@ package org.apache.flex.ant.tags.supportClasses
public var failonerror:Boolean = true;
- public var ifProperty:String;
- public var unlessProperty:String;
-
protected var callbackMode:Boolean;
/**
@@ -41,10 +38,12 @@ package org.apache.flex.ant.tags.supportClasses
* super.execute() should be called before
* doing any real work.
*/
- public function execute(callbackMode:Boolean):Boolean
+ public function execute(callbackMode:Boolean, context:Object):Boolean
{
this.callbackMode = callbackMode;
- ant.processChildren(this.xml, context, this);
+ this.context = context;
+ processAttributes(xml.attributes(), context);
+ ant.processChildren(xml, this);
return true;
}
@@ -52,10 +51,6 @@ package org.apache.flex.ant.tags.supportClasses
{
if (name == "failonerror")
failonerror = value == "true";
- else if (name == "if")
- ifProperty = value;
- else if (name == "unless")
- unlessProperty = value;
else
super.processAttribute(name, value);
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/xml/ITagHandler.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/xml/ITagHandler.as b/ant_on_air/src/org/apache/flex/xml/ITagHandler.as
index 36fde54..385d9db 100644
--- a/ant_on_air/src/org/apache/flex/xml/ITagHandler.as
+++ b/ant_on_air/src/org/apache/flex/xml/ITagHandler.as
@@ -26,9 +26,8 @@ package org.apache.flex.xml
/**
* This method is called after the instance is created
* @param xml XML The XML node.
- * @param context Object An object containing useful information.
* @param tagProcessor The XMLTagProcessor that generated this instance.
*/
- function init(xml:XML, context:Object, tagProcessor:XMLTagProcessor):void;
+ function init(xml:XML, tagProcessor:XMLTagProcessor):void;
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/src/org/apache/flex/xml/XMLTagProcessor.as
----------------------------------------------------------------------
diff --git a/ant_on_air/src/org/apache/flex/xml/XMLTagProcessor.as b/ant_on_air/src/org/apache/flex/xml/XMLTagProcessor.as
index a666f7c..99f19c0 100644
--- a/ant_on_air/src/org/apache/flex/xml/XMLTagProcessor.as
+++ b/ant_on_air/src/org/apache/flex/xml/XMLTagProcessor.as
@@ -40,7 +40,7 @@ package org.apache.flex.xml
* @param context Object An object containing useful information.
* @return ITagHandler An instance representing this XML node
*/
- public function processXMLTag(xml:XML, context:Object):ITagHandler
+ public function processXMLTag(xml:XML):ITagHandler
{
var tag:String = xml.name().toString();
var c:Class = tagMap[tag];
@@ -50,7 +50,7 @@ package org.apache.flex.xml
throw new Error("no processor for " + tag);
}
var o:ITagHandler = new c() as ITagHandler;
- o.init(xml, context, this);
+ o.init(xml, this);
return o;
}
@@ -61,7 +61,7 @@ package org.apache.flex.xml
* @param context Object An object containing useful information.
* @param parentTag IParentTagHandler The parent for the instances that are created.
*/
- public function processChildren(xml:XML, context:Object, parentTag:IParentTagHandler):void
+ public function processChildren(xml:XML, parentTag:IParentTagHandler):void
{
var xmlList:XMLList = xml.children();
var n:int = xmlList.length();
@@ -72,7 +72,7 @@ package org.apache.flex.xml
ITextTagHandler(parentTag).setText(xmlList[i].toString());
else
{
- var tagHandler:ITagHandler = processXMLTag(xmlList[i], context);
+ var tagHandler:ITagHandler = processXMLTag(xmlList[i]);
parentTag.addChild(tagHandler);
}
}
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/tests/AntTest.mxml
----------------------------------------------------------------------
diff --git a/ant_on_air/tests/AntTest.mxml b/ant_on_air/tests/AntTest.mxml
index 670ccf4..6e60e05 100644
--- a/ant_on_air/tests/AntTest.mxml
+++ b/ant_on_air/tests/AntTest.mxml
@@ -85,13 +85,13 @@ limitations under the License.
private function completeHandler(event:Event):void
{
- if (Ant.project.status)
+ if (Ant.currentAnt.project.status)
output("SUCCESS!");
else
output("FAILURE!");
if (exitwhendone)
- NativeApplication.nativeApplication.exit(Ant.project.status ? 0 : 255);
+ NativeApplication.nativeApplication.exit(Ant.currentAnt.project.status ? 0 : 255);
}
private var ant:Ant;
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/4b53170a/ant_on_air/tests/test.xml
----------------------------------------------------------------------
diff --git a/ant_on_air/tests/test.xml b/ant_on_air/tests/test.xml
index edab88c..46e2d74 100644
--- a/ant_on_air/tests/test.xml
+++ b/ant_on_air/tests/test.xml
@@ -134,7 +134,7 @@
</condition>
</fail>
<mkdir dir="${basedir}/temp/untar" />
- <untar src="${basedir}/temp/apache-rat-0.10-src.tar.gz" dest="${basedir}/temp/untar" if="isMac" />
+ <untar src="${basedir}/temp/apache-rat-0.10-src.tar.gz" dest="${basedir}/temp/untar" />
<fail message="untar did not result in expected files">
<condition>
<not>
@@ -170,7 +170,7 @@
<equals arg1="${replacedkey1}" arg2="somevalue1" />
</condition>
</fail>
- <input message="Ok to delete temp directory?" unless="exitwhendone"
+ <input message="Ok to delete temp directory?"
validargs="yn"
addproperty="oktodelete" />
<fail message="you were supposed to hit 'y'" >