http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/128.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/128.png b/flex-installer/installer/src/assets/icons/128.png new file mode 100644 index 0000000..d877799 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/128.png differ
http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/16.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/16.png b/flex-installer/installer/src/assets/icons/16.png new file mode 100644 index 0000000..208e004 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/16.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/29.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/29.png b/flex-installer/installer/src/assets/icons/29.png new file mode 100644 index 0000000..7a6e4d5 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/29.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/32.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/32.png b/flex-installer/installer/src/assets/icons/32.png new file mode 100644 index 0000000..36285c3 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/32.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/36.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/36.png b/flex-installer/installer/src/assets/icons/36.png new file mode 100644 index 0000000..953bc17 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/36.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/48.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/48.png b/flex-installer/installer/src/assets/icons/48.png new file mode 100644 index 0000000..3136fb8 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/48.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/512.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/512.png b/flex-installer/installer/src/assets/icons/512.png new file mode 100644 index 0000000..4732634 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/512.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/57.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/57.png b/flex-installer/installer/src/assets/icons/57.png new file mode 100644 index 0000000..67ffa9a Binary files /dev/null and b/flex-installer/installer/src/assets/icons/57.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/72.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/72.png b/flex-installer/installer/src/assets/icons/72.png new file mode 100644 index 0000000..ee03839 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/72.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/ApacheFlexLogo_fullcolor_wb.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/ApacheFlexLogo_fullcolor_wb.png b/flex-installer/installer/src/assets/icons/ApacheFlexLogo_fullcolor_wb.png new file mode 100644 index 0000000..4ff037f Binary files /dev/null and b/flex-installer/installer/src/assets/icons/ApacheFlexLogo_fullcolor_wb.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/Flexicon.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/Flexicon.png b/flex-installer/installer/src/assets/icons/Flexicon.png new file mode 100644 index 0000000..e88d65e Binary files /dev/null and b/flex-installer/installer/src/assets/icons/Flexicon.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/apache_flex_badge_icon.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/apache_flex_badge_icon.png b/flex-installer/installer/src/assets/icons/apache_flex_badge_icon.png new file mode 100644 index 0000000..fee7e29 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/apache_flex_badge_icon.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/apache_flex_logo_text.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/apache_flex_logo_text.png b/flex-installer/installer/src/assets/icons/apache_flex_logo_text.png new file mode 100644 index 0000000..524b388 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/apache_flex_logo_text.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/apache_flexfalcon_logo_text.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/apache_flexfalcon_logo_text.png b/flex-installer/installer/src/assets/icons/apache_flexfalcon_logo_text.png new file mode 100644 index 0000000..b68be0d Binary files /dev/null and b/flex-installer/installer/src/assets/icons/apache_flexfalcon_logo_text.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/apache_flexjs_logo_text.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/apache_flexjs_logo_text.png b/flex-installer/installer/src/assets/icons/apache_flexjs_logo_text.png new file mode 100644 index 0000000..bd5e23a Binary files /dev/null and b/flex-installer/installer/src/assets/icons/apache_flexjs_logo_text.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/bg_logo.png ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/bg_logo.png b/flex-installer/installer/src/assets/icons/bg_logo.png new file mode 100644 index 0000000..8f28c63 Binary files /dev/null and b/flex-installer/installer/src/assets/icons/bg_logo.png differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/icons/favicon.ico ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/icons/favicon.ico b/flex-installer/installer/src/assets/icons/favicon.ico new file mode 100644 index 0000000..4dd437a Binary files /dev/null and b/flex-installer/installer/src/assets/icons/favicon.ico differ http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/assets/styles/InstallApacheFlexStyle.css ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/assets/styles/InstallApacheFlexStyle.css b/flex-installer/installer/src/assets/styles/InstallApacheFlexStyle.css new file mode 100644 index 0000000..eeb5436 --- /dev/null +++ b/flex-installer/installer/src/assets/styles/InstallApacheFlexStyle.css @@ -0,0 +1,80 @@ +/* + +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. + +*/ +@namespace s "library://ns.adobe.com/flex/spark"; +@namespace mx "library://ns.adobe.com/flex/mx"; +@namespace st "ws.tink.spark.controls.*"; + +@font-face { + src: url("/assets/fonts/open-sans/OpenSans-SemiboldItalic.ttf"); + fontFamily: openSansSemibold; + advancedAntiAliasing: true; + fontStyle:italic; +} + +st|StepRenderer st|ActivityIndicator +{ + skinClass : ClassReference("ws.tink.spark.skins.controls.StepActivityIndicatorSkin"); +} + +st|StepRenderer st|ActivityIndicator st|Rotator +{ + skinClass : ClassReference("ws.tink.spark.skins.controls.StepRotatorSkin"); +} + +st|StepRenderer +{ + color : #FFFFFF; + activeColor : #FFFFFF; + errorColor : #B20E13; + completeColor : #679d13; + borderColor : #BFBFBF; +} + +st|ProgressBar +{ + skinClass : ClassReference("ws.tink.spark.skins.controls.ProgressBarSkin"); + chromeColor : #1275a4; +} + +s|TextInput +{ + fontFamily : openSansSemibold; + fontSize : 13; + color : #757575; + skinClass : ClassReference("ws.tink.spark.skins.controls.TextInputSkin"); + borderColor : #BFBFBF; +} + +s|TextInput:normalWithPrompt, +s|TextInput:disabledWithPrompt +{ + color: #BBBBBB; +} + +s|Label.linkText { + color: #0000FF; + verticalAlign: middle; + textDecoration: none; +} + +s|Label.linkTextHover { + color: #0000FF; + verticalAlign: middle; + textDecoration: underline; +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/NativeApplicationUpdater.as ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/NativeApplicationUpdater.as b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/NativeApplicationUpdater.as new file mode 100644 index 0000000..b405aa7 --- /dev/null +++ b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/NativeApplicationUpdater.as @@ -0,0 +1,581 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package com.riaspace.nativeApplicationUpdater +{ + import air.update.events.DownloadErrorEvent; + import air.update.events.StatusUpdateErrorEvent; + import air.update.events.StatusUpdateEvent; + import air.update.events.UpdateEvent; + + import com.riaspace.nativeApplicationUpdater.utils.HdiutilHelper; + + import flash.desktop.NativeApplication; + import flash.desktop.NativeProcess; + import flash.desktop.NativeProcessStartupInfo; + import flash.events.ErrorEvent; + import flash.events.Event; + import flash.events.EventDispatcher; + import flash.events.IOErrorEvent; + import flash.events.ProgressEvent; + import flash.filesystem.File; + import flash.filesystem.FileMode; + import flash.filesystem.FileStream; + import flash.net.URLLoader; + import flash.net.URLRequest; + import flash.net.URLStream; + import flash.system.Capabilities; + import flash.utils.ByteArray; + import flash.utils.setTimeout; + + [Event(name="initialized", type="air.update.events.UpdateEvent")] + [Event(name="checkForUpdate", type="air.update.events.UpdateEvent")] + [Event(name="updateStatus",type="air.update.events.StatusUpdateEvent")] + [Event(name="updateError",type="air.update.events.StatusUpdateErrorEvent")] + [Event(name="downloadStart",type="air.update.events.UpdateEvent")] + [Event(name="downloadError",type="air.update.events.DownloadErrorEvent")] + [Event(name="downloadComplete",type="air.update.events.UpdateEvent")] + [Event(name="progress",type="flash.events.ProgressEvent")] + [Event(name="error",type="flash.events.ErrorEvent")] + + public class NativeApplicationUpdater extends EventDispatcher + { + + namespace UPDATE_XMLNS_1_0 = "http://ns.riaspace.com/air/framework/update/description/1.0"; + + namespace UPDATE_XMLNS_1_1 = "http://ns.riaspace.com/air/framework/update/description/1.1"; + + /** + * The updater has not been initialized. + **/ + public static const UNINITIALIZED:String = "UNINITIALIZED"; + + /** + * The updater is initializing. + **/ + public static const INITIALIZING:String = "INITIALIZING"; + + /** + * The updater has been initialized. + **/ + public static const READY:String = "READY"; + + /** + * The updater has not yet checked for the update descriptor file. + **/ + public static const BEFORE_CHECKING:String = "BEFORE_CHECKING"; + + /** + * The updater is checking for an update descriptor file. + **/ + public static const CHECKING:String = "CHECKING"; + + /** + * The update descriptor file is available. + **/ + public static const AVAILABLE:String = "AVAILABLE"; + + /** + * The updater is downloading the AIR file. + **/ + public static const DOWNLOADING:String = "DOWNLOADING"; + + /** + * The updater has downloaded the AIR file. + **/ + public static const DOWNLOADED:String = "DOWNLOADED"; + + /** + * The updater is installing the AIR file. + **/ + public static const INSTALLING:String = "INSTALLING"; + + [Bindable] + public var updateURL:String; + + protected var _isNewerVersionFunction:Function; + + protected var _updateDescriptor:XML; + + protected var _updateVersion:String; + + protected var _updatePackageURL:String; + + protected var _updateDescription:String; + + protected var _currentVersion:String; + + protected var _downloadedFile:File; + + protected var _installerType:String; + + protected var _currentState:String = UNINITIALIZED; + + protected var updateDescriptorLoader:URLLoader; + + protected var os:String = Capabilities.os.toLowerCase(); + + protected var urlStream:URLStream; + + protected var fileStream:FileStream; + + public function NativeApplicationUpdater() + { + } + + public function initialize():void + { + if (currentState == UNINITIALIZED) + { + currentState = INITIALIZING; + + var applicationDescriptor:XML = NativeApplication.nativeApplication.applicationDescriptor; + var xmlns:Namespace = new Namespace(applicationDescriptor.namespace()); + + if (xmlns.uri == "http://ns.adobe.com/air/application/2.0") + currentVersion = applicationDescriptor.xmlns::version; + else + currentVersion = applicationDescriptor.xmlns::versionNumber; + + if (os.indexOf("win") > -1) + { + installerType = "exe"; + } + else if (os.indexOf("mac") > -1) + { + installerType = "dmg"; + } + else if (os.indexOf("linux") > -1) + { + if ((new File("/usr/bin/dpkg")).exists) + installerType = "deb"; + else + installerType = "rpm"; + } + else + { + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, "Not supported os type!", UpdaterErrorCodes.ERROR_9000)); + } + + currentState = READY; + dispatchEvent(new UpdateEvent(UpdateEvent.INITIALIZED)); + } + } + + public function checkNow():void + { + if (currentState == READY) + { + currentState = BEFORE_CHECKING; + + var checkForUpdateEvent:UpdateEvent = new UpdateEvent(UpdateEvent.CHECK_FOR_UPDATE, false, true); + dispatchEvent(checkForUpdateEvent); + + if (!checkForUpdateEvent.isDefaultPrevented()) + { + addEventListener(StatusUpdateEvent.UPDATE_STATUS, + function(event:StatusUpdateEvent):void + { + if (event.available && !event.isDefaultPrevented()) + downloadUpdate(); + }); + addEventListener(UpdateEvent.DOWNLOAD_COMPLETE, + function(event:UpdateEvent):void + { + if (!event.isDefaultPrevented()) + installUpdate(); + }); + + checkForUpdate(); + } + } + } + + /** + * ------------------------------------ CHECK FOR UPDATE SECTION ------------------------------------- + */ + + /** + * Checks for update, this can be runned only in situation when UpdateEvent.CHECK_FOR_UPDATE was cancelled. + */ + public function checkForUpdate():void + { + if (currentState == BEFORE_CHECKING) + { + currentState = CHECKING; + + updateDescriptorLoader = new URLLoader(); + updateDescriptorLoader.addEventListener(Event.COMPLETE, updateDescriptorLoader_completeHandler); + updateDescriptorLoader.addEventListener(IOErrorEvent.IO_ERROR, updateDescriptorLoader_ioErrorHandler); + try + { + updateDescriptorLoader.load(new URLRequest(updateURL)); + } + catch(error:Error) + { + dispatchEvent(new StatusUpdateErrorEvent(StatusUpdateErrorEvent.UPDATE_ERROR, false, false, + "Error downloading update descriptor file: " + error.message, + UpdaterErrorCodes.ERROR_9002, error.errorID)); + } + } + } + + protected function updateDescriptorLoader_completeHandler(event:Event):void + { + updateDescriptorLoader.removeEventListener(Event.COMPLETE, updateDescriptorLoader_completeHandler); + updateDescriptorLoader.removeEventListener(IOErrorEvent.IO_ERROR, updateDescriptorLoader_ioErrorHandler); + updateDescriptorLoader.close(); + + updateDescriptor = new XML(updateDescriptorLoader.data); + + if (updateDescriptor.namespace() == UPDATE_XMLNS_1_0) + { + updateVersion = updateDescriptor.UPDATE_XMLNS_1_0::version; + updateDescription = updateDescriptor.UPDATE_XMLNS_1_0::description; + updatePackageURL = updateDescriptor.UPDATE_XMLNS_1_0::urls.UPDATE_XMLNS_1_1::[installerType]; + } + else + { + var typeXml:XMLList = updateDescriptor.UPDATE_XMLNS_1_1::[installerType]; + if (typeXml.length() > 0) + { + updateVersion = typeXml.UPDATE_XMLNS_1_1::version; + updateDescription = typeXml.UPDATE_XMLNS_1_1::description; + updatePackageURL = typeXml.UPDATE_XMLNS_1_1::url; + } + } + + if (!updateVersion || !updatePackageURL) + { + dispatchEvent(new StatusUpdateErrorEvent(StatusUpdateErrorEvent.UPDATE_ERROR, false, false, + "Update package is not defined for current installerType: " + installerType, UpdaterErrorCodes.ERROR_9001)); + return; + } + + currentState = AVAILABLE; + dispatchEvent(new StatusUpdateEvent( + StatusUpdateEvent.UPDATE_STATUS, false, true, + isNewerVersionFunction.call(this, currentVersion, updateVersion), updateVersion)); // TODO: handle last event param with details (description) + } + + protected function updateDescriptorLoader_ioErrorHandler(event:IOErrorEvent):void + { + updateDescriptorLoader.removeEventListener(Event.COMPLETE, updateDescriptorLoader_completeHandler); + updateDescriptorLoader.removeEventListener(IOErrorEvent.IO_ERROR, updateDescriptorLoader_ioErrorHandler); + updateDescriptorLoader.close(); + + dispatchEvent(new StatusUpdateErrorEvent(StatusUpdateErrorEvent.UPDATE_ERROR, false, false, + "IO Error downloading update descriptor file: " + event.text, + UpdaterErrorCodes.ERROR_9003, event.errorID)); + } + + /** + * ------------------------------------ DOWNLOAD UPDATE SECTION ------------------------------------- + */ + + /** + * Starts downloading update. + */ + public function downloadUpdate():void + { + if (currentState == AVAILABLE) + { + var fileName:String = updatePackageURL.substr(updatePackageURL.lastIndexOf("/") + 1); + downloadedFile = File.createTempDirectory().resolvePath(fileName); + + fileStream = new FileStream(); + fileStream.addEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + fileStream.addEventListener(Event.CLOSE, fileStream_closeHandler); + fileStream.openAsync(downloadedFile, FileMode.WRITE); + + urlStream = new URLStream(); + urlStream.addEventListener(Event.OPEN, urlStream_openHandler); + urlStream.addEventListener(ProgressEvent.PROGRESS, urlStream_progressHandler); + urlStream.addEventListener(Event.COMPLETE, urlStream_completeHandler); + urlStream.addEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + + try + { + urlStream.load(new URLRequest(updatePackageURL)); + } + catch(error:Error) + { + dispatchEvent(new DownloadErrorEvent(DownloadErrorEvent.DOWNLOAD_ERROR, false, false, + "Error downloading update file: " + error.message, UpdaterErrorCodes.ERROR_9004, error.message)); + } + } + } + + protected function urlStream_openHandler(event:Event):void + { + currentState = NativeApplicationUpdater.DOWNLOADING; + dispatchEvent(new UpdateEvent(UpdateEvent.DOWNLOAD_START)); + } + + protected function fileStream_closeHandler(event:Event):void + { + fileStream.removeEventListener(Event.CLOSE, fileStream_closeHandler); + fileStream.removeEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + + currentState = NativeApplicationUpdater.DOWNLOADED; + dispatchEvent(new UpdateEvent(UpdateEvent.DOWNLOAD_COMPLETE, false, true)); + } + + protected function urlStream_progressHandler(event:ProgressEvent):void + { + var bytes:ByteArray = new ByteArray(); + urlStream.readBytes(bytes); + fileStream.writeBytes(bytes); + dispatchEvent(event); + } + + protected function urlStream_completeHandler(event:Event):void + { + urlStream.removeEventListener(Event.OPEN, urlStream_openHandler); + urlStream.removeEventListener(ProgressEvent.PROGRESS, urlStream_progressHandler); + urlStream.removeEventListener(Event.COMPLETE, urlStream_completeHandler); + urlStream.removeEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + urlStream.close(); + + fileStream.close(); + } + + protected function urlStream_ioErrorHandler(event:IOErrorEvent):void + { + fileStream.removeEventListener(Event.CLOSE, fileStream_closeHandler); + fileStream.removeEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + fileStream.close(); + + urlStream.removeEventListener(Event.OPEN, urlStream_openHandler); + urlStream.removeEventListener(ProgressEvent.PROGRESS, urlStream_progressHandler); + urlStream.removeEventListener(Event.COMPLETE, urlStream_completeHandler); + urlStream.removeEventListener(IOErrorEvent.IO_ERROR, urlStream_ioErrorHandler); + urlStream.close(); + + dispatchEvent(new DownloadErrorEvent(DownloadErrorEvent.DOWNLOAD_ERROR, false, false, + "Error downloading update file: " + event.text, UpdaterErrorCodes.ERROR_9005, event.errorID)); + } + + /** + * ------------------------------------ INSTALL UPDATE SECTION ------------------------------------- + */ + + /** + * Installs downloaded update + */ + public function installUpdate():void + { + if (currentState == DOWNLOADED) + { + if (os.indexOf("win") > -1) + { + installFromFile(downloadedFile); + } + else if (os.indexOf("mac") > -1) + { + var hdiutilHelper:HdiutilHelper = new HdiutilHelper(downloadedFile); + hdiutilHelper.addEventListener(Event.COMPLETE, hdiutilHelper_completeHandler); + hdiutilHelper.addEventListener(ErrorEvent.ERROR, hdiutilHelper_errorHandler); + hdiutilHelper.attach(); + } + else if (os.indexOf("linux") > -1) + { + installFromFile(downloadedFile); + } + } + } + + private function hdiutilHelper_errorHandler(event:ErrorEvent):void + { + var hdiutilHelper:HdiutilHelper = event.target as HdiutilHelper; + hdiutilHelper.removeEventListener(Event.COMPLETE, hdiutilHelper_completeHandler); + hdiutilHelper.removeEventListener(ErrorEvent.ERROR, hdiutilHelper_errorHandler); + + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, + "Error attaching dmg file!", UpdaterErrorCodes.ERROR_9008)); + } + + private function hdiutilHelper_completeHandler(event:Event):void + { + var hdiutilHelper:HdiutilHelper = event.target as HdiutilHelper; + hdiutilHelper.removeEventListener(Event.COMPLETE, hdiutilHelper_completeHandler); + hdiutilHelper.removeEventListener(ErrorEvent.ERROR, hdiutilHelper_errorHandler); + + var attachedDmg:File = new File(hdiutilHelper.mountPoint); + var files:Array = attachedDmg.getDirectoryListing(); + + if (files.length == 1) + { + var installFileFolder:File = File(files[0]).resolvePath("Contents/MacOS"); + var installFiles:Array = installFileFolder.getDirectoryListing(); + + if (installFiles.length == 1) + installFromFile(installFiles[0]); + else + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, + "Contents/MacOS folder should contain only 1 install file!", UpdaterErrorCodes.ERROR_9006)); + } + else + { + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, + "Mounted volume should contain only 1 install file!", UpdaterErrorCodes.ERROR_9007)); + } + } + + protected function installFromFile(updateFile:File):void + { + var beforeInstallEvent:UpdateEvent = new UpdateEvent(UpdateEvent.BEFORE_INSTALL, false, true); + dispatchEvent(beforeInstallEvent); + + if (!beforeInstallEvent.isDefaultPrevented()) + { + currentState = INSTALLING; + + if (os.indexOf("linux") > -1) + { + updateFile.openWithDefaultApplication(); + } + else + { + var info:NativeProcessStartupInfo = new NativeProcessStartupInfo(); + var cmdExe:File = (os.indexOf("win") > -1) ? new File("C:\\Windows\\System32\\cmd.exe") : null; + if (cmdExe && cmdExe.exists) + { + var args:Vector.<String> = new Vector.<String>(); + args.push("/c", updateFile.nativePath); + + info.executable = cmdExe; + info.arguments = args; + } + else + { + info.executable = updateFile; + } + + var installProcess:NativeProcess = new NativeProcess(); + installProcess.start(info); + } + + setTimeout(NativeApplication.nativeApplication.exit, 200); + } + } + + [Bindable] + public function get currentVersion():String + { + return _currentVersion; + } + + protected function set currentVersion(value:String):void + { + _currentVersion = value; + } + + [Bindable] + public function get updateVersion():String + { + return _updateVersion; + } + + protected function set updateVersion(value:String):void + { + _updateVersion = value; + } + + [Bindable] + public function get updateDescriptor():XML + { + return _updateDescriptor; + } + + protected function set updateDescriptor(value:XML):void + { + _updateDescriptor = value; + } + + [Bindable] + public function get currentState():String + { + return _currentState; + } + + protected function set currentState(value:String):void + { + _currentState = value; + } + + [Bindable] + public function get downloadedFile():File + { + return _downloadedFile; + } + + protected function set downloadedFile(value:File):void + { + _downloadedFile = value; + } + + [Bindable] + public function get isNewerVersionFunction():Function + { + if (_isNewerVersionFunction != null) + return _isNewerVersionFunction; + else + return function(currentVersion:String, updateVersion:String):Boolean { return currentVersion != updateVersion}; + } + + public function set isNewerVersionFunction(value:Function):void + { + _isNewerVersionFunction = value; + } + + [Bindable] + public function get installerType():String + { + return _installerType; + } + + protected function set installerType(value:String):void + { + _installerType = value; + } + + [Bindable] + public function get updatePackageURL():String + { + return _updatePackageURL; + } + + protected function set updatePackageURL(value:String):void + { + _updatePackageURL = value; + } + + [Bindable] + public function get updateDescription():String + { + return _updateDescription; + } + + protected function set updateDescription(value:String):void + { + _updateDescription = value; + } + } +} http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/UpdaterErrorCodes.as ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/UpdaterErrorCodes.as b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/UpdaterErrorCodes.as new file mode 100644 index 0000000..5dd0cc6 --- /dev/null +++ b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/UpdaterErrorCodes.as @@ -0,0 +1,70 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package com.riaspace.nativeApplicationUpdater +{ + public class UpdaterErrorCodes + { + /** + * Not supported os type. + */ + public static const ERROR_9000:uint = 9000; + + /** + * Update package is not defined for current installerType. + */ + public static const ERROR_9001:uint = 9001; + + /** + * Error downloading update descriptor file. + */ + public static const ERROR_9002:uint = 9002; + + /** + * IO Error downloading update descriptor file. + */ + public static const ERROR_9003:uint = 9003; + + /** + * Error downloading update file. + */ + public static const ERROR_9004:uint = 9004; + + /** + * Error downloading update file. + */ + public static const ERROR_9005:uint = 9005; + + /** + * Contents/MacOS folder should contain only 1 install file. + */ + public static const ERROR_9006:uint = 9006; + + /** + * Mounted volume should contain only 1 install file. + */ + public static const ERROR_9007:uint = 9007; + + /** + * Error attaching dmg file. + */ + public static const ERROR_9008:uint = 9008; + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/utils/HdiutilHelper.as ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/utils/HdiutilHelper.as b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/utils/HdiutilHelper.as new file mode 100644 index 0000000..d6a9608 --- /dev/null +++ b/flex-installer/installer/src/com/riaspace/nativeApplicationUpdater/utils/HdiutilHelper.as @@ -0,0 +1,117 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +package com.riaspace.nativeApplicationUpdater.utils +{ + import flash.desktop.NativeProcess; + import flash.desktop.NativeProcessStartupInfo; + import flash.events.ErrorEvent; + import flash.events.Event; + import flash.events.EventDispatcher; + import flash.events.IOErrorEvent; + import flash.events.ProgressEvent; + import flash.filesystem.File; + + [Event(name="complete",type="flash.events.Event")] + [Event(name="error",type="flash.events.ErrorEvent")] + + public class HdiutilHelper extends EventDispatcher + { + private var dmg:File; + + private var result:Function; + + private var error:Function; + + private var hdiutilProcess:NativeProcess; + + public var mountPoint:String; + + public function HdiutilHelper(dmg:File) + { + this.dmg = dmg; + this.result = result; + this.error = error; + } + + public function attach():void + { + var info:NativeProcessStartupInfo = new NativeProcessStartupInfo(); + info.executable = new File("/usr/bin/hdiutil"); + + var args:Vector.<String> = new Vector.<String>(); + args.push("attach", "-plist", dmg.nativePath); + info.arguments = args; + + hdiutilProcess = new NativeProcess(); + hdiutilProcess.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, hdiutilProcess_errorHandler); + hdiutilProcess.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, hdiutilProcess_errorHandler); + hdiutilProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, hdiutilProcess_outputHandler); + hdiutilProcess.start(info); + } + + private function hdiutilProcess_outputHandler(event:ProgressEvent):void + { + hdiutilProcess.removeEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, hdiutilProcess_errorHandler); + hdiutilProcess.removeEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, hdiutilProcess_errorHandler); + hdiutilProcess.removeEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, hdiutilProcess_outputHandler); + hdiutilProcess.exit(); + + // Storing current XML settings + var xmlSettings:Object = XML.settings(); + // Setting required custom XML settings + XML.setSettings( + { + ignoreWhitespace : true, + ignoreProcessingInstructions : true, + ignoreComments : true, + prettyPrinting : false + }); + + var plist:XML = new XML(hdiutilProcess.standardOutput.readUTFBytes(event.bytesLoaded)); + var dicts:XMLList = plist.dict.array.dict; + + // INFO: for some reason E4X didn't work + for each(var dict:XML in dicts) + { + for each(var element:XML in dict.elements()) + { + if (element.name() == "key" && element.text() == "mount-point") + { + mountPoint = dict.child(element.childIndex() + 1); + break; + } + } + } + + // Reverting back original XML settings + XML.setSettings(xmlSettings); + + if (mountPoint) + dispatchEvent(new Event(Event.COMPLETE)); + else + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, "Couldn't find mount point!")); + } + + private function hdiutilProcess_errorHandler(event:IOErrorEvent):void + { + dispatchEvent(new ErrorEvent(ErrorEvent.ERROR, false, false, event.text, event.errorID)); + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/installer/sdk-installer-config-3.0.xml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/installer/sdk-installer-config-3.0.xml b/flex-installer/installer/src/installer/sdk-installer-config-3.0.xml new file mode 100644 index 0000000..7038970 --- /dev/null +++ b/flex-installer/installer/src/installer/sdk-installer-config-3.0.xml @@ -0,0 +1,112 @@ +<?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="flex/installer/2.6/binaries/" file="apache-flex-sdk-installer-2.6.0-bin" /> + + <!-- Mirror URL CGI --> + <file name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/> + + <file name="FlexVersions" versions="4.10.0,4.9.1,Nightly (dev use only),4.11.0 RC1 (dev use only)" default="4.10.0" /> + + <!-- Apache Flex binary distribution + Notes: + - path is relative to mirror URL; don't use starting slash + - use http based url if you want to use an absolute url instead of mirror + - remove the extension from the file name --> + <file name="4.11.0 RC1 (dev use only)" path="https://dist.apache.org/repos/dist/dev/flex/sdk/4.11.0/rc1/binaries/" file="apache-flex-sdk-4.11.0-bin"/> + <file name="4.10.0" path="flex/4.10.0/binaries/" file="apache-flex-sdk-4.10.0-bin"/> + <file name="4.9.1" path="flex/4.9.1/binaries/" file="apache-flex-sdk-4.9.1-bin"/> + <file name="Nightly (dev use only)" path="https://builds.apache.org/job/flex-sdk_release/lastSuccessfulBuild/artifact/out/" file="apache-flex-sdk-4.11.0-bin" /> + + <!-- All the versions! --> + <file name="Versions" airVersions="3.9,3.8,3.7,3.6,3.5,3.4,3.3,3.2,3.1,3.0,2.7,2.6" flashPlayerVersions="11.9,11.8,11.7,11.6,11.5,11.4,11.3,11.2,11.1,11.0,10.3,10.2" airDefault="3.8" flashPlayerDefault="11.8" /> + + <!-- 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" label="tested"/> + <file name="AdobeAIRSDKWin3.8" path="http://airdownload.adobe.com/air/win/download/3.8/" file="AdobeAIRSDK.zip" label="tested"/> + <file name="AdobeAIRSDKWin3.9" path="http://airdownload.adobe.com/air/win/download/3.9/" file="AdobeAIRSDK.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" label="tested"/> + <file name="AdobeAIRSDKMac3.8" path="http://airdownload.adobe.com/air/mac/download/3.8/" file="AdobeAIRSDK.tbz2" label="tested"/> + <file name="AdobeAIRSDKMac3.9" path="http://airdownload.adobe.com/air/mac/download/3.9/" file="AdobeAIRSDK.tbz2" /> + + <!-- 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" label="tested"/> + <file name="FlashPlayer11.8" path="http://download.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_8.swc" version="11.8" swfversion="21" label="tested"/> + <file name="FlashPlayer11.9" path="http://download.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_9.swc" version="11.9" swfversion="22" /> + + <!-- 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/cda78507/flex-installer/installer/src/installer/sdk-installer-config-3.1.xml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/installer/sdk-installer-config-3.1.xml b/flex-installer/installer/src/installer/sdk-installer-config-3.1.xml new file mode 100644 index 0000000..21429ab --- /dev/null +++ b/flex-installer/installer/src/installer/sdk-installer-config-3.1.xml @@ -0,0 +1,116 @@ +<?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.7.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="flex/installer/2.6/binaries/" file="apache-flex-sdk-installer-2.6.0-bin" /> + + <!-- Mirror URL CGI --> + <file name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/> + + <file name="FlexVersions" versions="4.11.0,4.10.0,4.9.1,Nightly (dev use only)" default="4.11.0" /> + + <!-- Apache Flex binary distribution + Notes: + - path is relative to mirror URL; don't use starting slash + - use http based url if you want to use an absolute url instead of mirror + - remove the extension from the file name --> + <file name="4.11.0" path="flex/4.11.0/binaries/" file="apache-flex-sdk-4.11.0-bin"/> + <file name="4.10.0" path="flex/4.10.0/binaries/" file="apache-flex-sdk-4.10.0-bin"/> + <file name="4.9.1" path="flex/4.9.1/binaries/" file="apache-flex-sdk-4.9.1-bin"/> + <file name="Nightly (dev use only)" path="https://builds.apache.org/job/flex-sdk_release/lastSuccessfulBuild/artifact/out/" file="apache-flex-sdk-4.11.0-bin" /> + + <!-- All the versions! --> + <file name="Versions" airVersions="3.9,3.8,3.7,3.6,3.5,3.4,3.3,3.2,3.1,3.0,2.7,2.6" flashPlayerVersions="11.9,11.8,11.7,11.6,11.5,11.4,11.3,11.2,11.1,11.0,10.3,10.2" airDefault="3.9" flashPlayerDefault="11.9" /> + + <!-- 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" label="tested"/> + <file name="AdobeAIRSDKWin3.8" path="http://airdownload.adobe.com/air/win/download/3.8/" file="AdobeAIRSDK.zip" label="tested"/> + <file name="AdobeAIRSDKWin3.9" path="http://airdownload.adobe.com/air/win/download/3.9/" file="AdobeAIRSDK.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" label="tested"/> + <file name="AdobeAIRSDKMac3.8" path="http://airdownload.adobe.com/air/mac/download/3.8/" file="AdobeAIRSDK.tbz2" label="tested"/> + <file name="AdobeAIRSDKMac3.9" path="http://airdownload.adobe.com/air/mac/download/3.9/" file="AdobeAIRSDK.tbz2" /> + + <!-- 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" label="tested"/> + <file name="FlashPlayer11.8" path="http://download.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_8.swc" version="11.8" swfversion="21" label="tested"/> + <file name="FlashPlayer11.9" path="http://download.macromedia.com/get/flashplayer/updaters/11/" file="playerglobal11_9.swc" version="11.9" swfversion="22" /> + + <!-- 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"/> + + <!-- For OSMF, we are including the file name along with the url. This is to support the weird url format for OSMF2.0 which forces us to do the same --> + <!-- OSMF 1.x --> + <file name="OSMF_SWC" path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/" file="osmf.swc"/> + + <!-- OSMF 2.0 --> + <file name="OSMF_SWC_2.0" path="osmf.adobe/OSMF%202.0%20Release%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release%20notes%29/" file="OSMF.swc"/> + + </files> +</config> http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/cda78507/flex-installer/installer/src/installer/sdk-installer-config-4.0.xml ---------------------------------------------------------------------- diff --git a/flex-installer/installer/src/installer/sdk-installer-config-4.0.xml b/flex-installer/installer/src/installer/sdk-installer-config-4.0.xml new file mode 100755 index 0000000..6a61056 --- /dev/null +++ b/flex-installer/installer/src/installer/sdk-installer-config-4.0.xml @@ -0,0 +1,420 @@ +<?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. + +--> + +<!-- NOTE: this file format looks like this so it can be parsed by Ant's xmlproperty task. + The basic rule is that there can be no repeat tags as in: + <sometag> + <oneormoreofthistag /> + <oneormoreofthistag /> + </sometag> +--> +<config> + <version> + <latest>3.2.0</latest> + </version> + <languages> + <locale1 id="de_DE" name="Deutsch" path="http://flex.apache.org/installer/properties/de_DE.properties"/> + <locale2 id="en_US" name="English (US)" path="http://flex.apache.org/installer/properties/en_US.properties"/> + <locale3 id="en_AU" name="English (AU)" path="http://flex.apache.org/installer/properties/en_AU.properties"/> + <locale4 id="en_GB" name="English (GB)" path="http://flex.apache.org/installer/properties/en_GB.properties"/> + <locale5 id="es_ES" name="Español (ES)" path="http://flex.apache.org/installer/properties/es_ES.properties"/> + <locale6 id="fr_FR" name="Français" path="http://flex.apache.org/installer/properties/fr_FR.properties"/> + <locale7 id="el_GR" name="Greek" path="http://flex.apache.org/installer/properties/el_GR.properties"/> + <locale5 id="ko_KR" name="Korean" path="http://flex.apache.org/installer/properties/ko_KR.properties"/> + <locale8 id="nl_NL" name="Nederlands" path="http://flex.apache.org/installer/properties/nl_NL.properties"/> + <locale9 id="pt_BR" name="Português" path="http://flex.apache.org/installer/properties/pt_BR.properties"/> + </languages> + <!-- 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 --> + <installer name="SDKInstallerApp" path="flex/installer/3.0/binaries/" file="apache-flex-sdk-installer-3.0.0-bin" /> + <!-- Mirror URL CGI --> + <mirror name="MirrorURLCGI" path="" file="single-mirror-url.cgi"/> + <products> + <!-- Apache Flex binary distribution + Notes: + - path is relative to mirror URL; don't use starting slash + - use http based url if you want to use an absolute url instead of mirror + - remove the extension from the file name --> + <ApacheFlexSDK name="Apache Flex SDK" prefix="apache-flex-sdk-" icon="http://flex.apache.org/installer/icons/apache_flex_logo_text.png" latestVersion="4.12.1"> + <versions> + <versionA id="4.9.1" version="4.9.1" path="http://archive.apache.org/dist/flex/4.9.1/binaries/" file="apache-flex-sdk-4.9.1-bin" legacy="true" /> + <versionB id="4.10.0" version="4.10.0" path="http://archive.apache.org/dist/flex/4.10.0/binaries/" file="apache-flex-sdk-4.10.0-bin" legacy="true" /> + <versionC id="4.11.0" version="4.11.0" path="http://archive.apache.org/dist/flex/4.11.0/binaries/" file="apache-flex-sdk-4.11.0-bin" legacy="true" /> + <versionD id="4.12.0" version="4.12.0" path="http://archive.apache.org/dist/flex/4.12.0/binaries/" file="apache-flex-sdk-4.12.0-bin" /> + <versionE id="4.12.1" version="4.12.1" path="flex/4.12.1/binaries/" file="apache-flex-sdk-4.12.1-bin" default="true" /> + <Nightly id="Nightly" version="Nightly" path="http://apacheflexbuild.cloudapp.net:8080/job/flex-sdk-release/lastSuccessfulBuild/artifact/out/" file="apache-flex-sdk-4.13.0-bin" dev="true" nocache="true" /> + </versions> + </ApacheFlexSDK> + <ApacheFlexJS name="Apache FlexJS" prefix="apache-flex-flexjs-" icon="http://flex.apache.org/installer/icons/apache_flexjs_logo_text.png" developmentVersion="0.0.1"> + <versions> + <versionAA id="FlexJS0.0.1" version="0.0.1" path="flex/flexjs/0.0.1/binaries/" file="apache-flex-flexjs-0.0.1-bin" /> + <Nightly id="FlexJSNightly" version="Nightly" path="http://apacheflexbuild.cloudapp.net:8080/job/flex-asjs/lastSuccessfulBuild/artifact/out/" file="apache-flex-flexjs-0.0.2-bin" dev="true" nocache="true"/> + </versions> + </ApacheFlexJS> + <ApacheFlexFalcon name="Apache Flex Falcon" prefix="apache-flex-falcon-" overlay="true" needsAIR="false" needsFlash="false" icon="http://flex.apache.org/installer/icons/apache_flexfalcon_logo_text.png"> + <versions> + <Nightly id="FlexFalconNightly" version="Nightly" path="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/" file="apache-flex-falcon-0.0.2-bin" dev="true" nocache="true"/> + </versions> + </ApacheFlexFalcon> + <ApacheFlexFalconJX name="Apache Flex FalconJX" prefix="apache-flex-falconjx-" overlay="true" needsAIR="false" needsFlash="false" icon="http://flex.apache.org/installer/icons/apache_flexfalcon_logo_text.png" developmentVersion="0.0.2" rc="rc3" latestVersion="0.0.1"> + <versions> + <Nightly id="FlexFalconJXNightly" version="Nightly" path="http://apacheflexbuild.cloudapp.net:8080/job/flex-falcon/lastSuccessfulBuild/artifact/out/" file="apache-flex-falconjx-0.0.2-bin" dev="true" nocache="true"/> + </versions> + </ApacheFlexFalconJX> + </products> + <airsdk> + <linux> + <versions default="2.6"> + <versionA id="air.sdk.version.linux.2.6" version="2.6" displayVersion="2.6"> + <server id="air.sdk.server.linux.2.6">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.linux.2.6">air/lin/download/2.6/</folder> + <path id="air.sdk.path.linux.2.6">http://airdownload.adobe.com/air/lin/download/2.6/</path> + <file id="air.sdk.file.linux.2.6">AdobeAIRSDK.tbz2</file> + </versionA> + </versions> + </linux> + <windows> + <versions default="13.0"> + <versionA id="air.sdk.version.windows.2.6" version="2.6" displayVersion="2.6"> + <server id="air.sdk.server.windows.2.6">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.2.6">air/win/download/2.6/</folder> + <path id="air.sdk.path.windows.2.6">http://airdownload.adobe.com/air/win/download/2.6/</path> + <file id="air.sdk.file.windows.2.6">AdobeAIRSDK.zip</file> + </versionA> + <versionB id="air.sdk.version.windows.2.7" version="2.7" displayVersion="2.7"> + <server id="air.sdk.server.windows.2.7">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.2.7">air/win/download/2.7/</folder> + <path id="air.sdk.path.windows.2.7">http://airdownload.adobe.com/air/win/download/2.7/</path> + <file id="air.sdk.file.windows.2.7">AdobeAIRSDK.zip</file> + </versionB> + <versionC id="air.sdk.version.windows.3.0" version="3.0" displayVersion="3.0"> + <server id="air.sdk.server.windows.3.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.0">air/win/download/3.0/</folder> + <path id="air.sdk.path.windows.3.0">http://airdownload.adobe.com/air/win/download/3.0/</path> + <file id="air.sdk.file.windows.3.0">AdobeAIRSDK.zip</file> + </versionC> + <versionD id="air.sdk.version.windows.3.1" version="3.1" displayVersion="3.1" label="tested"> + <server id="air.sdk.server.windows.3.1">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.1">air/win/download/3.1/</folder> + <path id="air.sdk.path.windows.3.1">http://airdownload.adobe.com/air/win/download/3.1/</path> + <file id="air.sdk.file.windows.3.1">AdobeAIRSDK.zip</file> + </versionD> + <versionE id="air.sdk.version.windows.3.2" version="3.2" displayVersion="3.2"> + <server id="air.sdk.server.windows.3.2">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.2">air/win/download/3.2/</folder> + <path id="air.sdk.path.windows.3.2">http://airdownload.adobe.com/air/win/download/3.2/</path> + <file id="air.sdk.file.windows.3.2">AdobeAIRSDK.zip</file> + </versionE> + <versionF id="air.sdk.version.windows.3.3" version="3.3" displayVersion="3.3"> + <server id="air.sdk.server.windows.3.3">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.3">air/win/download/3.3/</folder> + <path id="air.sdk.path.windows.3.3">http://airdownload.adobe.com/air/win/download/3.3/</path> + <file id="air.sdk.file.windows.3.3">AdobeAIRSDK.zip</file> + </versionF> + <versionG id="air.sdk.version.windows.3.4" version="3.4" displayVersion="3.4" label="tested"> + <server id="air.sdk.server.windows.3.4">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.4">air/win/download/3.4/</folder> + <path id="air.sdk.path.windows.3.4">http://airdownload.adobe.com/air/win/download/3.4/</path> + <file id="air.sdk.file.windows.3.4">AdobeAIRSDK.zip</file> + </versionG> + <versionH id="air.sdk.version.windows.3.5" version="3.5" displayVersion="3.5"> + <server id="air.sdk.server.windows.3.5">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.5">air/win/download/3.5/</folder> + <path id="air.sdk.path.windows.3.5">http://airdownload.adobe.com/air/win/download/3.5/</path> + <file id="air.sdk.file.windows.3.5">AdobeAIRSDK.zip</file> + </versionH> + <versionI id="air.sdk.version.windows.3.6" version="3.6" displayVersion="3.6"> + <server id="air.sdk.server.windows.3.6">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.6">air/win/download/3.6/</folder> + <path id="air.sdk.path.windows.3.6">http://airdownload.adobe.com/air/win/download/3.6/</path> + <file id="air.sdk.file.windows.3.6">AdobeAIRSDK.zip</file> + </versionI> + <versionJ id="air.sdk.version.windows.3.7" version="3.7" displayVersion="3.7" label="tested"> + <server id="air.sdk.server.windows.3.7">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.7">air/win/download/3.7/</folder> + <path id="air.sdk.path.windows.3.7">http://airdownload.adobe.com/air/win/download/3.7/</path> + <file id="air.sdk.file.windows.3.7">AdobeAIRSDK.zip</file> + </versionJ> + <versionK id="air.sdk.version.windows.3.8" version="3.8" displayVersion="3.8" label="tested"> + <server id="air.sdk.server.windows.3.8">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.8">air/win/download/3.8/</folder> + <path id="air.sdk.path.windows.3.8">http://airdownload.adobe.com/air/win/download/3.8/</path> + <file id="air.sdk.file.windows.3.8">AdobeAIRSDK.zip</file> + </versionK> + <versionL id="air.sdk.version.windows.3.9" version="3.9" displayVersion="3.9"> + <server id="air.sdk.server.windows.3.9">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.3.9">air/win/download/3.9/</folder> + <path id="air.sdk.path.windows.3.9">http://airdownload.adobe.com/air/win/download/3.9/</path> + <file id="air.sdk.file.windows.3.9">AdobeAIRSDK.zip</file> + </versionL> + <versionM id="air.sdk.version.windows.4.0" version="4.0" displayVersion="4.0"> + <server id="air.sdk.server.windows.4.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.4.0">air/win/download/4.0/</folder> + <path id="air.sdk.path.windows.4.0">http://airdownload.adobe.com/air/win/download/4.0/</path> + <file id="air.sdk.file.windows.4.0">AdobeAIRSDK.zip</file> + <md5 id="air.sdk.md5.windows.4.0">7891ce8200dedf50c811017a0d76bcdc</md5> + </versionM> + <versionN id="air.sdk.version.windows.13.0" version="13.0" displayVersion="13"> + <server id="air.sdk.server.windows.13.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.13.0">air/win/download/13.0/</folder> + <path id="air.sdk.path.windows.13.0">http://airdownload.adobe.com/air/win/download/13.0/</path> + <file id="air.sdk.file.windows.13.0">AdobeAIRSDK.zip</file> + <md5 id="air.sdk.md5.windows.13.0">1fd676eb1bdd17ac8ab814a1ecc4001a</md5> + </versionN> + <versionO id="air.sdk.version.windows.14.0" version="14.0" displayVersion="14 (beta)"> + <server id="air.sdk.server.windows.14.0">http://labsdownload.adobe.com</server> + <folder id="air.sdk.folder.windows.14.0">pub/labs/flashruntimes/air/</folder> + <path id="air.sdk.path.windows.14.0">http://labsdownload.adobe.com/pub/labs/flashruntimes/air/</path> + <file id="air.sdk.file.windows.14.0">air14_sdk_sa_win.zip</file> + </versionO> + </versions> + </windows> + <mac> + <versions default="13.0"> + <versionA id="air.sdk.version.mac.2.6" version="2.6" displayVersion="2.6"> + <server id="air.sdk.server.mac.2.6">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.2.6">air/mac/download/2.6/</folder> + <path id="air.sdk.path.mac.2.6">http://airdownload.adobe.com/air/mac/download/2.6/</path> + <file id="air.sdk.file.mac.2.6">AdobeAIRSDK.tbz2</file> + </versionA> + <versionB id="air.sdk.version.mac.2.7" version="2.7" displayVersion="2.7"> + <server id="air.sdk.server.mac.2.7">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.2.7">air/mac/download/2.7/</folder> + <path id="air.sdk.path.mac.2.7">http://airdownload.adobe.com/air/mac/download/2.7/</path> + <file id="air.sdk.file.mac.2.7">AdobeAIRSDK.tbz2</file> + </versionB> + <versionC id="air.sdk.version.mac.3.0" version="3.0" displayVersion="3.0"> + <server id="air.sdk.server.mac.3.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.0">air/mac/download/3.0/</folder> + <path id="air.sdk.path.mac.3.0">http://airdownload.adobe.com/air/mac/download/3.0/</path> + <file id="air.sdk.file.mac.3.0">AdobeAIRSDK.tbz2</file> + </versionC> + <versionD id="air.sdk.version.mac.3.1" version="3.1" displayVersion="3.1" label="tested"> + <server id="air.sdk.server.mac.3.1">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.1">air/mac/download/3.1/</folder> + <path id="air.sdk.path.mac.3.1">http://airdownload.adobe.com/air/mac/download/3.1/</path> + <file id="air.sdk.file.mac.3.1">AdobeAIRSDK.tbz2</file> + </versionD> + <versionE id="air.sdk.version.mac.3.2" version="3.2" displayVersion="3.2"> + <server id="air.sdk.server.mac.3.2">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.2">air/mac/download/3.2/</folder> + <path id="air.sdk.path.mac.3.2">http://airdownload.adobe.com/air/mac/download/3.2/</path> + <file id="air.sdk.file.mac.3.2">AdobeAIRSDK.tbz2</file> + </versionE> + <versionF id="air.sdk.version.mac.3.3" version="3.3" displayVersion="3.3"> + <server id="air.sdk.server.mac.3.3">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.3">air/mac/download/3.3/</folder> + <path id="air.sdk.path.mac.3.3">http://airdownload.adobe.com/air/mac/download/3.3/</path> + <file id="air.sdk.file.mac.3.3">AdobeAIRSDK.tbz2</file> + </versionF> + <versionG id="air.sdk.version.mac.3.4" version="3.4" displayVersion="3.4" label="tested"> + <server id="air.sdk.server.mac.3.4">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.4">air/mac/download/3.4/</folder> + <path id="air.sdk.path.mac.3.4">http://airdownload.adobe.com/air/mac/download/3.4/</path> + <file id="air.sdk.file.mac.3.4">AdobeAIRSDK.tbz2</file> + </versionG> + <versionH id="air.sdk.version.mac.3.5" version="3.5" displayVersion="3.5"> + <server id="air.sdk.server.mac.3.5">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.5">air/mac/download/3.5/</folder> + <path id="air.sdk.path.mac.3.5">http://airdownload.adobe.com/air/mac/download/3.5/</path> + <file id="air.sdk.file.mac.3.5">AdobeAIRSDK.tbz2</file> + </versionH> + <versionI id="air.sdk.version.mac.3.6" version="3.6" displayVersion="3.6"> + <server id="air.sdk.server.mac.3.6">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.6">air/mac/download/3.6/</folder> + <path id="air.sdk.path.mac.3.6">http://airdownload.adobe.com/air/mac/download/3.6/</path> + <file id="air.sdk.file.mac.3.6">AdobeAIRSDK.tbz2</file> + </versionI> + <versionJ id="air.sdk.version.mac.3.7" version="3.7" displayVersion="3.7" label="tested"> + <server id="air.sdk.server.mac.3.7">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.7">air/mac/download/3.7/</folder> + <path id="air.sdk.path.mac.3.7">http://airdownload.adobe.com/air/mac/download/3.7/</path> + <file id="air.sdk.file.mac.3.7">AdobeAIRSDK.tbz2</file> + </versionJ> + <versionK id="air.sdk.version.mac.3.8" version="3.8" displayVersion="3.8" label="tested"> + <server id="air.sdk.server.mac.3.8">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.8">air/mac/download/3.8/</folder> + <path id="air.sdk.path.mac.3.8">http://airdownload.adobe.com/air/mac/download/3.8/</path> + <file id="air.sdk.file.mac.3.8">AdobeAIRSDK.tbz2</file> + </versionK> + <versionL id="air.sdk.version.mac.3.9" version="3.9" displayVersion="3.9"> + <server id="air.sdk.server.mac.3.9">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.3.9">air/mac/download/3.9/</folder> + <path id="air.sdk.path.mac.3.9">http://airdownload.adobe.com/air/mac/download/3.9/</path> + <file id="air.sdk.file.mac.3.9">AdobeAIRSDK.tbz2</file> + </versionL> + <versionM id="air.sdk.version.mac.4.0" version="4.0" displayVersion="4.0"> + <server id="air.sdk.server.mac.4.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.4.0">air/mac/download/4.0/</folder> + <path id="air.sdk.path.mac.4.0">http://airdownload.adobe.com/air/mac/download/4.0/</path> + <file id="air.sdk.file.mac.4.0">AdobeAIRSDK.tbz2</file> + <md5 id="air.sdk.md5.mac.4.0">0787bb2edbef4417aeef4ef99f105859</md5> + </versionM> + <versionN id="air.sdk.version.mac.13.0" version="13.0" displayVersion="13"> + <server id="air.sdk.server.mac.13.0">http://airdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.13.0">air/mac/download/13.0/</folder> + <path id="air.sdk.path.mac.13.0">http://airdownload.adobe.com/air/mac/download/13.0/</path> + <file id="air.sdk.file.mac.13.0">AdobeAIRSDK.tbz2</file> + <md5 id="air.sdk.md5.mac.13.0">9156e9b92c13b11db91ea9958926060b</md5> + </versionN> + <versionO id="air.sdk.version.mac.14.0" version="14.0" displayVersion="14 (beta)"> + <server id="air.sdk.server.mac.14.0">http://labsdownload.adobe.com</server> + <folder id="air.sdk.folder.mac.14.0">pub/labs/flashruntimes/air/</folder> + <path id="air.sdk.path.mac.14.0">http://labsdownload.adobe.com/pub/labs/flashruntimes/air/</path> + <file id="air.sdk.file.mac.14.0">air14_sdk_sa_mac.tbz2</file> + </versionO> + </versions> + </mac> + </airsdk> + <flashsdk> + <versions default="13.0"> + <versionA id="flash.sdk.version.10.2" version="10.2" displayVersion="10.2"> + <server id="flash.sdk.server.10.2">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.10.2">get/flashplayer/installers/archive/playerglobal/</folder> + <path id="flash.sdk.path.10.2">http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal/</path> + <file id="flash.sdk.file.10.2">playerglobal10_2.swc</file> + <swfversion id="flash.sdk.swfversion.10.2">11</swfversion> + </versionA> + <versionB id="flash.sdk.version.10.3" version="10.3" displayVersion="10.3"> + <server id="flash.sdk.server.10.3">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.10.3">get/flashplayer/installers/archive/playerglobal/</folder> + <path id="flash.sdk.path.10.3">http://download.macromedia.com/get/flashplayer/installers/archive/playerglobal/</path> + <file id="flash.sdk.file.10.3">playerglobal10_3.swc</file> + <swfversion id="flash.sdk.swfversion.10.3">12</swfversion> + </versionB> + <versionC id="flash.sdk.version.11.0" version="11.0" displayVersion="11.0"> + <server id="flash.sdk.server.11.0">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.0">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.0">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.0">playerglobal11_0.swc</file> + <swfversion id="flash.sdk.swfversion.11.0">13</swfversion> + </versionC> + <versionD id="flash.sdk.version.11.1" version="11.1" displayVersion="11.1" label="tested"> + <server id="flash.sdk.server.11.1">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.1">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.1">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.1">playerglobal11_1.swc</file> + <swfversion id="flash.sdk.swfversion.11.1">14</swfversion> + </versionD> + <versionE id="flash.sdk.version.11.2" version="11.2" displayVersion="11.2"> + <server id="flash.sdk.server.11.2">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.2">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.2">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.2">playerglobal11_2.swc</file> + <swfversion id="flash.sdk.swfversion.11.2">15</swfversion> + </versionE> + <versionF id="flash.sdk.version.11.3" version="11.3" displayVersion="11.3"> + <server id="flash.sdk.server.11.3">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.3">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.3">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.3">playerglobal11_3.swc</file> + <swfversion id="flash.sdk.swfversion.11.3">16</swfversion> + </versionF> + <versionG id="flash.sdk.version.11.4" version="11.4" displayVersion="11.4" label="tested"> + <server id="flash.sdk.server.11.4">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.4">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.4">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.4">playerglobal11_4.swc</file> + <swfversion id="flash.sdk.swfversion.11.4">17</swfversion> + </versionG> + <versionH id="flash.sdk.version.11.5" version="11.5" displayVersion="11.5"> + <server id="flash.sdk.server.11.5">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.5">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.5">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.5">playerglobal11_5.swc</file> + <swfversion id="flash.sdk.swfversion.11.5">18</swfversion> + </versionH> + <versionI id="flash.sdk.version.11.6" version="11.6" displayVersion="11.6"> + <server id="flash.sdk.server.11.6">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.6">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.6">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.6">playerglobal11_6.swc</file> + <swfversion id="flash.sdk.swfversion.11.6">19</swfversion> + </versionI> + <versionJ id="flash.sdk.version.11.7" version="11.7" displayVersion="11.7" label="tested"> + <server id="flash.sdk.server.11.7">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.7">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.7">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.7">playerglobal11_7.swc</file> + <swfversion id="flash.sdk.swfversion.11.7">20</swfversion> + </versionJ> + <versionK id="flash.sdk.version.11.8" version="11.8" displayVersion="11.8" label="tested"> + <server id="flash.sdk.server.11.8">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.8">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.8">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.8">playerglobal11_8.swc</file> + <swfversion id="flash.sdk.swfversion.11.8">21</swfversion> + </versionK> + <versionL id="flash.sdk.version.11.9" version="11.9" displayVersion="11.9"> + <server id="flash.sdk.server.11.9">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.11.9">get/flashplayer/updaters/11/</folder> + <path id="flash.sdk.path.11.9">http://download.macromedia.com/get/flashplayer/updaters/11/</path> + <file id="flash.sdk.file.11.9">playerglobal11_9.swc</file> + <swfversion id="flash.sdk.swfversion.11.9">22</swfversion> + </versionL> + <versionM id="flash.sdk.version.12.0" version="12.0" displayVersion="12.0"> + <server id="flash.sdk.server.12.0">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.12.0">get/flashplayer/updaters/12/</folder> + <path id="flash.sdk.path.12.0">http://download.macromedia.com/get/flashplayer/updaters/12/</path> + <file id="flash.sdk.file.12.0">playerglobal12_0.swc</file> + <md5 id="flash.sdk.md5.12.0">4db4e934f39f774ba68fcd9a79654971</md5> + <swfversion id="flash.sdk.swfversion.12.0">23</swfversion> + </versionM> + <versionN id="flash.sdk.version.13.0" version="13.0" displayVersion="13"> + <server id="flash.sdk.server.13.0">http://download.macromedia.com</server> + <folder id="flash.sdk.folder.13.0">get/flashplayer/updaters/13/</folder> + <path id="flash.sdk.path.13.0">http://download.macromedia.com/get/flashplayer/updaters/13/</path> + <file id="flash.sdk.file.13.0">playerglobal13_0.swc</file> + <md5 id="flash.sdk.md5.13.0">6f56d4d623e7dff9b952b2830d24142c</md5> + <swfversion id="flash.sdk.swfversion.13.0">24</swfversion> + </versionN> + <versionO id="flash.sdk.version.14.0" version="14.0" displayVersion="14 (beta)"> + <server id="flash.sdk.server.14.0">http://labsdownload.adobe.com</server> + <folder id="flash.sdk.folder.14.0">pub/labs/flashruntimes/flashplayer/</folder> + <path id="flash.sdk.path.14.0">http://labsdownload.adobe.com/pub/labs/flashruntimes/flashplayer/</path> + <file id="flash.sdk.file.14.0">flashplayer14_playerglobal.swc</file> + <swfversion id="flash.sdk.swfversion.14.0">25</swfversion> + </versionO> + </versions> + </flashsdk> + + <swfobject path="http://swfobject.googlecode.com/files/" file="swfobject_2_2.zip"/> + + <BlazeDS path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-messaging-common.jar"/> + + <!-- FontSWF --> + <fontswf> + <afe path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="afe.jar"/> + <aglj40 path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="aglj40.jar"/> + <flex-fontkit path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="flex-fontkit.jar"/> + <rideau path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/lib/" file="rideau.jar"/> + </fontswf> + + <!-- For OSMF, we are including the file name along with the url. This is to support the weird url format for OSMF2.0 which forces us to do the same --> + <!-- OSMF 1.x --> + <OSMF_SWC path="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/4.y/frameworks/libs/" file="osmf.swc"/> + <!-- OSMF 2.0 --> + <OSMF_SWC_2.0 path="osmf.adobe/OSMF%202.0%20Release%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release%20notes%29/" file="OSMF.swc"/> + +</config>
