http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index f7628e7..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Project.as +++ /dev/null @@ -1,241 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.events.Event; - - import mx.core.IFlexModuleFactory; - import mx.utils.StringUtil; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.filesetClasses.Reference; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - import org.apache.flex.xml.ITagHandler; - - [Mixin] - public class Project extends TaskHandler - { - /** Message priority of "error". */ - public static const MSG_ERR:int = 0; - /** Message priority of "warning". */ - public static const MSG_WARN:int = 1; - /** Message priority of "information". */ - public static const MSG_INFO:int = 2; - /** Message priority of "verbose". */ - public static const MSG_VERBOSE:int = 3; - /** Message priority of "debug". */ - public static const MSG_DEBUG:int = 4; - - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["project"] = Project; - } - - public function Project() - { - } - - 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 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 _failureMessage:String; - /** - * null if tasks completed successfully. - * if status == false, then this will be - * set if a <fail> message set status to false - * or some other condition set status to false. - * - */ - public function get failureMessage():String - { - return _failureMessage; - } - - public function set failureMessage(value:String):void - { - if (_failureMessage != value) - { - _failureMessage = value; - ant.dispatchEvent(new Event("failureMessageChanged")); - } - } - - public function get basedir():String - { - return getAttributeValue("@basedir"); - } - - public function get defaultTarget():String - { - return getAttributeValue("@default"); - } - - public var refids:Object = {}; - - private var targets:Array; - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - this.callbackMode = callbackMode; - - status = true; - - if (context.targets == null) - context.targets = defaultTarget; - - targets = context.targets.split(","); - - // execute all children in order except for targets - return executeChildren(); - } - - private var current:int = 0; - - private function executeChildren():Boolean - { - if (!status) - { - dispatchEvent(new Event(Event.COMPLETE)); - return true; - } - - if (current == numChildren) - return executeTargets(); - - while (current < numChildren) - { - var child:ITagHandler = getChildAt(current++); - if (child is Target) - continue; - if (child is TaskHandler) - { - var task:TaskHandler = TaskHandler(child); - if (!task.execute(callbackMode, context)) - { - task.addEventListener(Event.COMPLETE, childCompleteHandler); - return false; - } - if (!status) - { - dispatchEvent(new Event(Event.COMPLETE)); - return true; - } - } - } - return executeTargets(); - } - - private function executeTargets():Boolean - { - while (targets.length > 0) - { - var targetName:String = targets.shift(); - if (!executeTarget(targetName)) - return false; - if (!status) - { - dispatchEvent(new Event(Event.COMPLETE)); - return true; - } - - } - if (targets.length == 0) - dispatchEvent(new Event(Event.COMPLETE)); - - return true; - } - - public function getTarget(targetName:String):Target - { - targetName = StringUtil.trim(targetName); - var n:int = numChildren; - for (var i:int = 0; i < n; i++) - { - var child:ITagHandler = getChildAt(i); - if (child is Target) - { - var t:Target = child as Target; - if (t.name == targetName) - { - return t; - } - } - } - trace("missing target: ", targetName); - throw new Error("missing target: " + targetName); - return null; - } - - public function executeTarget(targetName:String):Boolean - { - var t:Target = getTarget(targetName); - if (!t.execute(callbackMode, context)) - { - t.addEventListener(Event.COMPLETE, completeHandler); - return false; - } - return true; - } - - private function completeHandler(event:Event):void - { - event.target.removeEventListener(Event.COMPLETE, completeHandler); - executeTargets(); - } - - private function childCompleteHandler(event:Event):void - { - event.target.removeEventListener(Event.COMPLETE, childCompleteHandler); - executeChildren(); - } - - private var references:Object = {}; - - public function addReference(referenceName:String, value:Object):void - { - references[referenceName] = value; - } - public function getReference(referenceName:String):Reference - { - if (references.hasOwnProperty(referenceName)) - return references[referenceName]; - - return null; - } - } -} \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 3acf3a3..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Property.as +++ /dev/null @@ -1,234 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.desktop.NativeProcess; - import flash.desktop.NativeProcessStartupInfo; - import flash.events.Event; - import flash.events.NativeProcessExitEvent; - import flash.events.ProgressEvent; - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - import flash.system.Capabilities; - import flash.utils.IDataInput; - - import mx.core.IFlexModuleFactory; - import mx.utils.StringUtil; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [Mixin] - public class Property extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["property"] = Property; - } - - public function Property() - { - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - if (name && (value || location || refid) && !context.hasOwnProperty(name)) - { - if (value) - context[name] = value; - else if (refid) - context[name] = context[ant.project.refids[refid]]; - else - context[name] = location; - } - else if (fileName != null) - { - try { - var f:File = new File(fileName); - } - catch (e:Error) - { - ant.output(fileName); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - if (f.exists) - { - var fs:FileStream = new FileStream(); - fs.open(f, FileMode.READ); - var data:String = fs.readUTFBytes(fs.bytesAvailable); - var propLines:Array = data.split("\n"); - var collectingParts:Boolean; - var val:String; - var key:String; - for each (var line:String in propLines) - { - if (line.charAt(line.length - 1) == "\r") - line = line.substr(0, line.length - 1); - if (collectingParts) - { - if (line.charAt(line.length - 1) == "\\") - val += line.substr(0, line.length - 1); - else - { - collectingParts = false; - val += line; - val = StringUtil.trim(val); - val = val.replace(/\\n/g, "\n"); - if (!context.hasOwnProperty(key)) - context[key] = ant.getValue(val, context); - } - continue; - } - var parts:Array = line.split("="); - if (parts.length >= 2) - { - key = StringUtil.trim(parts[0]); - if (parts.length == 2) - val = parts[1]; - else - { - parts.shift(); - val = parts.join("="); - } - if (val.charAt(val.length - 1) == "\\") - { - collectingParts = true; - val = val.substr(0, val.length - 1); - } - else if (!context.hasOwnProperty(key)) - context[key] = ant.getValue(StringUtil.trim(val), context); - } - - } - fs.close(); - } - } - else if (envPrefix != null) - { - requestEnvironmentVariables(); - return false; - } - return true; - } - - private function get fileName():String - { - return getNullOrAttributeValue("@file"); - } - - private function get refid():String - { - return getNullOrAttributeValue("@refid"); - } - - private function get value():String - { - return getNullOrAttributeValue("@value"); - } - - private function get location():String - { - return getNullOrAttributeValue("@location"); - } - - private function get envPrefix():String - { - return getNullOrAttributeValue("@environment"); - } - - private var process:NativeProcess; - - public function requestEnvironmentVariables():void - { - var file:File = File.applicationDirectory; - if (Capabilities.os.toLowerCase().indexOf('win') == -1) - file = new File("/bin/bash"); - else - file = file.resolvePath("C:\\Windows\\System32\\cmd.exe"); - var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); - nativeProcessStartupInfo.executable = file; - var args:Vector.<String> = new Vector.<String>(); - if (Capabilities.os.toLowerCase().indexOf('win') == -1) - args.push("-c"); - else - args.push("/c"); - args.push("set"); - nativeProcessStartupInfo.arguments = args; - process = new NativeProcess(); - process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData); - process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onOutputErrorData); - process.start(nativeProcessStartupInfo); - process.addEventListener(NativeProcessExitEvent.EXIT, exitHandler); - } - - private function exitHandler(event:NativeProcessExitEvent):void - { - dispatchEvent(new Event(Event.COMPLETE)); - } - - private function onOutputErrorData(event:ProgressEvent):void - { - var stdError:IDataInput = process.standardError; - var data:String = stdError.readUTFBytes(process.standardError.bytesAvailable); - trace("Got Error Output: ", data); - } - - private function onOutputData(event:ProgressEvent):void - { - var stdOut:IDataInput = process.standardOutput; - var data:String = stdOut.readUTFBytes(process.standardOutput.bytesAvailable); - trace("Got: ", data); - var propLines:Array; - if (Capabilities.os.indexOf('Mac OS') > -1) - propLines = data.split("\n"); - else - propLines = data.split("\r\n"); - var prefix:String = envPrefix; - for each (var line:String in propLines) - { - var parts:Array = line.split("="); - if (parts.length >= 2) - { - var key:String = envPrefix + "." + StringUtil.trim(parts[0]); - var val:String; - if (parts.length == 2) - val = parts[1]; - else - { - parts.shift(); - val = parts.join("="); - } - if (!context.hasOwnProperty(key)) - context[key] = val; - } - } - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 1d2c067..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/PropertyFile.as +++ /dev/null @@ -1,84 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [Mixin] - public class PropertyFile extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["propertyfile"] = PropertyFile; - } - - public function PropertyFile() - { - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - try { - var f:File = new File(fileName); - } - catch (e:Error) - { - ant.output(fileName); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - var fs:FileStream = new FileStream(); - fs.open(f, FileMode.WRITE); - var n:int = numChildren; - for (var i:int = 0; i < n; i++) - { - var entry:Entry = getChildAt(i) as Entry; - entry.setContext(context); - if (entry) - { - var s:String = entry.key + "=" + entry.value + "\n"; - fs.writeUTFBytes(s); - } - } - fs.close(); - return true; - } - - private function get fileName():String - { - return getAttributeValue("@file"); - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 2873ee1..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Replace.as +++ /dev/null @@ -1,142 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - import org.apache.flex.xml.ITagHandler; - - [Mixin] - public class Replace extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["replace"] = Replace; - } - - public function Replace() - { - super(); - } - - private function get file():String - { - return getAttributeValue("@file"); - } - - private function get token():String - { - return getNullOrAttributeValue("@token"); - } - - private function get value():String - { - return getAttributeValue("@value"); - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - try { - var f:File = File.applicationDirectory.resolvePath(file); - } - catch (e:Error) - { - ant.output(file); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - var fs:FileStream = new FileStream(); - fs.open(f, FileMode.READ); - var s:String = fs.readUTFBytes(fs.bytesAvailable); - fs.close(); - var tokens:Vector.<String> = new Vector.<String>(); - var reps:Vector.<String> = new Vector.<String>(); - if (token != null) - { - tokens.push(token); - reps.push(value); - } - if (numChildren > 0) - { - for (var i:int = 0; i < numChildren; i++) - { - var child:ITagHandler = getChildAt(i); - if(child is ReplaceFilter) - { - var rf:ReplaceFilter = child as ReplaceFilter; - rf.setContext(context); - tokens.push(rf.token); - reps.push(rf.value); - } - else if(child is ReplaceToken) - { - var rt:ReplaceToken = child as ReplaceToken; - rt.setContext(context); - tokens.push(rt.text); - } - else if(child is ReplaceValue) - { - var rv:ReplaceValue = child as ReplaceValue; - rv.setContext(context); - reps.push(rv.text); - } - } - } - var n:int = tokens.length; - var c:int = 0; - for (i = 0; i < n; i++) - { - var cur:int = 0; - // only look at the portion we haven't looked at yet. - // otherwise certain kinds of replacements can - // cause infinite looping, like replacing - // 'foo' with 'food' - do - { - c = s.indexOf(tokens[i], cur) - if (c != -1) - { - var firstHalf:String = s.substr(0, c); - var secondHalf:String = s.substr(c); - s = firstHalf + secondHalf.replace(tokens[i], reps[i]); - cur = c + reps[i].length; - } - } while (c != -1) - } - fs.open(f, FileMode.WRITE); - fs.writeUTFBytes(s); - fs.close(); - return true; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/ReplaceFilter.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceFilter.as b/ant_on_air/src/org/apache/flex/ant/tags/ReplaceFilter.as deleted file mode 100644 index e4f69d1..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceFilter.as +++ /dev/null @@ -1,50 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TagHandler; - - [Mixin] - public class ReplaceFilter extends TagHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["replacefilter"] = ReplaceFilter; - } - - public function ReplaceFilter() - { - super(); - } - - public function get token():String - { - return getAttributeValue("@token"); - } - - public function get value():String - { - return getAttributeValue("@value"); - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/ReplaceToken.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceToken.as b/ant_on_air/src/org/apache/flex/ant/tags/ReplaceToken.as deleted file mode 100644 index 8bb811d..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceToken.as +++ /dev/null @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TagHandler; - - [Mixin] - public class ReplaceToken extends TagHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["replacetoken"] = ReplaceToken; - } - - public function ReplaceToken() - { - super(); - } - - public function get text():String - { - return ant.getValue(xml.text().toString(), context); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/ReplaceValue.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceValue.as b/ant_on_air/src/org/apache/flex/ant/tags/ReplaceValue.as deleted file mode 100644 index 227d8a9..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/ReplaceValue.as +++ /dev/null @@ -1,44 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TagHandler; - - [Mixin] - public class ReplaceValue extends TagHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["replacevalue"] = ReplaceValue; - } - - public function ReplaceValue() - { - super(); - } - - public function get text():String - { - return ant.getValue(xml.text().toString(), context); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/TStamp.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/TStamp.as b/ant_on_air/src/org/apache/flex/ant/tags/TStamp.as deleted file mode 100644 index 0646a1f..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/TStamp.as +++ /dev/null @@ -1,68 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import mx.core.IFlexModuleFactory; - import mx.resources.ResourceManager; - - import flash.globalization.DateTimeFormatter; - import flash.globalization.LocaleID; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [ResourceBundle("ant")] - [Mixin] - public class TStamp extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["tstamp"] = TStamp; - } - - public function TStamp() - { - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - var d:Date = new Date(); - var df:DateTimeFormatter = new DateTimeFormatter(LocaleID.DEFAULT); - df.setDateTimePattern("yyyyMMdd"); - var dstamp:String = df.format(d); - context["DSTAMP"] = dstamp; - df.setDateTimePattern("hhmm"); - var tstamp:String = df.format(d); - context["TSTAMP"] = tstamp; - df.setDateTimePattern("MMMM dd yyyy"); - var today:String = df.format(d); - context["TODAY"] = today; - - return true; - } - - private function get prefix():String - { - return getAttributeValue("@prefix"); - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 8c3272c..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Target.as +++ /dev/null @@ -1,203 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.events.Event; - import flash.net.LocalConnection; - - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [Mixin] - public class Target extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["target"] = Target; - } - - public function Target() - { - } - - private function get ifProperty():String - { - return getNullOrAttributeValue("@if"); - } - - private function get unlessProperty():String - { - return getNullOrAttributeValue("@unless"); - } - - public function get depends():String - { - return getNullOrAttributeValue("@depends"); - } - - private var dependsList:Array; - - private function processDepends():Boolean - { - if (dependsList.length == 0) - { - continueOnToSteps(); - return true; - } - - while (dependsList.length > 0) - { - var depend:String = dependsList.shift(); - var t:Target = ant.project.getTarget(depend); - if (!t.execute(callbackMode, context)) - { - t.addEventListener(Event.COMPLETE, dependCompleteHandler); - return false; - } - } - - return continueOnToSteps(); - } - - private function dependCompleteHandler(event:Event):void - { - event.target.removeEventListener(Event.COMPLETE, dependCompleteHandler); - if (!ant.project.status) - { - if (!inExecute) - dispatchEvent(new Event(Event.COMPLETE)); - return; - } - processDepends(); - } - - private var inExecute:Boolean; - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - current = 0; - inExecute = true; - this.callbackMode = callbackMode; - if (depends) - { - dependsList = depends.split(","); - if (!processDepends()) - { - inExecute = false; - return false; - } - } - - var ok:Boolean = continueOnToSteps(); - inExecute = false; - return ok; - } - - private function continueOnToSteps():Boolean - { - if (!ant.project.status) - return true; - ant.output("\n" + name + ":"); - return processSteps(); - } - - private var current:int = 0; - - private function processSteps():Boolean - { - // try forcing GC before each step - try { - var lc1:LocalConnection = new LocalConnection(); - var lc2:LocalConnection = new LocalConnection(); - - lc1.connect("name"); - lc2.connect("name"); - } - catch (error:Error) - { - } - - - 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)); - return true; - } - - while (current < numChildren) - { - var step:TaskHandler = getChildAt(current++) as TaskHandler; - if (!step.execute(callbackMode, context)) - { - step.addEventListener(Event.COMPLETE, completeHandler); - return false; - } - if (!ant.project.status) - { - if (!inExecute) - dispatchEvent(new Event(Event.COMPLETE)); - return true; - } - if (callbackMode) - { - ant.functionToCall = processSteps; - return false; - } - } - dispatchEvent(new Event(Event.COMPLETE)); - return true; - } - - private function completeHandler(event:Event):void - { - event.target.removeEventListener(Event.COMPLETE, completeHandler); - if (!ant.project.status) - { - dispatchEvent(new Event(Event.COMPLETE)); - return; - } - if (callbackMode) - ant.functionToCall = processSteps; - else - processSteps(); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/Touch.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/Touch.as b/ant_on_air/src/org/apache/flex/ant/tags/Touch.as deleted file mode 100644 index 6982f43..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Touch.as +++ /dev/null @@ -1,79 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - - import mx.core.IFlexModuleFactory; - import mx.resources.ResourceManager; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [ResourceBundle("ant")] - [Mixin] - public class Touch extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["touch"] = Touch; - } - - public function Touch() - { - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - try { - var f:File = new File(fileName); - } - catch (e:Error) - { - ant.output(fileName); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - var s:String = ResourceManager.getInstance().getString('ant', 'TOUCH'); - s = s.replace("%1", f.nativePath); - ant.output(ant.formatOutput("touch", s)); - - var fs:FileStream = new FileStream(); - fs.open(f, FileMode.APPEND); - fs.close(); - return true; - } - - private function get fileName():String - { - return getAttributeValue("@file"); - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 92b313d..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Untar.as +++ /dev/null @@ -1,194 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import com.probertson.utils.GZIPEncoder; - import de.ketzler.utils.SimpleUntar; - - import flash.desktop.NativeProcess; - import flash.desktop.NativeProcessStartupInfo; - import flash.events.Event; - import flash.events.ProgressEvent; - import flash.events.NativeProcessExitEvent; - import flash.filesystem.File; - import flash.system.Capabilities; - - import mx.core.IFlexModuleFactory; - import mx.resources.ResourceManager; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [ResourceBundle("ant")] - [Mixin] - public class Untar extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["untar"] = Untar; - } - - public function Untar() - { - super(); - } - - private function get src():String - { - return getAttributeValue("@src"); - } - - private function get dest():String - { - return getAttributeValue("@dest"); - } - - private function get overwrite():Boolean - { - return getAttributeValue("@overwrite") == "true"; - } - - private function get compression():String - { - return getNullOrAttributeValue("@compression"); - } - - private var destFile:File; - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - try { - var srcFile:File = File.applicationDirectory.resolvePath(src); - } - catch (e:Error) - { - ant.output(src); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - try { - destFile = File.applicationDirectory.resolvePath(dest); - if (!destFile.exists) - destFile.createDirectory(); - } - catch (e:Error) - { - ant.output(dest); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - return untar(srcFile); - } - - private var _process:NativeProcess; - - private function untar(source:File):Boolean - { - if (Capabilities.os.indexOf("Win") != -1) - { - winUntar(source); - return true; - } - - var tar:File; - var startupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); - var arguments:Vector.<String> = new Vector.<String>(); - - if (Capabilities.os.indexOf("Linux") != -1) - tar = new File("/bin/tar"); - else - tar = new File("/usr/bin/tar"); - - arguments.push("xf"); - arguments.push(source.nativePath); - arguments.push("-C"); - arguments.push(destFile.nativePath); - - startupInfo.executable = tar; - startupInfo.arguments = arguments; - - var s:String = ResourceManager.getInstance().getString('ant', 'UNZIP'); - s = s.replace("%1", source.nativePath); - s = s.replace("%2", destFile.nativePath); - ant.output(ant.formatOutput("untar", s)); - - _process = new NativeProcess(); - _process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, unTarFileProgress); - _process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, unTarError); - _process.addEventListener(NativeProcessExitEvent.EXIT, unTarComplete); - _process.start(startupInfo); - - return false; - - } - - private function unTarError(event:Event):void { - var output:String = _process.standardError.readUTFBytes(_process.standardError.bytesAvailable); - ant.output(output); - if (failonerror) - { - ant.project.failureMessage = output; - ant.project.status = false; - } - dispatchEvent(new Event(Event.COMPLETE)); - } - - private function unTarFileProgress(event:Event):void { - var output:String = _process.standardOutput.readUTFBytes(_process.standardOutput.bytesAvailable); - ant.output(output); - } - - private function unTarComplete(event:NativeProcessExitEvent):void { - _process.closeInput(); - _process.exit(true); - dispatchEvent(new Event(Event.COMPLETE)); - } - - private function winUntar(source:File):void - { - if (compression == "gzip") - { - var tarName:String = source.nativePath + ".tar"; - var tarFile:File = File.applicationDirectory.resolvePath(tarName); - var gz:GZIPEncoder = new GZIPEncoder(); - gz.uncompressToFile(source, tarFile); - source = tarFile; - } - var su:SimpleUntar = new SimpleUntar(); - su.sourcePath = source.nativePath; - su.targetPath = destFile.nativePath; - su.extract(); - dispatchEvent(new Event(Event.COMPLETE)); - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index f4f385d..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/Unzip.as +++ /dev/null @@ -1,214 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.events.ErrorEvent; - import flash.events.Event; - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - import flash.utils.ByteArray; - - import mx.core.IFlexModuleFactory; - import mx.resources.ResourceManager; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - import org.apache.flex.xml.ITagHandler; - import org.as3commons.zip.Zip; - import org.as3commons.zip.ZipEvent; - import org.as3commons.zip.ZipFile; - - [ResourceBundle("ant")] - [Mixin] - public class Unzip extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["unzip"] = Unzip; - } - - public function Unzip() - { - super(); - } - - private function get src():String - { - return getAttributeValue("@src"); - } - - private function get dest():String - { - return getAttributeValue("@dest"); - } - - private function get overwrite():Boolean - { - return getAttributeValue("@overwrite") == "true"; - } - - private var srcFile:File; - private var destFile:File; - private var patternSet:PatternSet; - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - if (numChildren > 0) - { - // look for a patternset - for (var i:int = 0; i < numChildren; i++) - { - var child:ITagHandler = getChildAt(i); - if (child is PatternSet) - { - patternSet = child as PatternSet; - patternSet.setContext(context); - break; - } - } - } - - try { - srcFile = File.applicationDirectory.resolvePath(src); - } - catch (e:Error) - { - ant.output(src); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - try { - destFile = File.applicationDirectory.resolvePath(dest); - if (!destFile.exists) - destFile.createDirectory(); - } - catch (e:Error) - { - ant.output(dest); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - - var s:String = ResourceManager.getInstance().getString('ant', 'UNZIP'); - s = s.replace("%1", srcFile.nativePath); - s = s.replace("%2", destFile.nativePath); - ant.output(ant.formatOutput("unzip", s)); - ant.functionToCall = dounzip; - return false; - } - - private function dounzip():void - { - unzip(srcFile); - dispatchEvent(new Event(Event.COMPLETE)); - } - - private function unzip(fileToUnzip:File):void { - var zipFileBytes:ByteArray = new ByteArray(); - var fs:FileStream = new FileStream(); - var fzip:Zip = new Zip(); - - fs.open(fileToUnzip, FileMode.READ); - fs.readBytes(zipFileBytes); - fs.close(); - - fzip.addEventListener(ZipEvent.FILE_LOADED, onFileLoaded); - fzip.addEventListener(Event.COMPLETE, onUnzipComplete, false, 0, true); - fzip.addEventListener(ErrorEvent.ERROR, onUnzipError, false, 0, true); - - // synchronous, so no progress events - fzip.loadBytes(zipFileBytes); - } - - private function isDirectory(f:ZipFile):Boolean { - if (f.filename.substr(f.filename.length - 1) == "/" || f.filename.substr(f.filename.length - 1) == "\\") { - return true; - } - return false; - } - - private function onFileLoaded(e:ZipEvent):void { - try { - var fzf:ZipFile = e.file; - if (patternSet) - { - if (!(patternSet.matches(fzf.filename))) - return; - } - var f:File = destFile.resolvePath(fzf.filename); - var fs:FileStream = new FileStream(); - - if (isDirectory(fzf)) { - // Is a directory, not a file. Dont try to write anything into it. - return; - } - - fs.open(f, FileMode.WRITE); - fs.writeBytes(fzf.content); - fs.close(); - - // attempt to shrink bytearray so memory doesn't store every uncompressed byte - fzf.setContent(null, false); - - } catch (error:Error) { - ant.output(error.message); - if (failonerror) - { - ant.project.failureMessage = error.message; - ant.project.status = false; - } - } - } - - private function onUnzipComplete(event:Event):void { - var fzip:Zip = event.target as Zip; - fzip.close(); - fzip.removeEventListener(ZipEvent.FILE_LOADED, onFileLoaded); - fzip.removeEventListener(Event.COMPLETE, onUnzipComplete); - fzip.removeEventListener(ErrorEvent.ERROR, onUnzipError); - } - - private function onUnzipError(event:Event):void { - var fzip:Zip = event.target as Zip; - fzip.close(); - fzip.removeEventListener(ZipEvent.FILE_LOADED, onFileLoaded); - fzip.removeEventListener(Event.COMPLETE, onUnzipComplete); - fzip.removeEventListener(ErrorEvent.ERROR, onUnzipError); - if (failonerror) - { - ant.project.failureMessage = event.toString(); - ant.project.status = false; - } - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index c7c5b03..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/XmlProperty.as +++ /dev/null @@ -1,118 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags -{ - import flash.filesystem.File; - import flash.filesystem.FileMode; - import flash.filesystem.FileStream; - - import mx.core.IFlexModuleFactory; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.supportClasses.TaskHandler; - - [Mixin] - public class XmlProperty extends TaskHandler - { - public static function init(mf:IFlexModuleFactory):void - { - Ant.antTagProcessors["xmlproperty"] = XmlProperty; - } - - public function XmlProperty() - { - } - - override public function execute(callbackMode:Boolean, context:Object):Boolean - { - super.execute(callbackMode, context); - - try { - var f:File = new File(fileName); - } - catch (e:Error) - { - ant.output(fileName); - ant.output(e.message); - if (failonerror) - { - ant.project.failureMessage = e.message; - ant.project.status = false; - } - return true; - } - - var fs:FileStream = new FileStream(); - fs.open(f, FileMode.READ); - var data:String = fs.readUTFBytes(fs.bytesAvailable); - var xml:XML = XML(data); - createProperties(xml, xml.name()); - fs.close(); - return true; - } - - private function createProperties(xml:XML, prefix:String):void - { - var children:XMLList = xml.*; - for each (var node:XML in children) - { - var val:String; - var key:String; - if (node.nodeKind() == "text") - { - key = prefix; - val = node.toString(); - if (!context.hasOwnProperty(key)) - context[key] = val; - } - else if (node.nodeKind() == "element") - { - key = prefix + "." + node.name(); - var id:String = [email protected](); - if (id) - ant.project.refids[id] = key; - createProperties(node, key); - } - } - if (collapse) - { - var attrs:XMLList = xml.attributes(); - var n:int = attrs.length(); - for (var i:int = 0; i < n; i++) - { - key = prefix + "." + attrs[i].name(); - val = xml.attribute(attrs[i].name()).toString(); - if (!context.hasOwnProperty(key)) - context[key] = val; - } - } - } - - private function get fileName():String - { - return getAttributeValue("@file"); - } - - private function get collapse():Boolean - { - return getAttributeValue("@collapseAttributes") == "true"; - } - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/Character.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/Character.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/Character.as deleted file mode 100644 index d2b6b87..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/Character.as +++ /dev/null @@ -1,34 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags.filesetClasses -{ - public class Character - { - public function Character() - { - super(); - } - - public static function isLetter(c:String):Boolean - { - return "a" <= c && c <= "z" || - "A" <= c && c <= "Z"; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/CollectionUtils.as ---------------------------------------------------------------------- diff --git a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/CollectionUtils.as b/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/CollectionUtils.as deleted file mode 100644 index 0717a4e..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/CollectionUtils.as +++ /dev/null @@ -1,41 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package org.apache.flex.ant.tags.filesetClasses -{ - public class CollectionUtils - { - public function CollectionUtils() - { - super(); - } - - private static var target:String; - - private static function callback(item:String, index:int, list:Vector.<String>):Boolean - { - return CollectionUtils.target == item; - } - - public static function frequency(list:Vector.<String>, c:String):int - { - target = c; - return list.filter(callback).length; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/f954e6f6/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 deleted file mode 100644 index 16acca7..0000000 --- a/ant_on_air/src/org/apache/flex/ant/tags/filesetClasses/DataType.as +++ /dev/null @@ -1,330 +0,0 @@ -/* -* Licensed to the Apache Software Foundation (ASF) under one or more -* contributor license agreements. See the NOTICE file distributed with -* this work for additional information regarding copyright ownership. -* The ASF licenses this file to You under the Apache License, Version 2.0 -* (the "License"); you may not use this file except in compliance with -* the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -* -*/ - -package org.apache.flex.ant.tags.filesetClasses -{ - import flash.system.ApplicationDomain; - import flash.utils.getQualifiedClassName; - - import org.apache.flex.ant.Ant; - import org.apache.flex.ant.tags.Project; - import org.apache.flex.ant.tags.filesetClasses.exceptions.BuildException; - - /** - * Ported from org.apache.tools.ant.types.DataType.java on 12/3/13 - * Base class for those classes that can appear inside the build file - * as stand alone data types. - * - * <p>This class handles the common description attribute and provides - * a default implementation for reference handling and checking for - * circular references that is appropriate for types that can not be - * nested inside elements of the same type (i.e. <patternset> - * but not <path>).</p> - * - */ - public class DataType - { - // CheckStyle:VisibilityModifier OFF - - /** - * Value to the refid attribute. - * - * @deprecated since 1.7. - * The user should not be directly referencing - * variable. Please use {@link #getRefid} instead. - */ - protected var ref:Reference; - - /** - * Are we sure we don't hold circular references? - * - * <p>Subclasses are responsible for setting this value to false - * if we'd need to investigate this condition (usually because a - * child element has been added that is a subclass of - * DataType).</p> - * - * @deprecated since 1.7. - * The user should not be directly referencing - * variable. Please use {@link #setChecked} or - * {@link #isChecked} instead. - */ - protected var checked:Boolean = true; - // CheckStyle:VisibilityModifier ON - - /** - * Has the refid attribute of this element been set? - * @return true if the refid attribute has been set - */ - public function isReference():Boolean - { - return ref != null; - } - - /** - * Set the value of the refid attribute. - * - * <p>Subclasses may need to check whether any other attributes - * have been set as well or child elements have been created and - * thus override this method. if they do the must call - * <code>super.setRefid</code>.</p> - * @param ref the reference to use - */ - public function setRefid(ref:Reference):void - { - this.ref = ref; - checked = false; - } - - /** - * Gets as descriptive as possible a name used for this datatype instance. - * @return <code>String</code> name. - */ - protected function getDataTypeName():String - { - return "DataType"; - } - - /** - * Check to see whether any DataType we hold references to is - * included in the Stack (which holds all DataType instances that - * directly or indirectly reference this instance, including this - * instance itself). - * - * <p>If one is included, throw a BuildException created by {@link - * #circularReference circularReference}.</p> - * - * <p>This implementation is appropriate only for a DataType that - * cannot hold other DataTypes as children.</p> - * - * <p>The general contract of this method is that it shouldn't do - * anything if {@link #checked <code>checked</code>} is true and - * set it to true on exit.</p> - * @param stack the stack of references to check. - * @param project the project to use to dereference the references. - * @throws BuildException on error. - */ - protected function dieOnCircularReference(stack:Vector.<String> = null, project:Project = null):void - { - if (!project) - project = Ant.currentAnt.project; - - if (!stack) - stack = new Vector.<String>(); - - if (checked || !isReference()) { - return; - } - var o:Object = ref.getReferencedObject(project); - - if (o is DataType) { - if (stack.indexOf(o) != -1) { - throw circularReference(); - } else { - stack.push(o); - DataType(o).dieOnCircularReference(Vector.<String>([id]), project); - stack.pop(); - } - } - checked = true; - } - - /** - * Allow DataTypes outside org.apache.tools.ant.types to indirectly call - * dieOnCircularReference on nested DataTypes. - * @param dt the DataType to check. - * @param stk the stack of references to check. - * @param p the project to use to dereference the references. - * @throws BuildException on error. - * @since Ant 1.7 - */ - public static function invokeCircularReferenceCheck(dt:DataType, stk:Vector.<String>, - p:Project):void - { - dt.dieOnCircularReference(stk, p); - } - - /** - * Allow DataTypes outside org.apache.tools.ant.types to indirectly call - * dieOnCircularReference on nested DataTypes. - * - * <p>Pushes dt on the stack, runs dieOnCircularReference and pops - * it again.</p> - * @param dt the DataType to check. - * @param stk the stack of references to check. - * @param p the project to use to dereference the references. - * @throws BuildException on error. - * @since Ant 1.8.0 - */ - public static function pushAndInvokeCircularReferenceCheck(dt:DataType, - stk:Vector.<String>, - p:Project):void - { - stk.push(dt); - dt.dieOnCircularReference(stk, p); - stk.pop(); - } - - /** - * Performs the check for circular references and returns the - * referenced object. - * @param p the Ant Project instance against which to resolve references. - * @return the dereferenced object. - * @throws BuildException if the reference is invalid (circular ref, wrong class, etc). - * @since Ant 1.7 - */ - protected function getCheckedRef(p:Project = null):Object - { - if (!p) - p = Ant.currentAnt.project; - return getCheckedRefActual(Class(ApplicationDomain.currentDomain.getDefinition(getQualifiedClassName(this))), - getDataTypeName(), p); - } - - /** - * Performs the check for circular references and returns the - * referenced object. This version allows the fallback Project instance to be specified. - * @param requiredClass the class that this reference should be a subclass of. - * @param dataTypeName the name of the datatype that the reference should be - * (error message use only). - * @param project the fallback Project instance for dereferencing. - * @return the dereferenced object. - * @throws BuildException if the reference is invalid (circular ref, wrong class, etc), - * or if <code>project</code> is <code>null</code>. - * @since Ant 1.7 - */ - protected function getCheckedRefActual(requiredClass:Class, - dataTypeName:String, project:Project):Object { - if (project == null) { - throw new BuildException("No Project specified"); - } - dieOnCircularReference(null, project); - var o:Object = ref.getReferencedObject(project); - var oClass:Class = ApplicationDomain.currentDomain.getDefinition(getQualifiedClassName(o)) as Class; - if (!(requiredClass is oClass)) { - Ant.log("Class " + oClass + " is not a subclass of " + requiredClass, - Project.MSG_VERBOSE); - var msg:String = ref.getRefId() + " doesn\'t denote a " + dataTypeName; - throw new BuildException(msg); - } - return o; - } - - /** - * Creates an exception that indicates that refid has to be the - * only attribute if it is set. - * @return the exception to throw - */ - protected function tooManyAttributes():BuildException - { - return new BuildException("You must not specify more than one " - + "attribute when using refid"); - } - - /** - * Creates an exception that indicates that this XML element must - * not have child elements if the refid attribute is set. - * @return the exception to throw - */ - protected function noChildrenAllowed():BuildException - { - return new BuildException("You must not specify nested elements " - + "when using refid"); - } - - /** - * Creates an exception that indicates the user has generated a - * loop of data types referencing each other. - * @return the exception to throw - */ - protected function circularReference():BuildException - { - return new BuildException("This data type contains a circular " - + "reference."); - } - - /** - * The flag that is used to indicate that circular references have been checked. - * @return true if circular references have been checked - */ - protected function isChecked():Boolean - { - return checked; - } - - /** - * Set the flag that is used to indicate that circular references have been checked. - * @param checked if true, if circular references have been checked - */ - protected function setChecked(checked:Boolean):void - { - this.checked = checked; - } - - /** - * get the reference set on this object - * @return the reference or null - */ - public function getRefid():Reference - { - return ref; - } - - /** - * check that it is ok to set attributes, i.e that no reference is defined - * @since Ant 1.6 - * @throws BuildException if not allowed - */ - protected function checkAttributesAllowed():void - { - if (isReference()) { - throw tooManyAttributes(); - } - } - - /** - * check that it is ok to add children, i.e that no reference is defined - * @since Ant 1.6 - * @throws BuildException if not allowed - */ - protected function checkChildrenAllowed():void - { - if (isReference()) { - throw noChildrenAllowed(); - } - } - - /** - * Basic DataType toString(). - * @return this DataType formatted as a String. - */ - public function toString():String { - var d:String = getDescription(); - return d == null ? getDataTypeName() : getDataTypeName() + " " + d; - } - - /** - * Basic description - */ - public function getDescription():String - { - return null; - } - - public var id:String; - } -}
