You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/06/15 08:30:55 UTC
[21/48] git commit: [flex-utilities] [refs/heads/develop] - move
installer into flex-installer
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/src/InstallApacheFlex.mxml
----------------------------------------------------------------------
diff --git a/installer/src/InstallApacheFlex.mxml b/installer/src/InstallApacheFlex.mxml
deleted file mode 100644
index 055e44f..0000000
--- a/installer/src/InstallApacheFlex.mxml
+++ /dev/null
@@ -1,4019 +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.
-
--->
-
-
-<!--
-
-This app should be used to create an Apache Flex SDK that has the
-directory structure that an IDE expects.
-
-The Adobe AIR SDK and the Adobe Flash Player playerglobal.swc are integrated
-into the directory structure. The paths in the framework configuration files are
-modified to reflect this. The AIR_HOME and PLAYERGLOBAL_HOME environment
-variables are not required because the locations of these pieces are known.
-
--->
-
-
-<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
- xmlns:s="library://ns.adobe.com/flex/spark"
- width="800" height="700" maxWidth="800" maxHeight="700" minWidth="800" minHeight="700"
- backgroundColor="0xDDDDDD"
- preinitialize="getInvoke()"
- applicationComplete="handleApplicationComplete(event)" showStatusBar="false"
- skinClass="ws.tink.spark.skins.controls.InstallApacheFlexSkin"
- xmlns:controls="ws.tink.spark.controls.*"
- xmlns:controls1="org.apache.flex.packageflexsdk.view.controls.*"
- xmlns:components="org.apache.flex.packageflexsdk.view.components.*"
- xmlns:controls2="org.apache.flex.utilities.common.controls.*">
-
- <fx:Style source="assets/styles/ApacheFlexToolsStyle.css"/>
- <fx:Style source="assets/styles/InstallApacheFlexStyle.css"/>
-
- <fx:Declarations>
- <fx:Component className="CacheDialog" >
- <s:TitleWindow title="Download Cache Configuration" width="400" height="130"
- backgroundColor="0xDDDDDD" close="closeUp()">
- <fx:Script>
- <![CDATA[
- import mx.managers.PopUpManager;
-
- private function browseFolders():void
- {
- var file:File;
- if (folder.text.length > 0)
- file = File.applicationStorageDirectory.resolvePath(folder.text);
- else
- file = File.applicationStorageDirectory;
- file.browseForDirectory("Download Cache Folder");
- file.addEventListener(Event.SELECT, folderSelected);
- }
-
- private function folderSelected(event:Event):void
- {
- folder.text = event.target.nativePath;
- }
-
- private function closeUp():void
- {
- PopUpManager.removePopUp(this);
- }
-
- private function updateCache():void
- {
- dispatchEvent(new Event(Event.COMPLETE));
- closeUp();
- }
- ]]>
- </fx:Script>
- <s:VGroup left="10" top="10" right="10">
- <s:CheckBox id="cb" label="Cache Downloaded Files" />
- <s:HGroup width="100%" verticalAlign="baseline">
- <s:Label text="Cache Folder: " />
- <s:TextInput id="folder" width="100%" enabled="{cb.selected}"/>
- <s:Button label="Browse..." click="browseFolders()" styleName="genericBtnStyle" enabled="{cb.selected}"/>
- </s:HGroup>
- <s:HGroup horizontalAlign="center" width="100%" >
- <s:Button label="OK" click="updateCache()" enabled="{cb.selected == false || folder.text.length > 0}" styleName="genericBtnStyle" />
- <s:Button label="Cancel" click="closeUp()" styleName="genericBtnStyle" />
- </s:HGroup>
- </s:VGroup>
- </s:TitleWindow>
- </fx:Component>
- </fx:Declarations>
- <fx:Script><![CDATA[
- import flash.globalization.LocaleID;
- import flash.globalization.StringTools;
-
- import mx.collections.ArrayCollection;
- import mx.core.IFlexDisplayObject;
- import mx.events.FlexEvent;
- import mx.events.PropertyChangeEvent;
- import mx.managers.CursorManager;
- import mx.managers.PopUpManager;
- import mx.resources.ResourceBundle;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
- import mx.rpc.http.HTTPService;
- import mx.utils.StringUtil;
-
- import org.apache.flex.packageflexsdk.util.ApacheURLLoader;
-
- import spark.events.IndexChangeEvent;
- import spark.events.TextOperationEvent;
-
- // This force-links all of the ant task handlers into the Installer.
- // The Installer doesn't use most of them directly but some script
- // it runs might.
- import AntClasses;
-
- AntClasses;
-
- import org.apache.flex.ant.Ant;
- import org.apache.flex.ant.tags.Checksum;
- import org.apache.flex.ant.tags.Copy;
- import org.apache.flex.ant.tags.Get;
- import org.apache.flex.packageflexsdk.model.InstallerComponentVO;
- import org.apache.flex.packageflexsdk.model.OS;
- import org.apache.flex.packageflexsdk.resource.ViewResourceConstants;
- import org.apache.flex.packageflexsdk.util.CalcButtonWidth;
- import org.apache.flex.packageflexsdk.util.MD5CompareUtil;
- import org.apache.flex.packageflexsdk.view.UpdaterDialog;
- import org.apache.flex.packageflexsdk.view.components.AdobeLicense;
- import org.apache.flex.packageflexsdk.view.components.ConsoleWindow;
- import org.apache.flex.packageflexsdk.view.components.MPLLicense;
- import org.apache.flex.packageflexsdk.view.events.InstallItemSelectionEvent;
- import org.apache.flex.utilities.common.Constants;
- import org.apache.flex.utilities.common.MirrorURLUtil;
- import org.apache.flex.utilities.common.interfaces.ILog;
- import org.apache.flex.utilities.common.vo.LogMessagesVO;
- import org.as3commons.zip.Zip;
- import org.as3commons.zip.ZipEvent;
- import org.as3commons.zip.ZipFile;
- import org.osmf.utils.OSMFStrings;
-
- import ws.tink.spark.controls.StepItem;
- import ws.tink.spark.skins.controls.InstallApacheFlexSkin;
-
- // embed us strings so we can always have them if we can't get to the locale files
- [Embed(source="properties/en_US.properties", mimeType="application/octet-stream")]
- private var en_US_Properties:Class;
-
- private var cleanedUp:Boolean;
-
- private var _mirrorURLCGI:String;
- private var _useMirror:Boolean = true;
- private var _latestVersion:String;
- private var loggedVersion:Boolean;
- private var logFile:String;
- private var debugMode:Boolean = false;
- private var logProgressEvents:Boolean = false;
- private var showDevBuilds:Boolean = false;
- private var usingDownloadCache:Boolean;
- private var downloadCacheFolder:String;
- private var userDefaultLanguage:String;
- private var firstTime:Boolean = true;
- private var legacy:Boolean = true;
- private var nocache:Boolean = true;
- private var wasAborted:Boolean;
- private var newSDKSelected:Boolean = true;
-
- public var installerAppPath:String;
- public var installerAppFileName:String;
-
- // loader needs to be in instance var otherwise it can get GC'd.
- // We only load one thing at a time, so we can all share this
- // var
- private var loader:ApacheURLLoader;
-
- /**
- * Utility Singleton Instances
- */
- private var _md5CompareUtil:MD5CompareUtil = MD5CompareUtil.instance;
- private var _mirrorURLUtil:MirrorURLUtil = MirrorURLUtil.instance;
-
- /**
- * Apache Flex binary distribution
- *
- * Values stored in sdk-installer-config.xml edit file to change
- *
- */
- private var APACHE_FLEX_BIN_DISTRO_PATH:String;
- private var APACHE_FLEX_BIN_DISTRO_FILE:String;
- private var APACHE_FLEX_BIN_INSTALLER_FILE:String;
- private var APACHE_FLEX_BIN_DISTRO_FILE_SHORT:String;
- private var APACHE_FLEX_BIN_DISTRO_URL:String;
- private var APACHE_FLEX_BIN_INSTALLER_URL:String;
- [Bindable]
- private var APACHE_FLEX_BIN_DISTRO_VERSION:String = "";
- [Bindable]
- private var APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY:String = "";
-
- /**
- * Adobe AIR SDK
- *
- * Values stored in sdk-installer-config.xml edit file to change
- *
- */
- [Bindable]
- private var AIR_VERSIONS:ArrayCollection = new ArrayCollection();
- private var AIR_VERSION:String = "14.0";
- private var ADOBE_AIR_SDK_WIN_FILE:String;
- private var ADOBE_AIR_SDK_WIN_URL:String;
- private var ADOBE_AIR_SDK_MAC_FILE:String;
- private var ADOBE_AIR_SDK_MAC_URL:String;
- private var ADOBE_AIR_SDK_LINUX_FILE:String;
- private var ADOBE_AIR_SDK_LINUX_URL:String;
-
- /**
- * Adobe Flash Player
- *
- * Values stored in sdk-installer-config.xml edit file to change
- *
- */
- [Bindable]
- private var FLASH_PLAYER_VERSIONS:ArrayCollection = new ArrayCollection();
- private var FLASH_PLAYER_VERSION:String = "11.1";
- private var FLASH_PLAYER_SWF_VERSION:String = "14";
- private var ADOBE_FB_GLOBALPLAYER_SWC_FILE:String;
- private var ADOBE_FB_GLOBALPLAYER_SWC_URL:String;
-
- /**
- * Apache Flex
- *
- * Values stored in sdk-installer-config.xml edit file to change
- *
- */
- [Bindable]
- private var FLEX_VERSIONS:ArrayCollection = new ArrayCollection();
-
- /**
- *
- * SwfObject
- *
- */
- private var SWF_OBJECT_FILE:String;
- private var SWF_OBJECT_URL:String;
-
- /**
- * Optional installs
- *
- */
- private var OSMF_SWC_FILE:String;
- private var OSMF_SWC_URL:String;
- private var OSMF_SWF_FILE:String = "osmf.swf";
-
- private var BLAZEDS_FILE:String;
- private var BLAZEDS_URL:String;
-
- private var AFE_FILE:String;
- private var AFE_URL:String;
- private var AGLJ40_FILE:String;
- private var AGLJ40_URL:String;
- private var FLEX_FONTKIT_FILE:String;
- private var FLEX_FONTKIT_URL:String;
- private var RIDEAU_FILE:String;
- private var RIDEAU_URL:String;
-
- [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 _osmfSWCFile:File;
- private var _osmfSWFFile:File;
-
- private var _os:OS = new OS();
- private var _loader:ApacheURLLoader;
- 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 _useOSMF2:Boolean = true;
-
- private var languageOverride:String;
- private var configOverride:String = "";
- private var stepsOverride:String = "";
- private var installOverride:String = "";
-
- private var overlaying:Boolean;
- private var usingXML:Object;
- private var additionalProps:Object = {};
- private var licensePropertyMap:Object = {};
- private var progressLabels:XML;
- private var installStepsData:XMLList;
- private var compList:XMLList;
- private var stepIDs:Vector.<String> = new Vector.<String>();
- private var stepLabels:Vector.<String> = new Vector.<String>();
- private var currentStep:int = 0;
-
- private var lastLicenseItemSelected:int = 0;
-
- private var customMenuItem1:ContextMenuItem = new ContextMenuItem("Show Dev Builds");
- private var customMenuItem2:ContextMenuItem = new ContextMenuItem("Configure Download Cache...");
- private var customMenuItem3:ContextMenuItem = new ContextMenuItem("Enable Verbose Logging");
- private var customMenuItem4:ContextMenuItem = new ContextMenuItem("Enable Progress Logging");
-
- [Bindable]
- private var _viewResourceConstants:ViewResourceConstants;
- [Bindable]
- private var supportedLanguages:ArrayCollection = new ArrayCollection();
- [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 var _lastTag:String;
- private var _lastPublicMessage:String;
- public function set lastPublicMessage(s:String):void
- {
- var tag:String;
- var c:int;
-
- c = s.indexOf("[");
- if (c != -1)
- {
- var c2:int = s.indexOf("] ");
- if (c2 != -1)
- {
- tag = s.substring(c + 1, c2);
- s = s.substr(c2 + 2);
- }
- }
- if (tag && tag == _lastTag && tag == "get")
- {
- _lastPublicMessage += "\n" + s;
- }
- else
- {
- _lastPublicMessage = s;
- }
- _lastTag = tag;
- dispatchEvent(new Event("messageChanged"));
- }
-
- [Bindable("messageChanged")]
- public function get lastFilteredPublicMessage():String
- {
- return _lastPublicMessage;
- }
-
- private function getInvoke():void
- {
- var nativeApplication:NativeApplication = NativeApplication.nativeApplication;
- nativeApplication.addEventListener(InvokeEvent.INVOKE, parseArgs);
- }
-
- [Bindable]
- private var _standardButtonWidth:Number = 88;
-
- public function setButtonWidths():void
- {
- var calc:CalcButtonWidth = new CalcButtonWidth(hiddenButton);
-
- calc.buttonWidth(installLogBtn);
- calc.buttonWidth(openApacheFlexFolderBtn);
-
- _standardButtonWidth = calc.maxButtonWidth([installBtn, browseBtn, closeBtn, nextBtn, firstStepBackBtn, secondStepBackBtn]);
- }
-
- 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);
- }
- if (s.indexOf("-install=") == 0)
- {
- installOverride = s.substring(9);
- }
- if (s.indexOf("-steps=") == 0)
- {
- stepsOverride = s.substring(7);
- }
- if (s.indexOf("-debug") == 0)
- {
- debugMode = true;
- }
- if (s.indexOf("-log=") == 0)
- {
- debugMode = true;
- logFile = s.substring(5);
- }
- }
- var so:SharedObject = SharedObject.getLocal("InstallApacheFlex");
- usingDownloadCache = so.data.usingDownloadCache;
- downloadCacheFolder = so.data.downloadCacheFolder;
- userDefaultLanguage = so.data.userDefaultLanguage;
- }
-
- protected function handleApplicationComplete(event:FlexEvent):void
- {
- CursorManager.setBusyCursor();
- loaderInfo.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler);
- addEventListener(Event.CLOSING, closeApplication);
- updateWindow();
- var hasInternet:Boolean = false;
- var networkAdapters:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();
- for each (var networkAdapter:NetworkInterface in networkAdapters)
- {
- if (networkAdapter.active)
- {
- hasInternet = true;
- break;
- }
- }
- if (hasInternet)
- {
- loadXML();
- }
- logVersion();
- if (!hasInternet)
- {
- log("Internet connection unavailable");
- abortInstallation("Internet connection unavailable.");
- }
- }
-
- private function uncaughtErrorHandler(event:UncaughtErrorEvent):void
- {
- if (currentStep > 0)
- {
- updateActivityStep(stepLabels[currentStep - 1], StepItem.ERROR);
- }
- if (event.error is Error)
- {
- var error:Error = event.error as Error;
- log(error.message);
- log(error.getStackTrace(), -1, false);
- abortInstallation(error.message + "\n" + error.getStackTrace());
- }
- else if (event.error is ErrorEvent)
- {
- var errorEvent:ErrorEvent = event.error as ErrorEvent;
- log(errorEvent.text);
- abortInstallation(errorEvent.text);
- }
- else
- {
- // a non-Error, non-ErrorEvent type was thrown and uncaught
- log(event.toString());
- abortInstallation(event.toString());
- }
- }
-
- /**
- * 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
- {
- selectDefaultLanguage();
- }
-
- private function getIndexOfEnUS():int
- {
- for (var i:int = 0; i < _langSelect.dataProvider.length; i++)
- {
- if (_langSelect.dataProvider.getItemAt(i).data == "en_US")
- {
- return i;
- }
- }
- return -1;
- }
-
- private function updateWindowTitle():void
- {
- if (_viewResourceConstants)
- {
- this.nativeWindow.title = StringUtil.substitute(_viewResourceConstants.INFO_WINDOW_TITLE, [APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY]);
- }
- }
-
- protected function selectDefaultLanguageInEmergency():void
- {
- loadLanguage("en_US", loadUSInEmergencyComplete);
- }
-
- private function loadUSInEmergencyComplete():void
- {
- _viewResourceConstants = ViewResourceConstants.instance;
- _viewResourceConstants.update();
- }
-
- protected function selectDefaultLanguage():void
- {
- loadLanguage("en_US", loadUSComplete);
- }
-
- private function loadUSComplete():void
- {
- var userLocale:String;
-
- if (userDefaultLanguage)
- {
- userLocale = userDefaultLanguage;
- }
- else
- {
- userLocale = new StringTools(LocaleID.DEFAULT).actualLocaleIDName.replace("-", "_");
- }
-
- if (languageOverride)
- {
- userLocale = languageOverride;
- }
-
- loadDefaultLanguage(userLocale);
- }
-
- private function loadDefaultLanguage(userLocale:String):void
- {
- loadLanguage(userLocale, defaultLanguageLoaded);
- }
-
- private var languageURL:String;
- private var languageID:String;
-
- private function loadLanguage(userLocale:String, completeFunction:Function):void
- {
- if (languageURL && loader) // busy loading another language
- {
- loader.close();
- }
-
- if (userLocale == "en_US")
- {
- var ba:ByteArray = new en_US_Properties() as ByteArray;
- var data:String = ba.readUTFBytes(ba.bytesAvailable);
- installLanguage(userLocale, data);
- completeFunction();
- return;
- }
- var n:int = supportedLanguages.length;
- for (var i:int = 0; i < n; i++)
- {
- if (supportedLanguages[i].data == userLocale)
- {
- languageID = userLocale;
- languageURL = supportedLanguages[i].path;
- var url:URLRequest = new URLRequest(languageURL);
- loader = new ApacheURLLoader();
- loader.dataFormat = URLLoaderDataFormat.TEXT;
- loader.addEventListener(IOErrorEvent.IO_ERROR, languageLoadErrorHandler);
- loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, languageLoadErrorHandler);
- loader.addEventListener(Event.COMPLETE, function (e:Event):void
- {
- languageURL = null;
- installLanguage(userLocale, loader.data);
- completeFunction();
- });
- loader.load(url);
- return;
- }
- }
- completeFunction();
- }
-
- private function installLanguage(userLocale:String, data:String):void
- {
- var resource:ResourceBundle = new ResourceBundle(userLocale, ViewResourceConstants.BUNDLE_NAME);
- var variables:Array;
- if (data.indexOf("\r\n") != -1)
- {
- variables = data.split("\r\n");
- }
- else
- {
- variables = data.split("\n");
- }
- for each (var p:String in variables)
- {
- if (p.charAt(0) == "#")
- {
- continue;
- }
-
- var c:int = p.indexOf("=");
- if (c != -1)
- {
- var key:String = p.substr(0, c);
- var value:String = p.substr(c + 1);
- while (value.indexOf("\\n") != -1)
- {
- value = value.replace("\\n", "\n");
- }
- resource.content[key] = value;
- }
- }
-
- resourceManager.addResourceBundle(resource);
- }
-
- private function languageLoadErrorHandler(event:Event):void
- {
- log("Unable to load language file " + languageURL);
- log(event.toString());
- abortInstallation("Unable to load language file " + languageURL);
- }
-
- private function defaultLanguageLoaded():void
- {
- resourceManager.localeChain = [ViewResourceConstants.DEFAULT_LANGUAGE];
-
- var userLocale:String;
-
- if (userDefaultLanguage)
- {
- userLocale = userDefaultLanguage;
- }
- else
- {
- userLocale = new StringTools(LocaleID.DEFAULT).actualLocaleIDName.replace("-", "_");
- }
-
- if (languageOverride)
- {
- userLocale = languageOverride;
- }
- log("Using Locale: " + userLocale);
-
- 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;
- }
- }
- _viewResourceConstants = ViewResourceConstants.instance;
-
- resourceManager.addEventListener(Event.CHANGE, _viewResourceConstants.update);
-
- _viewResourceConstants.update();
- setButtonWidths();
- directoryBtn.enabled = true;
-
- updateWindow();
-
- _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);
- CursorManager.removeBusyCursor();
-
- checkValidOS();
- }
-
- 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 ApacheURLLoader();
-
- try
- {
- _loader.load(request);
- }
- catch (error:Error)
- {
- selectDefaultLanguageInEmergency();
- log("Unable to load " + Constants.APACHE_FLEX_URL + Constants.CONFIG_XML_NAME);
- log(_viewResourceConstants.ERROR_CONFIG_XML_LOAD + error.errorID + " " + error.message);
- abortInstallation("Unable to load " + Constants.APACHE_FLEX_URL + Constants.CONFIG_XML_NAME);
- }
-
- _loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, xmlLoadStatus, false, 0, true);
- _loader.addEventListener(IOErrorEvent.IO_ERROR, xmlError, false, 0, true);
- _loader.addEventListener(Event.COMPLETE, xmlLoaded, false, 0, true);
- }
-
- protected function xmlLoadStatus(event:HTTPStatusEvent):void
- {
- if (event.status >= 400)
- {
- log("Unable to load " + Constants.APACHE_FLEX_URL + Constants.CONFIG_XML_NAME);
- log("\tServer Status: " + event.status);
- }
- }
-
- protected function xmlError(event:IOErrorEvent):void
- {
- selectDefaultLanguageInEmergency();
- log("Unable to load " + Constants.APACHE_FLEX_URL + Constants.CONFIG_XML_NAME);
- log(_viewResourceConstants.ERROR_CONFIG_XML_LOAD + event.errorID);
- abortInstallation("Unable to load " + Constants.APACHE_FLEX_URL + Constants.CONFIG_XML_NAME + " " + event.toString());
- }
-
- protected function xmlLoaded(event:Event):void
- {
- if (setXMLVariables())
- {
- _langSelect.dataProvider = supportedLanguages;
- _langSelect.selectedIndex = getIndexOfEnUS();
- _langSelect.enabled = true;
- defineResourceManagerDefaultLanguage();
- }
- }
-
- protected function checkValidOS():void
- {
- if (_os.isOther())
- {
- log(_viewResourceConstants.ERROR_UNSUPPORTED_OPERATING_SYSTEM);
- }
- }
-
- private function devBuildFilterFunction(o:Object):Boolean
- {
- return !o.devBuild;
- }
-
- private function debugModeHandler(event:Event):void
- {
- debugMode = true;
- customMenuItem3.caption = "Verbose Logging Enabled";
- }
-
- private function debugProgressHandler(event:Event):void
- {
- logProgressEvents = true;
- customMenuItem4.caption = "Logging Progress Events";
- }
-
- private function devBuildShowHandler(event:Event):void
- {
- var item:Object = flexVersion.selectedItem;
- FLEX_VERSIONS.filterFunction = null;
- FLEX_VERSIONS.refresh();
- flexVersion.selectedItem = item;
- customMenuItem1.caption = "Showing Dev Builds";
- }
-
- private function downloadCacheHandler(event:Event):void
- {
- var dlg:CacheDialog = new CacheDialog();
- dlg.addEventListener(Event.COMPLETE, updateDownloadCache);
- PopUpManager.addPopUp(dlg, this, true);
- PopUpManager.centerPopUp(dlg);
- dlg.cb.selected = usingDownloadCache;
- dlg.folder.text = downloadCacheFolder;
- }
-
- private function updateDownloadCache(event:Event):void
- {
- downloadCacheFolder = event.target.folder.text;
- usingDownloadCache = event.target.cb.selected;
- var so:SharedObject = SharedObject.getLocal("InstallApacheFlex");
- so.data.usingDownloadCache = usingDownloadCache;
- so.data.downloadCacheFolder = downloadCacheFolder;
- so.flush();
- }
-
- protected function setXMLVariables():Boolean
- {
- try
- {
- var data:XML = XML(_loader.data);
- }
- catch (e:Error)
- {
- log("Error parsing configuration file");
- abortInstallation("Error parsing configuration file");
- return false;
- }
- var keepGoing:Boolean = true;
- if (firstTime)
- {
- firstTime = false;
-
- _latestVersion = data.version.latest.toString();
-
- installerAppPath = data.installer.(@name == 'SDKInstallerApp').@path.toString();
- installerAppFileName = data.installer.(@name == 'SDKInstallerApp').@file.toString();
-
- _mirrorURLCGI = data.mirror.(@name == 'MirrorURLCGI').@file.toString();
-
- customMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, devBuildShowHandler);
- customMenuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, downloadCacheHandler);
- customMenuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, debugModeHandler);
- customMenuItem4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, debugProgressHandler);
-
- var contextMenuCustomItems:Array = ContextMenu(contextMenu).customItems;
- contextMenuCustomItems.push(customMenuItem1);
- contextMenuCustomItems.push(customMenuItem2);
- contextMenuCustomItems.push(customMenuItem3);
- contextMenuCustomItems.push(customMenuItem4);
-
- var name:String;
- var versionString:String;
- var versionID:String;
-
- var languages:XMLList = data.languages.children();
- for each (var lang:XML in languages)
- {
- var item:Object = {
- label: lang.@name.toString(),
- data: lang.@id.toString(),
- path: lang.@path.toString()
- };
- supportedLanguages.addItem(item);
- }
-
- var airData:XMLList = data.airsdk[_os.os].versions;
- var airVersionList:XMLList = airData[0].children();
- var airVersions:Array = [];
- var selected:String = airData[0]["@default"].toString();
- for each (var airVersion:XML in airVersionList)
- {
- var displayVersion:String = airVersion.@displayVersion.toString();
- versionString = airVersion.@version.toString();
- versionID = null;
- if (airVersion.@versionID.length() > 0)
- {
- versionID = airVersion.@versionID.toString();
- }
- airVersions.push(versionString);
- var airPath:String = airVersion.path.toString();
- var airFile:String = airVersion.file.toString();
- AIR_VERSIONS.addItem({
- label: "AIR " + displayVersion, version: versionString, versionID: versionID,
- path: airPath, file: airFile
- });
- }
-
- if (this.airVersion.selectedIndex == -1)
- {
- this.airVersion.selectedIndex = airVersions.indexOf(selected);
- }
-
- var flexData:XMLList = data.products.children();
- var selectedFlexVersion:int;
- for each (var productData:XML in flexData)
- {
- var productName:String = productData.@name.toString();
- var productPrefix:String = productData.@prefix.toString();
- var productVersionList:XMLList = productData.versions.children();
- var isOverlay:Boolean = productData.@overlay.toString() == "true";
- var needsAIR:Boolean = productData.@needsAIR.toString() != "false";
- var needsFlash:Boolean = productData.@needsFlash.toString() != "false";
- var icon:String = productData.@icon.toString();
- for each (var productVersion:XML in productVersionList)
- {
- var shortName:String = productVersion.@file.toString();
- var fileName:String = shortName + (_os.isWindows() ? Constants.ARCHIVE_EXTENSION_WIN : Constants.ARCHIVE_EXTENSION_MAC);
- versionString = productVersion.@version.toString();
- var label:String = productName + " " + versionString;
- var ver:String = fileName.substr(productPrefix.length).split("-")[0];
- var path:String = productVersion.@path.toString();
- var devBuild:Boolean = productVersion.@dev.toString() == "true";
- var legacy:Boolean = productVersion.@legacy.toString() == "true";
- var nocache:Boolean = productVersion.@nocache.toString() == "true";
- if (productVersion["@default"].length() == 1)
- {
- selectedFlexVersion = FLEX_VERSIONS.length;
- }
- FLEX_VERSIONS.addItem({
- shortName: shortName, fileName: fileName, label: label, version: ver,
- path: path, overlay: isOverlay, prefix: productPrefix, legacy: legacy, nocache: nocache,
- needsAIR: needsAIR, needsFlash: needsFlash, devBuild: devBuild, icon: icon
- });
- }
- }
-
- FLEX_VERSIONS.filterFunction = devBuildFilterFunction;
- FLEX_VERSIONS.refresh();
- flexVersion.validateNow();
-
- if (this.flexVersion.selectedIndex == -1)
- {
- this.flexVersion.selectedIndex = selectedFlexVersion;
- }
-
- var selectedFlexVersionObject:Object = this.flexVersion.selectedItem;
- updateFlexVersionStrings(selectedFlexVersionObject);
-
- if (!APACHE_FLEX_BIN_DISTRO_FILE || !APACHE_FLEX_BIN_DISTRO_PATH)
- {
- log(_viewResourceConstants.ERROR_INVALID_SDK_URL);
- keepGoing = false;
- }
-
- var flashData:XMLList = data.flashsdk.versions;
- var flashVersionList:XMLList = flashData[0].children();
- var flashPlayerVersions:Array = [];
- selected = flashData[0]["@default"].toString();
- for each (var flashVersion:XML in flashVersionList)
- {
- displayVersion = flashVersion.@displayVersion.toString();
- versionString = flashVersion.@version.toString();
- versionID = null;
- if (flashVersion.@versionID.length() > 0)
- {
- versionID = flashVersion.@versionID.toString();
- }
- flashPlayerVersions.push(versionString);
- if (!_os.isLinux() || Number(versionString) <= 11.2)
- {
- var swfVersion:String = flashVersion.swfversion.toString();
- var flashPath:String = flashVersion.path.toString();
- var flashFile:String = flashVersion.file.toString();
- FLASH_PLAYER_VERSIONS.addItem({
- label: "Flash Player " + displayVersion, version: versionString, swfVersion: swfVersion,
- versionID: versionID, path: flashPath, file: flashFile
- });
- }
- }
-
- if (this.flashPlayerVersion.selectedIndex == -1)
- {
- this.flashPlayerVersion.selectedIndex = flashPlayerVersions.indexOf(selected);
- }
- }
-
- ADOBE_AIR_SDK_WIN_FILE = data.airsdk.windows.versions.children().(@version == AIR_VERSION).file.toString();
- ADOBE_AIR_SDK_WIN_URL = data.airsdk.windows.versions.children().(@version == AIR_VERSION).path.toString();
- if (_os.isWindows() && (!ADOBE_AIR_SDK_WIN_FILE || !ADOBE_AIR_SDK_WIN_URL))
- {
- log(_viewResourceConstants.ERROR_INVALID_AIR_SDK_URL_WINDOWS);
- keepGoing = false;
- }
- ADOBE_AIR_SDK_WIN_URL += ADOBE_AIR_SDK_WIN_FILE;
-
- ADOBE_AIR_SDK_MAC_FILE = data.airsdk.mac.versions.children().(@version == AIR_VERSION).file.toString();
- ADOBE_AIR_SDK_MAC_URL = data.airsdk.mac.versions.children().(@version == AIR_VERSION).path.toString();
- if (_os.isMac() && (!ADOBE_AIR_SDK_MAC_FILE || !ADOBE_AIR_SDK_MAC_URL))
- {
- log(_viewResourceConstants.ERROR_INVALID_AIR_SDK_URL_MAC);
- keepGoing = false;
- }
- ADOBE_AIR_SDK_MAC_URL += ADOBE_AIR_SDK_MAC_FILE;
-
- ADOBE_AIR_SDK_LINUX_FILE = data.airsdk.linux.versions.children().(@version == AIR_VERSION).file.toString();
- ADOBE_AIR_SDK_LINUX_URL = data.airsdk.linux.versions.children().(@version == AIR_VERSION).path.toString();
- if (_os.isLinux() && (!ADOBE_AIR_SDK_LINUX_FILE || !ADOBE_AIR_SDK_LINUX_URL))
- {
- log(_viewResourceConstants.ERROR_INVALID_AIR_SDK_URL_LINUX);
- keepGoing = false;
- }
- ADOBE_AIR_SDK_LINUX_URL += ADOBE_AIR_SDK_LINUX_FILE;
-
- ADOBE_FB_GLOBALPLAYER_SWC_FILE = data.flashsdk.versions.children().(@version == FLASH_PLAYER_VERSION).file.toString();
- ADOBE_FB_GLOBALPLAYER_SWC_URL = data.flashsdk.versions.children().(@version == FLASH_PLAYER_VERSION).path.toString();
- FLASH_PLAYER_SWF_VERSION = data.flashsdk.versions.children().(@version == FLASH_PLAYER_VERSION).swfversion.toString();
- if (!ADOBE_FB_GLOBALPLAYER_SWC_FILE || !ADOBE_FB_GLOBALPLAYER_SWC_URL)
- {
- log(_viewResourceConstants.ERROR_INVALID_FLASH_PLAYER_SWC_URL);
- keepGoing = false;
- }
- ADOBE_FB_GLOBALPLAYER_SWC_URL += ADOBE_FB_GLOBALPLAYER_SWC_FILE;
-
- SWF_OBJECT_FILE = data.swfobject.@file.toString();
- SWF_OBJECT_URL = data.swfobject.@path.toString();
-
- //Supporting OSMF 2.0 from 4.11 onwards.
- if (APACHE_FLEX_BIN_DISTRO_VERSION == "4.9.1" || APACHE_FLEX_BIN_DISTRO_VERSION == "4.10.0")
- {
- OSMF_SWC_FILE = data.OSMF_SWC.@file.toString();
- OSMF_SWC_URL = data.OSMF_SWC.@path.toString();
- _useOSMF2 = false;
- }
- else
- {
- OSMF_SWC_FILE = data["OSMF_SWC_2.0"].@file.toString();
- OSMF_SWC_URL = data["OSMF_SWC_2.0"].@path.toString();
- _useOSMF2 = true;
- }
-
- BLAZEDS_FILE = data.BlazeDS.@file.toString();
- BLAZEDS_URL = data.BlazeDS.@path.toString();
-
- AFE_FILE = data.fontswf.afe.@file.toString();
- AFE_URL = data.fontswf.afe.@path.toString();
-
- AGLJ40_FILE = data.fontswf.aglj40.@file.toString();
- AGLJ40_URL = data.fontswf.aglj40.@path.toString();
-
- FLEX_FONTKIT_FILE = data.fontswf["flex-fontkit"].@file.toString();
- FLEX_FONTKIT_URL = data.fontswf["flex-fontkit"].@path.toString();
-
- RIDEAU_FILE = data.fontswf.rideau.@file.toString();
- RIDEAU_URL = data.fontswf.rideau.@path.toString();
-
-
- return keepGoing;
- }
-
- protected function updateFlexVersionStrings(selectedFlexVersionObject:Object):void
- {
- APACHE_FLEX_BIN_DISTRO_FILE_SHORT = selectedFlexVersionObject.shortName;
- APACHE_FLEX_BIN_DISTRO_VERSION = selectedFlexVersionObject.version;
- APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY = selectedFlexVersionObject.label;
-
- APACHE_FLEX_BIN_DISTRO_FILE = selectedFlexVersionObject.fileName;
- APACHE_FLEX_BIN_DISTRO_PATH = selectedFlexVersionObject.path;
- legacy = selectedFlexVersionObject.legacy;
- nocache = selectedFlexVersionObject.nocache;
- APACHE_FLEX_BIN_INSTALLER_FILE = selectedFlexVersionObject.prefix + "installer-config.xml";
-
- // 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;
- }
- else
- {
- _useMirror = true;
- }
-
- newSDKSelected = true;
- }
-
- private function useMirrorPath(path:String):String
- {
- if (_useMirror)
- {
- return path;
- }
-
- return "";
- }
-
- private function getMirrorURLResultHandler():void
- {
- var logMessages:ArrayCollection = ILog(_mirrorURLUtil).log;
- var i:int;
- var n:int = logMessages.length;
- for (i = 0; i < n; i++)
- {
- log(String(logMessages.getItemAt(i)));
- }
-
- if (_mirrorURLUtil.errorOccurred)
- {
- abortInstallation("mirrorURLUtil.errorOccurred");
- main();
- }
- else
- {
- updatePaths();
- }
-
- }
-
- protected function updatePaths():void
- {
- if (APACHE_FLEX_BIN_DISTRO_PATH.substr(0, Constants.URL_PREFIX.length) == Constants.URL_PREFIX
- || APACHE_FLEX_BIN_DISTRO_PATH.substr(0, Constants.FILE_PREFIX.length) == Constants.FILE_PREFIX
- || APACHE_FLEX_BIN_DISTRO_PATH.substr(0, Constants.HTTPS_PREFIX.length) == Constants.HTTPS_PREFIX)
- {
- APACHE_FLEX_BIN_DISTRO_URL = APACHE_FLEX_BIN_DISTRO_PATH + APACHE_FLEX_BIN_DISTRO_FILE;
- if (stepsOverride != "")
- {
- APACHE_FLEX_BIN_INSTALLER_URL = stepsOverride;
- }
- else
- {
- APACHE_FLEX_BIN_INSTALLER_URL = APACHE_FLEX_BIN_DISTRO_PATH + APACHE_FLEX_BIN_INSTALLER_FILE;
- }
- }
- else
- {
- APACHE_FLEX_BIN_DISTRO_URL = useMirrorPath(_mirrorURLUtil.mirrorURL) + APACHE_FLEX_BIN_DISTRO_PATH + APACHE_FLEX_BIN_DISTRO_FILE;
- if (stepsOverride != "")
- {
- APACHE_FLEX_BIN_INSTALLER_URL = stepsOverride;
- }
- else
- {
- APACHE_FLEX_BIN_INSTALLER_URL = MD5CompareUtil.MD5_DOMAIN + APACHE_FLEX_BIN_DISTRO_PATH + APACHE_FLEX_BIN_INSTALLER_FILE;
- }
- }
-
- if (installerAppPath.substr(0, Constants.URL_PREFIX.length) != Constants.URL_PREFIX)
- {
- installerAppPath = useMirrorPath(_mirrorURLUtil.mirrorURL) + installerAppPath;
- }
-
- main();
- }
-
- protected function main():void
- {
-
- if (shouldUpdate())
- {
- doUpdate();
- }
- }
-
- private function logVersion():void
- {
- if (!loggedVersion)
- {
- //Current version
- var applicationDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor;
- var xmlns:Namespace = new Namespace(applicationDescriptor.namespace());
- var currentVersion:String = applicationDescriptor.xmlns::versionNumber.toString();
-
- // Log the Installer version to help with any support issues that arise.
- log("Installer version " + currentVersion + " (" + _os.os + ")", 0);
- loggedVersion = true;
- }
- }
-
- protected function shouldUpdate():Boolean
- {
- var shouldUpdate:Boolean = false;
- //Current version
- var applicationDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor;
- var xmlns:Namespace = new Namespace(applicationDescriptor.namespace());
- var currentVersion:String = applicationDescriptor.xmlns::versionNumber.toString();
-
- logVersion();
-
- var availBuildNumbers:Array = _latestVersion.split(".");
- var currentBuildNumbers:Array = currentVersion.split(".");
-
- if (parseInt(availBuildNumbers[0]) > parseInt(currentBuildNumbers[0]))
- {
- return true;
- }
- else if (parseInt(availBuildNumbers[0]) == parseInt(currentBuildNumbers[0]))
- {
- if (parseInt(availBuildNumbers[1]) > parseInt(currentBuildNumbers[1]))
- {
- return true;
- }
- else if (parseInt(availBuildNumbers[1]) == parseInt(currentBuildNumbers[1]))
- {
- if (parseInt(availBuildNumbers[2]) > parseInt(currentBuildNumbers[2]))
- {
- return true;
- }
- }
- }
- return false;
-
- }
-
- protected function doUpdate():void
- {
- var updaterDialog:UpdaterDialog = UpdaterDialog(PopUpManager.createPopUp(this, UpdaterDialog, true));
- updaterDialog.addEventListener("close", handleUpdaterDialogClose);
- updaterDialog.latestVersion = _latestVersion;
- PopUpManager.centerPopUp(updaterDialog);
- }
-
- protected function handleUpdaterDialogClose(event:Event):void
- {
- PopUpManager.removePopUp(IFlexDisplayObject(event.target));
- }
-
- protected function handleInstallBtnClick(event:MouseEvent):void
- {
- var airVersionID:String = airVersion.selectedItem.versionID;
- var flashVersionID:String = flashPlayerVersion.selectedItem.versionID;
-
- log("SDK version " + APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY);
-
- if (flexVersion.selectedItem.needsAIR)
- {
- if (airVersionID)
- {
- log("AIR version " + airVersionID);
- }
- else
- {
- log("AIR version " + AIR_VERSION);
- }
- }
-
- if (flexVersion.selectedItem.needsFlash)
- {
- if (flashVersionID)
- {
- log("Flash Player version " + flashVersionID);
- }
- else
- {
- log("Flash Player version " + FLASH_PLAYER_VERSION);
- }
- }
-
- if (flexSDKTxtInput.text == "")
- {
- log(_viewResourceConstants.INFO_ENTER_VALID_FLEX_SDK_PATH);
- }
- else
- {
- _langSelect.enabled = false;
- _flexHome = flexSDKTxtInput.text;
- resetInstallStepsActivity();
- addOptionalComponentsToInstallSteps();
- this.currentState = "installState";
- install();
- }
- }
-
- protected function handleZeroStepNextBtnClick(event:MouseEvent):void
- {
- directoryBtn.enabled = false;
-
- AIR_VERSION = airVersion.selectedItem.version;
- var airVersionID:String = airVersion.selectedItem.versionID;
- FLASH_PLAYER_VERSION = flashPlayerVersion.selectedItem.version;
- var flashVersionID:String = flashPlayerVersion.selectedItem.versionID;
-
- setXMLVariables(); // as AIR and Flash version may of changed
-
- if (!legacy)
- {
- if (newSDKSelected)
- {
- var req:URLRequest = new URLRequest(APACHE_FLEX_BIN_INSTALLER_URL);
- loader = new ApacheURLLoader();
- loader.dataFormat = URLLoaderDataFormat.TEXT;
- loader.addEventListener(Event.COMPLETE, handleInstallerXMLLoaded);
- loader.addEventListener(ErrorEvent.ERROR, handleInstallerXMLError);
- loader.addEventListener(IOErrorEvent.IO_ERROR, handleInstallerXMLError);
-
- loader.load(req);
- }
- }
- else
- {
- showDirectoryState();
- }
- }
-
- protected function handleFirstStepBackBtnClick(event:MouseEvent):void
- {
- showDefaultState();
- }
-
- protected function handleSecondStepBackBtnClick(event:MouseEvent):void
- {
- showDirectoryState();
- }
-
- protected function handleFirstStepNextBtnClick(event:MouseEvent):void
- {
- // Quick check to see if the selected directory is writable
- try
- {
- var f:File = new File(_flexHome + File.separator + "flex.txt");
- checkDirWritable(f);
- }
- catch (e:Error)
- {
- log(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY);
- flexSDKTxtInput.errorString = _viewResourceConstants.ERROR_DIR_REQUIRE_ADMIN_RIGHTS;
- flexSDKTxtInput.prompt = _viewResourceConstants.ERROR_DIR_REQUIRE_ADMIN_RIGHTS;
- updateActivityStep(_viewResourceConstants.STEP_CREATE_DIRECTORIES, StepItem.ERROR);
- return;
- }
-
- showOptionsState();
- }
-
- protected function handleInstallerXMLLoaded(event:Event):void
- {
- var data:XML = XML(event.target.data);
- var localeList:Array = resourceManager.localeChain;
- _installerComponentsDataProvider = new ArrayCollection();
- compList = data.component.copy();
- for each (var comp:XML in compList)
- {
- var vo:InstallerComponentVO = new InstallerComponentVO(getLocalizedString(comp, "label"),
- getLocalizedString(comp, "message"), getLocalizedString(comp, "license"),
- getLocalizedString(comp, "licenseURL"),
- comp.@id.toString(), comp.@required.toString() == "true");
- licensePropertyMap[comp.@property.toString()] = vo;
- _installerComponentsDataProvider.addItem(vo);
- }
- usingXML = true;
- // progressLabels = data.progressLabels[0];
- installStepsData = data.steps.step;
- var strings:XMLList = data.strings.string;
- for each (var x:XML in strings)
- {
- var id:String = x.@id.toString();
- if (id in _viewResourceConstants)
- {
- var val:String = getLocalizedString(x, null);
- _viewResourceConstants[id] = val;
- var pce:PropertyChangeEvent = PropertyChangeEvent.createUpdateEvent(this, id, "", val);
- _viewResourceConstants.dispatchEvent(pce);
- }
- }
- var props:XMLList = data.properties.property;
- for each (x in props)
- {
- additionalProps[x.@name.toString()] = x.@value.toString();
- }
- currentState = "directoryState";
- }
-
- private function getLocalizedString(xml:XML, propName:String):String
- {
- var compBundle:XMLList;
- for each (var locale:String in resourceManager.localeChain)
- {
- compBundle = xml[locale];
- if (compBundle.length() == 1)
- {
- if (propName)
- {
- var xmlList:XMLList = compBundle[0][propName];
- if (xmlList.length() == 1)
- {
- return xmlList[0].toString();
- }
- }
- else
- {
- var s:String = compBundle[0].toString();
- if (s.length > 0)
- {
- return s;
- }
- }
- }
- }
- return "";
- }
-
- protected function handleInstallerXMLError(event:Event):void
- {
- log("Unable to load " + APACHE_FLEX_BIN_INSTALLER_URL);
- abortInstallation("Unable to load " + APACHE_FLEX_BIN_INSTALLER_URL);
- }
-
- protected function showDefaultState():void
- {
- zeroStepGroup.visible = true;
- directoryBtn.enabled = true;
- currentState = "default";
- }
-
- protected function showDirectoryState():void
- {
- initiateInstallStepsActivity();
- if (currentState != "optionsState")
- {
- initializeInstallerComponentsDataProvider();
- }
- currentState = "directoryState";
- }
-
- protected function showOptionsState():void
- {
- currentState = "optionsState";
- checkIfAllRequiredComponentsPromptsAnswered();
- }
-
- protected function initiateInstallStepsActivity():void
- {
- _installationSteps = new ArrayCollection();
-
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_CREATE_DIRECTORIES));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_VERIFY_FLEX_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_UNZIP_FLEX_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_UNZIP_AIR_RUNTIME_KIT));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_INSTALL_CONFIG_FILES));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_SWFOBJECT));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_OSMF));
- }
-
- protected function resetInstallStepsActivity():void
- {
- for each(var step:StepItem in _installationSteps)
- {
- step.status = StepItem.NORMAL;
- }
- }
-
- protected function addOptionalComponentsToInstallSteps():void
- {
- if (usingXML)
- {
- _installationSteps = new ArrayCollection();
-
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_CREATE_DIRECTORIES));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_VERIFY_FLEX_SDK));
- _installationSteps.addItem(new StepItem(_viewResourceConstants.STEP_UNZIP_FLEX_SDK));
-
- for each (var stepData:XML in installStepsData)
- {
- var propName:String = stepData.@property.toString();
- if (!propName || InstallerComponentVO(licensePropertyMap[propName]).selected)
- {
- var si:StepItem = new StepItem(getLocalizedString(stepData, null));
- _installationSteps.addItem(si);
- stepIDs.push(stepData.@id.toString());
- stepLabels.push(si.label);
- }
- }
- return;
- }
- for each (var obj:InstallerComponentVO in _installerComponentsDataProvider)
- {
- if (!obj.required && obj.selected)
- {
- _installationSteps.addItem(new StepItem(obj.label));
- }
- }
- }
-
- protected function initializeInstallerComponentsDataProvider():void
- {
- var versionNum:int = int(APACHE_FLEX_BIN_DISTRO_VERSION.split('.').join(''));
- _installerComponentsDataProvider = new ArrayCollection();
- /**
- * version 4.13.0 of the SDK is when the installer started using the new xml based
- * way of displaying/updating required or optional components of the installer
- */
- if (usingXML && (versionNum >= 4130))
- {
- for each (var comp:XML in compList)
- {
- var vo:InstallerComponentVO = new InstallerComponentVO(getLocalizedString(comp, "label"),
- getLocalizedString(comp, "message"), getLocalizedString(comp, "license"),
- getLocalizedString(comp, "licenseURL"),
- comp.@id.toString(), comp.@required.toString() == "true");
- licensePropertyMap[comp.@property.toString()] = vo;
- _installerComponentsDataProvider.addItem(vo);
- }
- }
- else
- {
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK,
- _viewResourceConstants.ASK_APACHE_FLEX, _viewResourceConstants.LICENSE_APACHE_V2,
- _viewResourceConstants.LICENSE_URL_APACHE_V2,
- "STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK", true));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK,
- _viewResourceConstants.ASK_ADOBE_AIR_SDK,
- _viewResourceConstants.LICENSE_ADOBE_AIR_SDK,
- _viewResourceConstants.LICENSE_URL_ADOBE_AIR_SDK,
- "STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK", true));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC,
- _viewResourceConstants.ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC,
- _viewResourceConstants.LICENSE_ADOBE_SDK,
- _viewResourceConstants.LICENSE_URL_ADOBE_SDK,
- "STEP_REQUIRED_INSTALL_FLASH_PLAYER_GLOBAL_SWC", true));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_SWFOBJECT,
- _viewResourceConstants.ASK_SWFOBJECT,
- _viewResourceConstants.LICENSE_SWFOBJECT,
- _viewResourceConstants.LICENSE_URL_SWFOBJECT,
- "STEP_REQUIRED_INSTALL_SWFOBJECT", true));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_OSMF,
- _viewResourceConstants.ASK_OSMF,
- _viewResourceConstants.LICENSE_OSMF,
- _viewResourceConstants.LICENSE_URL_OSMF,
- "STEP_REQUIRED_INSTALL_OSMF", true));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_OPTIONAL_INSTALL_BLAZEDS,
- _viewResourceConstants.ASK_BLAZEDS,
- _viewResourceConstants.LICENSE_BLAZEDS,
- _viewResourceConstants.LICENSE_URL_BLAZEDS,
- "STEP_OPTIONAL_INSTALL_BLAZEDS", false));
- _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_OPTIONAL_INSTALL_FONTSWF,
- _viewResourceConstants.ASK_FONTSWF,
- _viewResourceConstants.LICENSE_FONTSWF,
- _viewResourceConstants.LICENSE_URL_FONTSWF,
- "STEP_OPTIONAL_INSTALL_FONTSWF", false));
-// _installerComponentsDataProvider.addItem(new InstallerComponentVO(_viewResourceConstants.STEP_REQUIRED_INSTALL_OFL_FONTS,
-// _viewResourceConstants.ASK_OFL_FONTS,
-// _viewResourceConstants.LICENSE_OFL_FONTS,
-// _viewResourceConstants.LICENSE_URL_OFL_FONTS,
-// "STEP_REQUIRED_INSTALL_OFL_FONTS", true));
- }
- }
-
- protected function install():void
- {
- createDirectories();
- }
-
- protected function handleAirVersionChange(event:Event):void
- {
- AIR_VERSION = airVersion.selectedItem.version;
-
- // Match AIR and Flash versions
- if (flashPlayerVersion.selectedIndex != airVersion.selectedIndex)
- {
- flashPlayerVersion.selectedIndex = airVersion.selectedIndex;
- FLASH_PLAYER_VERSION = FLASH_PLAYER_VERSIONS[airVersion.selectedIndex].version;
- }
- }
-
- protected function handleFlashPlayerVersionChange(event:Event):void
- {
- FLASH_PLAYER_VERSION = flashPlayerVersion.selectedItem.version;
-
- // Match AIR and Flash versions
- if (airVersion.selectedIndex != flashPlayerVersion.selectedIndex)
- {
- airVersion.selectedIndex = flashPlayerVersion.selectedIndex;
- AIR_VERSION = AIR_VERSIONS[flashPlayerVersion.selectedIndex].version;
- }
- }
-
- protected function handleFlexVersionChange(event:Event):void
- {
- /*APACHE_FLEX_BIN_DISTRO_VERSION = flexVersion.selectedItem.version;
- APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY = flexVersion.selectedItem.label;*/
- var item:Object = flexVersion.selectedItem;
- airVersion.enabled = item.needsAIR;
- flashPlayerVersion.enabled = item.needsFlash;
- updateFlexVersionStrings(item);
- updatePaths();
- updateWindowTitle();
- InstallApacheFlexSkin(skin).textIcon.source = item.icon;
- }
-
- protected function browseForSDK(event:MouseEvent):void
- {
- var file:File = new File();
-
- file.addEventListener(Event.SELECT, flexSDKDirSelected, false, 0, true);
- file.browseForDirectory(_viewResourceConstants.INFO_SELECT_DIRECTORY);
- }
-
- protected function checkDirWritable(file:File):void
- {
- var ba:ByteArray = new ByteArray();
- ba.writeUTFBytes("1");
- writeFileToDirectory(file, ba);
- file.deleteFile();
- }
-
- protected function flexSDKDirSelected(event:Event):void
- {
- var selectedDir:File = File(event.target);
- var overlay:Boolean = flexVersion.selectedItem.overlay;
-
- // Quick check to see if the selected directory is writable
- try
- {
- var f:File = new File(selectedDir.nativePath + File.separator + "flex.txt");
- checkDirWritable(f);
- }
- catch (e:Error)
- {
- log(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY);
- log(_viewResourceConstants.ERROR_DIR_REQUIRE_ADMIN_RIGHTS);
- flexSDKTxtInput.text = selectedDir.nativePath;
- flexSDKTxtInput.errorString = _viewResourceConstants.ERROR_DIR_REQUIRE_ADMIN_RIGHTS + " : " + selectedDir.nativePath; // tooltip
- flexSDKTxtInput.prompt = _viewResourceConstants.ERROR_DIR_REQUIRE_ADMIN_RIGHTS; // field
- updateActivityStep(_viewResourceConstants.STEP_CREATE_DIRECTORIES, StepItem.ERROR);
- return;
- }
-
- overlaying = overlay;
- if (!overlay)
- {
- if (isDirectoryEmpty(selectedDir))
- {
- _flexHome = selectedDir.nativePath;
- flexSDKTxtInput.text = _flexHome;
- nextBtn.enabled = true;
- _langSelect.enabled = true;
- flexSDKTxtInput.errorString = "";
- flexSDKTxtInput.prompt = _viewResourceConstants.SELECT_PATH_PROMPT;
- }
- else
- {
- nextBtn.enabled = false;
- flexSDKTxtInput.text = selectedDir.nativePath;
- flexSDKTxtInput.errorString = _viewResourceConstants.ERROR_DIR_NOT_EMPTY + " : " + selectedDir.nativePath;
- flexSDKTxtInput.prompt = _viewResourceConstants.ERROR_DIR_NOT_EMPTY;
- }
- }
- else
- {
- _flexHome = selectedDir.nativePath;
- flexSDKTxtInput.text = _flexHome;
- nextBtn.enabled = true;
- _langSelect.enabled = true;
- flexSDKTxtInput.errorString = "";
- flexSDKTxtInput.prompt = _viewResourceConstants.SELECT_PATH_PROMPT;
- }
- }
-
- protected function handleFlexSDXTxtInputChange(event:TextOperationEvent):void
- {
- var tempDir:File;
- var path:String = flexSDKTxtInput.text;
-
- try
- {
- tempDir = new File(path);
-
- if (isDirectoryEmpty(tempDir))
- {
- flexSDKTxtInput.errorString = "";
- _flexHome = path;
- nextBtn.enabled = true;
- _langSelect.enabled = true;
- }
- else
- {
- flexSDKTxtInput.errorString = _viewResourceConstants.ERROR_INVALID_FLEX_SDK_DIRECTORY;
- nextBtn.enabled = false;
- }
- }
- catch (e:Error)
- {
- flexSDKTxtInput.errorString = _viewResourceConstants.ERROR_INVALID_FLEX_SDK_DIRECTORY;
- nextBtn.enabled = false;
- }
- }
-
- protected function createDirectories():void
- {
- updateActivityStep(_viewResourceConstants.STEP_CREATE_DIRECTORIES, StepItem.ACTIVE);
-
- try
- {
- if (!overlaying)
- {
- log(_viewResourceConstants.INFO_CREATING_FLEX_HOME);
- }
- _flexHomeDir = createFolder(_flexHome);
- log(_viewResourceConstants.INFO_CREATING_TEMP_DIR);
- _flexTemp = _flexHome + File.separator + "temp";
- _flexTempDir = createFolder(_flexTemp);
- updateActivityStep(_viewResourceConstants.STEP_CREATE_DIRECTORIES, StepItem.COMPLETE);
- downloadApacheFlexSDK();
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_CREATE_DIRECTORIES, StepItem.ERROR);
- log(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY);
- abortInstallation(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY);
- }
- }
-
- protected function downloadApacheFlexSDK():void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK, StepItem.ACTIVE);
-
- try
- {
- log(_viewResourceConstants.INFO_DOWNLOADING_FLEX_SDK + APACHE_FLEX_BIN_DISTRO_URL);
- _apacheFlexSDKCompressedFile = File.userDirectory.resolvePath(_flexTemp + File.separator + APACHE_FLEX_BIN_DISTRO_FILE);
- copyOrDownload(APACHE_FLEX_BIN_DISTRO_URL, handleApacheFlexSDKDownload, _apacheFlexSDKCompressedFile, handleApacheFlexSDKDownloadError, nocache);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK, StepItem.ERROR);
- log(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY + "(error: " + e.message);
- abortInstallation(_viewResourceConstants.ERROR_UNABLE_TO_CREATE_TEMP_DIRECTORY + "(error: " + e.message);
- }
-
- }
-
- protected function handleApacheFlexSDKDownload(event:Event):void
- {
- try
- {
- writeFileToDirectory(_apacheFlexSDKCompressedFile, event.target.data);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK, StepItem.ERROR);
- abortInstallation("handleApacheFlexSDKDownload " + e.message);
- }
-
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK, StepItem.COMPLETE);
-
- updateActivityStep(_viewResourceConstants.STEP_VERIFY_FLEX_SDK, StepItem.ACTIVE);
-
- log(_viewResourceConstants.STEP_VERIFY_FLEX_SDK);
-
- _md5CompareUtil.addEventListener(ProgressEvent.PROGRESS, md5VerificationProgressHandler);
- _md5CompareUtil.verifyMD5(_apacheFlexSDKCompressedFile, APACHE_FLEX_BIN_DISTRO_PATH + APACHE_FLEX_BIN_DISTRO_FILE, uncompressApacheFlexSDK);
- }
-
- protected function md5VerificationProgressHandler(event:ProgressEvent):void
- {
- if (logProgressEvents)
- {
- log("md5 progress " + event.bytesLoaded + " " + event.bytesTotal, -1, false);
- }
- if (event.bytesTotal > 0)
- {
- progressBar.percent = Math.round((event.bytesLoaded / event.bytesTotal) * 100);
- }
- }
-
- protected function handleApacheFlexSDKDownloadError(event:* = null):void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_APACHE_FLEX_SDK, StepItem.ERROR);
- log(_viewResourceConstants.ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK);
- abortInstallation(_viewResourceConstants.ERROR_UNABLE_TO_DOWNLOAD_FLEX_SDK);
- }
-
- protected function uncompressApacheFlexSDK():void
- {
- if (_md5CompareUtil.validMD5)
- {
- if (!_md5CompareUtil.fileIsVerified)
- {
- updateActivityStep(_viewResourceConstants.STEP_VERIFY_FLEX_SDK, StepItem.ERROR);
-
- log(_viewResourceConstants.ERROR_VERIFY_FLEX_SDK);
-
- abortInstallation(_viewResourceConstants.ERROR_VERIFY_FLEX_SDK);
- return;
- }
- else
- {
- updateActivityStep(_viewResourceConstants.STEP_VERIFY_FLEX_SDK, StepItem.COMPLETE);
- log(_viewResourceConstants.INFO_VERIFY_FLEX_SDK_DONE);
- }
- }
- else
- {
- updateActivityStep(_viewResourceConstants.STEP_VERIFY_FLEX_SDK, StepItem.COMPLETE);
-
- log(_viewResourceConstants.INFO_VERIFY_FLEX_SDK_DONE);
- }
-
- updateActivityStep(_viewResourceConstants.STEP_UNZIP_FLEX_SDK, StepItem.ACTIVE);
-
- try
- {
- log(_viewResourceConstants.INFO_UNZIPPING + _apacheFlexSDKCompressedFile.nativePath);
-
- if (_os.isWindows())
- {
- unzip(_apacheFlexSDKCompressedFile, handleApacheFlexSDKZipFileUnzipComplete, handleApacheFlexSDKZipFileUnzipError);
- }
- else
- {
- untar(_apacheFlexSDKCompressedFile, _flexTempDir, handleApacheFlexSDKZipFileUnzipComplete, handleApacheFlexSDKZipFileUnzipError);
- }
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_UNZIP_FLEX_SDK, StepItem.ERROR);
- abortInstallation(_viewResourceConstants.STEP_UNZIP_FLEX_SDK + " " + e.message);
- }
- }
-
- protected function handleApacheFlexSDKZipFileUnzipComplete(event:Event):void
- {
- log(_viewResourceConstants.INFO_FINISHED_UNZIPPING + _apacheFlexSDKCompressedFile.nativePath);
- updateActivityStep(_viewResourceConstants.STEP_UNZIP_FLEX_SDK, StepItem.COMPLETE);
-
- if (_os.isWindows())
- {
- if (usingXML)
- {
- runInstallerScript();
- }
- else
- {
- downloadAIRRuntimeKitForWindows();
- }
- }
- else
- {
- if (!overlaying)
- {
- /* Copy all files from the unarchived directory to the root */
- var directory:File = _flexTempDir.resolvePath(APACHE_FLEX_BIN_DISTRO_FILE_SHORT);
- var files:Array = directory.getDirectoryListing();
- for each(var file:File in files)
- {
- file.copyTo(_flexHomeDir.resolvePath(file.name));
- }
- }
- if (usingXML)
- {
- runInstallerScript();
- }
- else
- {
- if (_os.isMac())
- {
- downloadAIRRuntimeKitForMac();
- }
- else
- {
- downloadAIRRuntimeKitForLinux();
- }
- }
- }
- }
-
- protected function handleApacheFlexSDKZipFileUnzipError(error:ErrorEvent = null):void
- {
- updateActivityStep(_viewResourceConstants.STEP_UNZIP_FLEX_SDK, StepItem.ERROR);
- abortInstallation(_viewResourceConstants.STEP_UNZIP_FLEX_SDK + " " + error.toString());
- }
-
- protected function runInstallerScript():void
- {
- ant = new Ant();
- ant.output = output;
-
- var file:File;
- if (installOverride != "")
- {
- file = new File(installOverride);
- }
- else if (overlaying)
- {
- var directory:File = _flexTempDir.resolvePath(APACHE_FLEX_BIN_DISTRO_FILE_SHORT);
- if (_os.isWindows())
- {
- file = _flexTempDir.resolvePath("installer.xml");
- }
- else
- {
- file = directory.resolvePath("installer.xml");
- }
- }
- else
- {
- file = _flexHomeDir.resolvePath("installer.xml");
- }
- addEventListener(Event.ENTER_FRAME, enterFrameHandler);
- var context:Object = {installer: true};
- if (usingDownloadCache)
- {
- context["usingDownloadCache"] = usingDownloadCache;
- context["downloadCacheFolder"] = downloadCacheFolder;
- }
- if (configOverride != "")
- {
- context["xml.properties"] = configOverride;
- }
- if (resourceManager.localeChain.length > 1)
- {
- context["bundle"] = resourceManager.localeChain[0];
- }
- for (var p:String in licensePropertyMap)
- {
- if (InstallerComponentVO(licensePropertyMap[p]).selected)
- {
- context[p] = true;
- }
- }
- for (p in additionalProps)
- {
- context[p] = additionalProps[p];
- }
-
- context["air.sdk.version"] = AIR_VERSION;
- if (airVersion.selectedItem.versionID)
- {
- context["air.sdk.versionID"] = airVersion.selectedItem.versionID;
- }
- context["air.sdk.url.path"] = airVersion.selectedItem.path;
- context["air.sdk.url.file"] = airVersion.selectedItem.file;
- context["flash.sdk.version"] = FLASH_PLAYER_VERSION;
- if (flashPlayerVersion.selectedItem.versionID)
- {
- context["flash.sdk.versionID"] = flashPlayerVersion.selectedItem.versionID;
- }
- if (debugMode)
- {
- context["verbose"] = true;
- }
- if (flashPlayerVersion.selectedItem.path)
- {
- context["flash.sdk.url.path"] = flashPlayerVersion.selectedItem.path;
- context["flash.sdk.url.file"] = flashPlayerVersion.selectedItem.file;
- }
-
- if (file.exists && !ant.processXMLFile(file, context, true))
- {
- ant.addEventListener(Event.COMPLETE, completeHandler);
- ant.addEventListener(ProgressEvent.PROGRESS, progressEventHandler);
- }
- else
- {
- completeHandler(null);
- }
- }
-
- private function progressEventHandler(event:ProgressEvent):void
- {
- if (logProgressEvents)
- {
- log("progress " + event.bytesLoaded + " " + event.bytesTotal, -1, false);
- }
- if (event.bytesTotal > 0)
- {
- progressBar.percent = Math.round((event.bytesLoaded / event.bytesTotal) * 100);
- }
- /*
- if (ant.progressClass is Copy)
- {
- progressBar.label = getLocalizedString(progressLabels, "Copy");
- }
- else if (ant.progressClass is Get)
- {
- progressBar.label = getLocalizedString(progressLabels, "Get");
- }
- else if (ant.progressClass is Checksum)
- {
- progressBar.label = getLocalizedString(progressLabels, "Checksum");
- }
- */
- }
-
- private function completeHandler(event:Event):void
- {
- if (Ant.currentAnt && !Ant.currentAnt.project.status)
- {
- var msg:String = Ant.currentAnt.project.failureMessage;
- log(msg ? msg : "no failure message provided");
- if (currentStep > 0)
- {
- updateActivityStep(stepLabels[currentStep - 1], StepItem.ERROR);
- }
- }
- else if (currentStep == stepLabels.length && currentStep > 0)
- {
- updateActivityStep(stepLabels[currentStep - 1], StepItem.COMPLETE);
- }
-
- if (Ant.currentAnt)
- {
- if (Ant.currentAnt.project.status)
- {
- tracker.trackInstallerSuccess(APACHE_FLEX_BIN_DISTRO_VERSION_DISPLAY, APACHE_FLEX_BIN_DISTRO_VERSION, _os.os);
- }
- if (Ant.currentAnt.project.failureMessage)
- {
- cleanup(!Ant.currentAnt.project.status, "&info=" + escape(Ant.currentAnt.project.failureMessage));
- }
- else
- {
- cleanup(!Ant.currentAnt.project.status);
- }
- }
- else
- {
- cleanup();
- }
- }
-
- private var ant:Ant;
-
- private function output(s:String):void
- {
- var isPublic:Boolean = false;
- var skipLog:Boolean = !debugMode;
- if (s.indexOf(":") != -1 && s.charAt(0) == "\n")
- {
- // target output is a newline then the target name then a colon
- if (currentStep < stepLabels.length && "\n" + stepIDs[currentStep] + ":" == s)
- {
- if (currentStep > 0)
- {
- updateActivityStep(stepLabels[currentStep - 1], StepItem.COMPLETE);
- }
- if (currentStep < stepLabels.length)
- {
- updateActivityStep(stepLabels[currentStep++], StepItem.ACTIVE);
- }
- }
- isPublic = false;
- }
- else if (s.indexOf("[echo] ") != -1)
- {
- s = s.substr(s.indexOf("[echo] ") + 7);
- isPublic = true;
- skipLog = false;
- }
- else if (s.indexOf("[fail] ") != -1)
- {
- s = s.substr(s.indexOf("[fail] ") + 7);
- isPublic = true;
- skipLog = false;
- }
- log(s, -1, isPublic, skipLog);
- }
-
- private function enterFrameHandler(event:Event):void
- {
- ant.doCallback();
- }
-
- protected function downloadAIRRuntimeKitForWindows():void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ACTIVE);
-
- try
- {
- log(_viewResourceConstants.INFO_DOWNLOADING_AIR_RUNTIME_KIT_WINDOWS + ADOBE_AIR_SDK_WIN_URL);
- _adobeAIRSDKZipFile = File.userDirectory.resolvePath(_flexTemp + File.separator + ADOBE_AIR_SDK_WIN_FILE);
- copyOrDownload(ADOBE_AIR_SDK_WIN_URL, handleAIRSDKDownload, _adobeAIRSDKZipFile, handleAIRSDKDownloadError);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ERROR);
- abortInstallation();
- }
- }
-
- protected function downloadAIRRuntimeKitForMac():void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ACTIVE);
-
- try
- {
- log(_viewResourceConstants.INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC + ADOBE_AIR_SDK_MAC_URL);
- _adobeAIRSDKZipFile = File.userDirectory.resolvePath(_flexTemp + File.separator + ADOBE_AIR_SDK_MAC_FILE);
- copyOrDownload(ADOBE_AIR_SDK_MAC_URL, handleAIRSDKDownload, _adobeAIRSDKZipFile, handleAIRSDKDownloadError);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ERROR);
- abortInstallation();
- }
- }
-
- protected function downloadAIRRuntimeKitForLinux():void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ACTIVE);
-
- try
- {
- log(_viewResourceConstants.INFO_DOWNLOADING_AIR_RUNTIME_KIT_MAC + ADOBE_AIR_SDK_LINUX_URL);
- _adobeAIRSDKZipFile = File.userDirectory.resolvePath(_flexTemp + File.separator + ADOBE_AIR_SDK_LINUX_FILE);
- copyOrDownload(ADOBE_AIR_SDK_LINUX_URL, handleAIRSDKDownload, _adobeAIRSDKZipFile, handleAIRSDKDownloadError);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ERROR);
- abortInstallation();
- }
- }
-
- protected function handleAIRSDKDownload(event:Event):void
- {
- try
- {
- writeFileToDirectory(_adobeAIRSDKZipFile, event.target.data);
- }
- catch (e:Error)
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ERROR);
- abortInstallation();
- }
-
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.COMPLETE);
-
- unzipAdobeAIRSDK();
- }
-
- protected function handleAIRSDKDownloadError(error:* = null):void
- {
- updateActivityStep(_viewResourceConstants.STEP_REQUIRED_INSTALL_ADOBE_AIR_SDK, StepItem.ERROR);
- log(_viewResourceConstants.ERROR_UNABLE_TO_DOWNLOAD_AIR_SDK);
- abortInstallation();
- }
-
- protected function unzipAdobeAIRSDK():void
- {
- updateActivityStep(_viewResourceConstants.STEP_UNZIP_AIR_RUNTIME_KIT, StepItem.ACTIVE);
-
- try
- {
-
<TRUNCATED>
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/installer/src/assets/icons/114.png
----------------------------------------------------------------------
diff --git a/installer/src/assets/icons/114.png b/installer/src/assets/icons/114.png
deleted file mode 100644
index 8f59da9..0000000
Binary files a/installer/src/assets/icons/114.png and /dev/null differ