Removing unwanted event listeners.
Adding a smaller block size for bytearray chunks for MD5 processing


Project: http://git-wip-us.apache.org/repos/asf/flex-utilities/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-utilities/commit/d7697146
Tree: http://git-wip-us.apache.org/repos/asf/flex-utilities/tree/d7697146
Diff: http://git-wip-us.apache.org/repos/asf/flex-utilities/diff/d7697146

Branch: refs/heads/master
Commit: d7697146739e984a73c6fbcb42c63bd1c5243ed9
Parents: fcd3f59
Author: Om <[email protected]>
Authored: Mon Jun 17 10:40:11 2013 -0700
Committer: Om <[email protected]>
Committed: Mon Jun 17 10:47:08 2013 -0700

----------------------------------------------------------------------
 .../apache/flex/utilities/common/Constants.as   |   2 +-
 installer/src/InstallApacheFlex.mxml            | 263 +++++++++++++++++++
 .../src/installer/sdk-installer-config-3.0.xml  | 105 ++++++++
 .../flex/packageflexsdk/util/MD5CompareUtil.as  |  11 +
 installer/src/sdk-installer-config-3.0.xml      | 104 --------
 5 files changed, 380 insertions(+), 105 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d7697146/common/src/org/apache/flex/utilities/common/Constants.as
----------------------------------------------------------------------
diff --git a/common/src/org/apache/flex/utilities/common/Constants.as 
b/common/src/org/apache/flex/utilities/common/Constants.as
index 9dfee85..54c124a 100644
--- a/common/src/org/apache/flex/utilities/common/Constants.as
+++ b/common/src/org/apache/flex/utilities/common/Constants.as
@@ -37,7 +37,7 @@ public class Constants
        public static const APPLICATION_EXTENSION_MAC:String = ".dmg";
        public static const APPLICATION_EXTENSION_WIN:String = ".exe";
        
-       public static const CONFIG_XML_NAME:String = 
"sdk-installer-config-3.0.xml";
+       public static const CONFIG_XML_NAME:String = 
"installer/sdk-installer-config-3.0.xml";
        public static const DISCLAIMER_PATH:String = "about-binaries.html";
        public static const INSTALLER_TRACK_SUCCESS:String = 
"track-installer.html";
        

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d7697146/installer/src/InstallApacheFlex.mxml
----------------------------------------------------------------------
diff --git a/installer/src/InstallApacheFlex.mxml 
b/installer/src/InstallApacheFlex.mxml
index f1370c7..84c9607 100644
--- a/installer/src/InstallApacheFlex.mxml
+++ b/installer/src/InstallApacheFlex.mxml
@@ -161,6 +161,7 @@ variables are not required because the locations of these 
pieces are known.
                private const WINDOWS_OS:String = "windows";
                private const MAC_OS:String = "mac";
                private const LINUX_OS:String = "linux";
+<<<<<<< HEAD
                
                [Bindable]
                private var _flexHome:String;
@@ -422,6 +423,268 @@ variables are not required because the locations of these 
pieces are known.
                        if (APACHE_FLEX_BIN_DISTRO_PATH.indexOf("http") == 0) {
                                _useMirror = false;
                        }
+=======
+
+        [Bindable]
+        private var _flexHome:String;
+        private var _flexTemp:String;
+        private var _flexHomeDir:File;
+        private var _flexTempDir:File;
+        private var _apacheFlexSDKCompressedFile:File;
+        private var _adobeAIRSDKZipFile:File;
+        private var _fbGlobalPlayerDir:File;
+        private var _fbGlobalPlayerFile:File;
+        private var _blazeDSJarFile:File;
+        private var _afeJarFile:File;
+        private var _aglj40JarFile:File;
+        private var _flexFontKitJarFile:File;
+        private var _rideauJarFile:File;
+        private var _osmfFile:File;
+
+        private var _os:String;
+        private var _loader:URLLoader;
+        private var _process:NativeProcess;
+        private var _previousDisplayedPercent:int = 0;
+        private var _fileUnzipErrorFunction:Function;
+        private var _numOptionalComponents:int = 4;
+        private var _numOptionalComponentsPermissions:int = 0;
+
+        private var languageOverride:String;
+        private var configOverride:String = "";
+
+        [Bindable]
+        private var _viewResourceConstants:ViewResourceConstants;
+        [Bindable]
+        private var _installationSteps:ArrayCollection = new ArrayCollection();
+        [Bindable]
+        private var _installerComponentsDataProvider:ArrayCollection = new 
ArrayCollection();
+        [Bindable]
+        private var _currentLicenseURL:String;
+        [Bindable]
+        private var _currentLicenseLabel:String;
+        [Bindable]
+        public var _messages:ArrayCollection = new ArrayCollection();
+
+        private function getInvoke():void {
+            var nativeApplication:NativeApplication = 
NativeApplication.nativeApplication;
+            nativeApplication.addEventListener(InvokeEvent.INVOKE, parseArgs);
+        }
+
+        private var _logButtonWidth:Number = 110;
+
+        [Bindable("logButtonWidthChanged")]
+        public function get logButtonWidth():Number {
+            return _logButtonWidth;
+        }
+
+        private var _folderButtonWidth:Number = 225;
+
+        [Bindable("folderButtonWidthChanged")]
+        public function get folderButtonWidth():Number {
+            return _folderButtonWidth;
+        }
+
+        private var _standardButtonWidth:Number = 88;
+
+        [Bindable("buttonWidthChanged")]
+        public function get standardButtonWidth():Number {
+            return _standardButtonWidth;
+        }
+
+        public function computeStandardButtonWidth():void {
+            // designer set english width at 88 so factor
+            // in the different between english strings and 88
+            var fudgeFactor:Number = 10;
+            var logFudgeFactor:Number = 3;
+            var folderFudgeFactor:Number = 17;
+
+            var w:Number;
+            hiddenButton.label = installLogBtn.label;
+            hiddenButton.validateNow();
+            w = hiddenButton.measuredWidth;
+            w += logFudgeFactor;
+            if (_logButtonWidth != w) {
+                _logButtonWidth = w;
+                dispatchEvent(new Event("logButtonWidthChanged"));
+            }
+
+            hiddenButton.label = openApacheFlexFolderBtn.label;
+            hiddenButton.validateNow();
+            w = hiddenButton.measuredWidth;
+            w += folderFudgeFactor;
+            if (_folderButtonWidth != w) {
+                _folderButtonWidth = w;
+                dispatchEvent(new Event("folderButtonWidthChanged"));
+            }
+
+            w = 0;
+            hiddenButton.label = installBtn.label;
+            hiddenButton.validateNow();
+            w = Math.max(w, hiddenButton.measuredWidth);
+            hiddenButton.label = browseBtn.label;
+            hiddenButton.validateNow();
+            w = Math.max(w, hiddenButton.measuredWidth);
+            hiddenButton.label = closeBtn.label;
+            hiddenButton.validateNow();
+            w = Math.max(w, hiddenButton.measuredWidth);
+            hiddenButton.label = nextBtn.label;
+            hiddenButton.validateNow();
+            w = Math.max(w, hiddenButton.measuredWidth);
+
+            w += fudgeFactor;
+            if (_standardButtonWidth != w) {
+                _standardButtonWidth = w;
+                dispatchEvent(new Event("buttonWidthChanged"));
+            }
+        }
+
+        private function parseArgs(event:InvokeEvent):void {
+            for each (var s:String in event.arguments) {
+                if (s.indexOf("-language=") == 0) {
+                    languageOverride = s.substring(10);
+                }
+                if (s.indexOf("-config=") == 0) {
+                    configOverride = s.substring(8);
+                }
+            }
+        }
+
+        protected function handleApplicationComplete(event:FlexEvent):void {
+            _langSelect.dataProvider = 
ViewResourceConstants.supportedLanguages;
+            _langSelect.selectedIndex = 0;
+            defineResourceManagerDefaultLanguage();
+
+            updateWindow();
+
+            loadXML();
+        }
+
+        /**
+         * Define on ResourceManager all keys for translation.
+         * If some key is not present on any other language selected by user, 
the default value will be displayed
+         * on the screen
+         */
+        private function defineResourceManagerDefaultLanguage():void {
+            resourceManager.localeChain = [ 
ViewResourceConstants.DEFAULT_LANGUAGE ];
+            _viewResourceConstants = ViewResourceConstants.instance;
+            _viewResourceConstants.update();
+            computeStandardButtonWidth();
+            selectDefaultLanguage();
+        }
+
+        private function updateWindowTitle():void {
+            this.nativeWindow.title = 
StringUtil.substitute(_viewResourceConstants.INFO_WINDOW_TITLE, 
[APACHE_FLEX_BIN_DISTRO_VERSION]);
+        }
+
+        protected function selectDefaultLanguage():void {
+            var supportedLanguages:ArrayCollection = 
ViewResourceConstants.supportedLanguages;
+
+            var userLocale:String = new 
StringTools(LocaleID.DEFAULT).actualLocaleIDName.replace("-", "_");
+
+            if (languageOverride) {
+                userLocale = languageOverride;
+            }
+
+            var n:int = supportedLanguages.length;
+            for (var i:int = 0; i < n; i++) {
+                if (supportedLanguages[i].data == userLocale) {
+                    _langSelect.selectedIndex = i;
+
+                    resourceManager.localeChain = [ userLocale, "en_US" ];
+
+                    break;
+                }
+            }
+            resourceManager.addEventListener(Event.CHANGE, 
_viewResourceConstants.update);
+
+            _viewResourceConstants.update();
+            computeStandardButtonWidth();
+
+        }
+
+        protected function updateWindow():void {
+            updateWindowTitle();
+
+            this.nativeWindow.x = Screen.mainScreen.bounds.width / 2 - 
this.nativeWindow.width / 2;
+            this.nativeWindow.y = Screen.mainScreen.bounds.height / 2 - 
this.nativeWindow.height / 2;
+        }
+
+        protected function loadXML():void {
+            var request:URLRequest;
+
+            if (configOverride != "") {
+                request = new URLRequest(configOverride);
+            } else {
+                //request = new URLRequest(Constants.APACHE_FLEX_URL + 
Constants.CONFIG_XML_NAME);
+                request = new URLRequest(Constants.CONFIG_XML_NAME);
+            }
+
+            _loader = new URLLoader();
+
+            try {
+                _loader.load(request);
+            } catch (error:Error) {
+                log(_viewResourceConstants.ERROR_CONFIG_XML_LOAD + 
error.errorID + " " + error.message);
+                abortInstallation();
+            }
+
+            _loader.addEventListener(IOErrorEvent.IO_ERROR, xmlError, false, 
0, true);
+            _loader.addEventListener(Event.COMPLETE, xmlLoaded, false, 0, 
true);
+        }
+
+        protected function xmlError(event:IOErrorEvent):void {
+            log(_viewResourceConstants.ERROR_CONFIG_XML_LOAD + event.errorID);
+            abortInstallation();
+        }
+
+        protected function xmlLoaded(event:Event):void {
+            setOSSpecificVariables();
+
+            if (setXMLVariables()) {
+                updateWindowTitle();
+                _mirrorURLUtil.logMessages = new 
LogMessagesVO(_viewResourceConstants.FETCH_MIRROR_CGI, 
_viewResourceConstants.FETCH_MIRROR_CGI_DONE,
+                                                               
_viewResourceConstants.FETCH_MIRROR_CGI_ERROR);
+
+                _mirrorURLUtil.getMirrorURL(Constants.APACHE_FLEX_URL + 
_mirrorURLCGI, getMirrorURLResultHandler);
+            }
+        }
+
+        protected function setXMLVariables():Boolean {
+            var data:XML = XML(_loader.data);
+            var version:Number = Number(data.version.toString());
+            var files:XMLList = data.files.file;
+            var keepGoing:Boolean = true;
+
+            _latestVersion = data.version.latest.toString();
+
+            installerAppPath = files.(@name == 
'SDKInstallerApp')[email protected]();
+            installerAppFileName = files.(@name == 
'SDKInstallerApp')[email protected]();
+
+            _mirrorURLCGI = files.(@name == 'MirrorURLCGI')[email protected]();
+
+            var fileName:String = files.(@name == 
'ApacheFlexSDK')[email protected]();
+            /* Tmp solution to remove the file extension if present in the 
config XML */
+            var winExtension:String = Constants.ARCHIVE_EXTENSION_WIN;
+            if (fileName.indexOf(winExtension) > -1) {
+                fileName = fileName.substring(0, fileName.length - 
winExtension.length);
+            }
+
+            APACHE_FLEX_BIN_DISTRO_FILE_SHORT = fileName;
+            APACHE_FLEX_BIN_DISTRO_VERSION = 
fileName.substr(Constants.SDK_BINARY_FILE_NAME_PREFIX.length).split("-")[0];
+            fileName += (_os == MAC_OS) ? Constants.ARCHIVE_EXTENSION_MAC : 
winExtension;
+
+            APACHE_FLEX_BIN_DISTRO_FILE = fileName;
+            APACHE_FLEX_BIN_DISTRO_PATH = files.(@name == 
'ApacheFlexSDK')[email protected]();
+            if (!APACHE_FLEX_BIN_DISTRO_FILE || !APACHE_FLEX_BIN_DISTRO_PATH) {
+                log(_viewResourceConstants.ERROR_INVALID_SDK_URL);
+                keepGoing = false;
+            }
+
+            // ApacheFlex is full URL so download directly and dont use mirror 
useful for testing release candidates
+            if (APACHE_FLEX_BIN_DISTRO_PATH.indexOf("http") == 0) {
+                _useMirror = false;
+            }
+>>>>>>> fd493c9... Removing unwanted event listeners.
                        
                        var airVersions:Array = files.(@name == 
'Versions')[email protected]().split(",");
                        var selected:String = files.(@name == 
'Versions')[email protected]();

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d7697146/installer/src/installer/sdk-installer-config-3.0.xml
----------------------------------------------------------------------
diff --git a/installer/src/installer/sdk-installer-config-3.0.xml 
b/installer/src/installer/sdk-installer-config-3.0.xml
new file mode 100644
index 0000000..02a0478
--- /dev/null
+++ b/installer/src/installer/sdk-installer-config-3.0.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+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.
+
+-->
+
+<config>
+       <version>
+               <latest>2.6.0</latest>
+       </version>
+       <files>
+
+               <!-- SDK Installer Application binary distribution
+                        Notes:
+                               - use full URL when binaries are NOT released 
yet, else use
+                                 path relative to mirror
+                               - if path is relative, don't use starting slash 
-->
+               <file name="SDKInstallerApp" 
path="https://dist.apache.org/repos/dist/dev/flex/installer/2.0/rc1/binaries/"; 
file="apache-flex-sdk-installer-2.0.3-bin" />
+
+        <!-- Mirror URL CGI -->
+        <file name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/>
+
+        <!-- Apache Flex binary distribution
+             Notes:
+                 - path is relative to mirror URL
+                 - don't use starting slash
+                 - for the second and later releases, remove the extension 
from the file name -->
+<!--         <file name="ApacheFlexSDK" path="flex/4.9.1/binaries/" 
file="apache-flex-sdk-4.9.1-bin"/> -->
+<file name="ApacheFlexSDK" 
path="https://builds.apache.org/job/flex-sdk_release/lastSuccessfulBuild/artifact/out/";
 file="apache-flex-sdk-4.10.0-bin" />
+
+        <!-- All the versions! -->
+               <file name="Versions" 
airVersions="3.8,3.7,3.6,3.5,3.4,3.3,3.2,3.1,3.0,2.7,2.6" 
flashPlayerVersions="11.8,11.7,11.6,11.5,11.4,11.3,11.2,11.1,11.0,10.3,10.2" 
airDefault="3.7" flashPlayerDefault="11.7" /> 
+
+        <!-- Adobe AIR SDK -->
+               <file name="AdobeAIRSDKLin2.6" 
path="http://airdownload.adobe.com/air/lin/download/2.6/"; 
file="AdobeAIRSDK.tbz2" />
+               
+               <file name="AdobeAIRSDKWin2.6" 
path="http://airdownload.adobe.com/air/win/download/2.6/"; 
file="AdobeAIRSDK.zip" /> 
+               <file name="AdobeAIRSDKWin2.7" 
path="http://airdownload.adobe.com/air/win/download/2.7/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.0" 
path="http://airdownload.adobe.com/air/win/download/3.0/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.1" 
path="http://airdownload.adobe.com/air/win/download/3.1/"; 
file="AdobeAIRSDK.zip" label="tested" />
+               <file name="AdobeAIRSDKWin3.2" 
path="http://airdownload.adobe.com/air/win/download/3.2/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.3" 
path="http://airdownload.adobe.com/air/win/download/3.3/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.4" 
path="http://airdownload.adobe.com/air/win/download/3.4/"; 
file="AdobeAIRSDK.zip" label="tested" />
+               <file name="AdobeAIRSDKWin3.5" 
path="http://airdownload.adobe.com/air/win/download/3.5/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.6" 
path="http://airdownload.adobe.com/air/win/download/3.6/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.7" 
path="http://airdownload.adobe.com/air/win/download/3.7/"; 
file="AdobeAIRSDK.zip" />
+               <file name="AdobeAIRSDKWin3.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/air/"; 
file="air3-8_sdk_sa_win.zip" />
+
+               <file name="AdobeAIRSDKMac2.6" 
path="http://airdownload.adobe.com/air/mac/download/2.6/"; 
file="AdobeAIRSDK.tbz2" /> 
+               <file name="AdobeAIRSDKMac2.7" 
path="http://airdownload.adobe.com/air/mac/download/2.7/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.0" 
path="http://airdownload.adobe.com/air/mac/download/3.0/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.1" 
path="http://airdownload.adobe.com/air/mac/download/3.1/"; 
file="AdobeAIRSDK.tbz2" label="tested" />
+               <file name="AdobeAIRSDKMac3.2" 
path="http://airdownload.adobe.com/air/mac/download/3.2/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.3" 
path="http://airdownload.adobe.com/air/mac/download/3.3/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.4" 
path="http://airdownload.adobe.com/air/mac/download/3.4/"; 
file="AdobeAIRSDK.tbz2" label="tested" />
+               <file name="AdobeAIRSDKMac3.5" 
path="http://airdownload.adobe.com/air/mac/download/3.5/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.6" 
path="http://airdownload.adobe.com/air/mac/download/3.6/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.7" 
path="http://airdownload.adobe.com/air/mac/download/3.7/"; 
file="AdobeAIRSDK.tbz2" />
+               <file name="AdobeAIRSDKMac3.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/air/"; 
file="air3-8_sdk_sa_mac.tbz2" label="beta" />
+               
+               <!-- Adobe Flash Player player global swc -->
+               <file name="FlashPlayer10.2" 
path="http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal";
 file="playerglobal10_2.swc" version="10.2" swfversion="11" />
+               <file name="FlashPlayer10.3" 
path="http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal";
 file="playerglobal10_3.swc" version="10.3" swfversion="12" />
+               <file name="FlashPlayer11.0" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_0.swc" version="11.0" swfversion="13" />
+               <file name="FlashPlayer11.1" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_1.swc" version="11.1" swfversion="14" label="tested" />
+               <file name="FlashPlayer11.2" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_2.swc" version="11.2" swfversion="15" />
+               <file name="FlashPlayer11.3" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_3.swc" version="11.3" swfversion="16" />
+               <file name="FlashPlayer11.4" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_4.swc" version="11.4" swfversion="17" label="tested" />
+               <file name="FlashPlayer11.5" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_5.swc" version="11.5" swfversion="18" />
+               <file name="FlashPlayer11.6" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_6.swc" version="11.6" swfversion="19" />
+               <file name="FlashPlayer11.7" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_7.swc" version="11.7" swfversion="20" />
+               <file name="FlashPlayer11.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/flashplayer/"; 
file="flashplayer11-8_playerglobal.swc" version="11.8" swfversion="21" 
label="beta" />                    
+        
+        <!-- SWFObject.js -->
+        <file name="swfobject" path="http://swfobject.googlecode.com/files/"; 
file="swfobject_2_2.zip"/>
+
+        <!-- BlazeDS -->
+        <file name="BlazeDS" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="flex-messaging-common.jar"/>
+
+        <!-- FontSWF -->
+        <file name="afe" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="afe.jar"/>
+        <file name="aglj40" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="aglj40.jar"/>
+        <file name="flex-fontkit" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="flex-fontkit.jar"/>
+        <file name="rideau" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="rideau.jar"/>
+
+        <!-- OSMF -->
+        <file name="OSMF" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/";
 file="osmf.swc"/>
+
+    </files>
+</config>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d7697146/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as
----------------------------------------------------------------------
diff --git 
a/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as 
b/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as
index 884276c..9840b90 100644
--- a/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as
+++ b/installer/src/org/apache/flex/packageflexsdk/util/MD5CompareUtil.as
@@ -152,6 +152,7 @@ public class MD5CompareUtil extends EventDispatcher
                _md5Stream = new MD5Stream();
                
                _fileStream = new FileStream();
+               _fileStream.readAhead = 16384;
                _fileStream.addEventListener(Event.COMPLETE, 
fileStreamOpenHandler);
                _fileStream.addEventListener(ProgressEvent.PROGRESS, 
fileStreamOpenHandler);
                
_fileStream.addEventListener(OutputProgressEvent.OUTPUT_PROGRESS, 
fileStreamOpenHandler);
@@ -179,6 +180,7 @@ public class MD5CompareUtil extends EventDispatcher
                        {
                                _fileIsVerified = (_md5Stream.complete(data) == 
_remoteMD5Value);
                                
+                               removeEventListeners();
                                _callback();
                        }
                }
@@ -238,6 +240,15 @@ public class MD5CompareUtil extends EventDispatcher
                }
        }
        
+       private function removeEventListeners():void
+       {
+               _fileStream.removeEventListener(Event.COMPLETE, 
fileStreamOpenHandler);
+               _fileStream.removeEventListener(ProgressEvent.PROGRESS, 
fileStreamOpenHandler);
+               
_fileStream.removeEventListener(OutputProgressEvent.OUTPUT_PROGRESS, 
fileStreamOpenHandler);
+               _urlLoader.removeEventListener(Event.COMPLETE, 
urlLoaderResultHandler);
+               _urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, 
urlLoaderResultHandler);
+       }
+       
 }
 }
 

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/d7697146/installer/src/sdk-installer-config-3.0.xml
----------------------------------------------------------------------
diff --git a/installer/src/sdk-installer-config-3.0.xml 
b/installer/src/sdk-installer-config-3.0.xml
deleted file mode 100644
index 8d8c9f2..0000000
--- a/installer/src/sdk-installer-config-3.0.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-
-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.
-
--->
-
-<config>
-       <version>
-               <latest>2.6.0</latest>
-       </version>
-       <files>
-
-               <!-- SDK Installer Application binary distribution
-                        Notes:
-                               - use full URL when binaries are NOT released 
yet, else use
-                                 path relative to mirror
-                               - if path is relative, don't use starting slash 
-->
-               <file name="SDKInstallerApp" 
path="https://dist.apache.org/repos/dist/dev/flex/installer/2.0/rc1/binaries/"; 
file="apache-flex-sdk-installer-2.0.3-bin" />
-
-        <!-- Mirror URL CGI -->
-        <file name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/>
-
-        <!-- Apache Flex binary distribution
-             Notes:
-                 - path is relative to mirror URL
-                 - don't use starting slash
-                 - for the second and later releases, remove the extension 
from the file name -->
-        <file name="ApacheFlexSDK" path="flex/4.9.1/binaries/" 
file="apache-flex-sdk-4.9.1-bin"/>
-
-        <!-- All the versions! -->
-               <file name="Versions" 
airVersions="3.8,3.7,3.6,3.5,3.4,3.3,3.2,3.1,3.0,2.7,2.6" 
flashPlayerVersions="11.8,11.7,11.6,11.5,11.4,11.3,11.2,11.1,11.0,10.3,10.2" 
airDefault="3.7" flashPlayerDefault="11.7" /> 
-
-        <!-- Adobe AIR SDK -->
-               <file name="AdobeAIRSDKLin2.6" 
path="http://airdownload.adobe.com/air/lin/download/2.6/"; 
file="AdobeAIRSDK.tbz2" />
-               
-               <file name="AdobeAIRSDKWin2.6" 
path="http://airdownload.adobe.com/air/win/download/2.6/"; 
file="AdobeAIRSDK.zip" /> 
-               <file name="AdobeAIRSDKWin2.7" 
path="http://airdownload.adobe.com/air/win/download/2.7/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.0" 
path="http://airdownload.adobe.com/air/win/download/3.0/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.1" 
path="http://airdownload.adobe.com/air/win/download/3.1/"; 
file="AdobeAIRSDK.zip" label="tested" />
-               <file name="AdobeAIRSDKWin3.2" 
path="http://airdownload.adobe.com/air/win/download/3.2/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.3" 
path="http://airdownload.adobe.com/air/win/download/3.3/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.4" 
path="http://airdownload.adobe.com/air/win/download/3.4/"; 
file="AdobeAIRSDK.zip" label="tested" />
-               <file name="AdobeAIRSDKWin3.5" 
path="http://airdownload.adobe.com/air/win/download/3.5/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.6" 
path="http://airdownload.adobe.com/air/win/download/3.6/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.7" 
path="http://airdownload.adobe.com/air/win/download/3.7/"; 
file="AdobeAIRSDK.zip" />
-               <file name="AdobeAIRSDKWin3.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/air/"; 
file="air3-8_sdk_sa_win.zip" />
-
-               <file name="AdobeAIRSDKMac2.6" 
path="http://airdownload.adobe.com/air/mac/download/2.6/"; 
file="AdobeAIRSDK.tbz2" /> 
-               <file name="AdobeAIRSDKMac2.7" 
path="http://airdownload.adobe.com/air/mac/download/2.7/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.0" 
path="http://airdownload.adobe.com/air/mac/download/3.0/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.1" 
path="http://airdownload.adobe.com/air/mac/download/3.1/"; 
file="AdobeAIRSDK.tbz2" label="tested" />
-               <file name="AdobeAIRSDKMac3.2" 
path="http://airdownload.adobe.com/air/mac/download/3.2/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.3" 
path="http://airdownload.adobe.com/air/mac/download/3.3/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.4" 
path="http://airdownload.adobe.com/air/mac/download/3.4/"; 
file="AdobeAIRSDK.tbz2" label="tested" />
-               <file name="AdobeAIRSDKMac3.5" 
path="http://airdownload.adobe.com/air/mac/download/3.5/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.6" 
path="http://airdownload.adobe.com/air/mac/download/3.6/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.7" 
path="http://airdownload.adobe.com/air/mac/download/3.7/"; 
file="AdobeAIRSDK.tbz2" />
-               <file name="AdobeAIRSDKMac3.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/air/"; 
file="air3-8_sdk_sa_mac.tbz2" label="beta" />
-               
-               <!-- Adobe Flash Player player global swc -->
-               <file name="FlashPlayer10.2" 
path="http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal";
 file="playerglobal10_2.swc" version="10.2" swfversion="11" />
-               <file name="FlashPlayer10.3" 
path="http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal";
 file="playerglobal10_3.swc" version="10.3" swfversion="12" />
-               <file name="FlashPlayer11.0" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_0.swc" version="11.0" swfversion="13" />
-               <file name="FlashPlayer11.1" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_1.swc" version="11.1" swfversion="14" label="tested" />
-               <file name="FlashPlayer11.2" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_2.swc" version="11.2" swfversion="15" />
-               <file name="FlashPlayer11.3" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_3.swc" version="11.3" swfversion="16" />
-               <file name="FlashPlayer11.4" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_4.swc" version="11.4" swfversion="17" label="tested" />
-               <file name="FlashPlayer11.5" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_5.swc" version="11.5" swfversion="18" />
-               <file name="FlashPlayer11.6" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_6.swc" version="11.6" swfversion="19" />
-               <file name="FlashPlayer11.7" 
path="http://download.macromedia.com/get/flashplayer/updaters/11/"; 
file="playerglobal11_7.swc" version="11.7" swfversion="20" />
-               <file name="FlashPlayer11.8" 
path="http://labsdownload.adobe.com/pub/labs/flashruntimes/flashplayer/"; 
file="flashplayer11-8_playerglobal.swc" version="11.8" swfversion="21" 
label="beta" />                    
-        
-        <!-- SWFObject.js -->
-        <file name="swfobject" path="http://swfobject.googlecode.com/files/"; 
file="swfobject_2_2.zip"/>
-
-        <!-- BlazeDS -->
-        <file name="BlazeDS" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="flex-messaging-common.jar"/>
-
-        <!-- FontSWF -->
-        <file name="afe" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="afe.jar"/>
-        <file name="aglj40" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="aglj40.jar"/>
-        <file name="flex-fontkit" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="flex-fontkit.jar"/>
-        <file name="rideau" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/"; 
file="rideau.jar"/>
-
-        <!-- OSMF -->
-        <file name="OSMF" 
path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/";
 file="osmf.swc"/>
-
-    </files>
-</config>

Reply via email to