| #!/bin/sh -e |
| |
| ################################################################################ |
| ## |
| ## 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. |
| ## |
| ################################################################################ |
| |
| # |
| # Usage: addAIRtoSDK AIRversion "Apache Flex directory" |
| # |
| # This script will download and add the specified version of AIR to an SDK and |
| # update it's configuration. |
| |
| # Process the parameters. |
| |
| AIR_VERSION="$1" |
| OS=`uname` |
| |
| if [[ "${AIR_VERSION}" != "20.0" && "${AIR_VERSION}" != "19.0" && "${AIR_VERSION}" != "18.0" |
| && "${AIR_VERSION}" != "17.0" && "${AIR_VERSION}" != "16.0" && "${AIR_VERSION}" != "15.0" |
| && "${AIR_VERSION}" != "14.0" && "${AIR_VERSION}" != "13.0" && "${AIR_VERSION}" != "4.0" |
| && "${AIR_VERSION}" != "3.9" && "${AIR_VERSION}" != "3.8" && "${AIR_VERSION}" != "3.7" |
| && "${AIR_VERSION}" != "3.6" && "${AIR_VERSION}" != "3.5" && "${AIR_VERSION}" != "3.4" |
| && "${AIR_VERSION}" != "3.3" && "${AIR_VERSION}" != "3.2" && "${AIR_VERSION}" != "3.1" |
| && "${AIR_VERSION}" != "3.0" && "${AIR_VERSION}" != "2.7" && "${AIR_VERSION}" != "2.6" ]] |
| then |
| echo Unknown version ${AIR_VERISON} of AIR. Versions 2.6, 2.7, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0 and 20.0 are supported. |
| exit 1; |
| fi |
| |
| if [[ "${OS}" != "Darwin" && "${AIR_VERSION}" != "2.6" ]] |
| then |
| echo "Only AIR version 2.6 is supported on Linux" |
| exit 1; |
| fi |
| |
| IDE_SDK_DIR="$2" |
| |
| if [ "${IDE_SDK_DIR}" = "" ] |
| then |
| echo Usage: $0 "AIR version" "Apache Flex directory" |
| exit 1; |
| fi |
| |
| echo The Apache Flex directory for the IDE is "$IDE_SDK_DIR" |
| |
| # If this is an Apache Flex dir then there should be a NOTICE file. |
| |
| if [ ! -f "${IDE_SDK_DIR}/NOTICE" ] |
| then |
| echo ${IDE_SDK_DIR} does not appear to be an Apache Flex distribution. |
| exit 1; |
| fi |
| |
| agreeLicense() |
| { |
| echo |
| echo "Adobe AIR is licensed under the the Adobe AIR end user license agreement (EULA)." |
| echo |
| echo The Adobe AIR 3 EULA is specified here: |
| echo http://www.adobe.com/products/eulas/pdfs/PlatformClients_PC_WWEULA-MULTI-20110809_1357.pdf |
| echo |
| echo In addition to the Adobe EULA license terms, you also agree to be bound by the third-party |
| echo terms specified here: |
| echo http://www.adobe.com/products/eula/third_party/ |
| echo |
| echo Adobe recommends that you review all licensing terms. |
| echo |
| echo "Please type Y to agree to terms of the license >" |
| |
| read -n 1 accept |
| echo |
| |
| if [[ "${accept}" = "Y" || "${accept}" = "y" ]] |
| then |
| echo License accepted |
| else |
| exit 1; |
| fi |
| } |
| |
| |
| downloadAIR() |
| { version=$1 |
| airTempDir="${IDE_SDK_DIR}/frameworks/temp" |
| mkdir -p "${airTempDir}" |
| |
| if [[ "${OS}" == "Darwin" ]] |
| then |
| airDownload="http://airdownload.adobe.com/air/mac/download/${version}/AdobeAIRSDK.tbz2" |
| else |
| airDownload="http://airdownload.adobe.com/air/lin/download/${version}/AdobeAIRSDK.tbz2" |
| fi |
| |
| if [ ${AIR_VERSION} = "17.0b" ] |
| then |
| airDownload="http://labsdownload.adobe.com/pub/labs/flashruntimes/air/air17_sdk_sa_mac.tbz2" |
| fi |
| |
| echo Downloading AIR ${version} |
| curl ${airDownload} > "${airTempDir}/air.tbz2" |
| |
| echo Extracting into SDK |
| tar xf "${airTempDir}/air.tbz2" -C "${IDE_SDK_DIR}" |
| |
| rm -rf "${airTempDir}" |
| } |
| |
| agreeLicense |
| |
| downloadAIR ${AIR_VERSION} |
| |
| # update config file |
| |
| updatePlayerVersion() { |
| playerversion=$1 |
| configFile=$2 |
| sed "s/<target-player>[0-9][0-9]\.[0-9]<\/target-player>/<target-player>${playerversion}<\/target-player>/" < "${configFile}" > "${configFile}.tmp" |
| mv "${configFile}.tmp" "${configFile}" |
| } |
| |
| updateSWFVersion() { |
| swfversion=$1 |
| configFile=$2 |
| sed "s/<swf-version>[0-9][0-9]<\/swf-version>/<swf-version>${swfversion}<\/swf-version>/" < "${configFile}" > "${configFile}.tmp" |
| mv "${configFile}.tmp" "${configFile}" |
| } |
| |
| updatePlayerDescription() { |
| airversion=$1 |
| configFile=$2 |
| |
| echo Updating ${configFile} |
| |
| sed "s/AIR[0-9]\.[0-9]/AIR${airversion}/" < "${configFile}" > "${configFile}.tmp" |
| mv "${configFile}.tmp" "${configFile}" |
| } |
| |
| configFiles=( |
| "${IDE_SDK_DIR}/frameworks/flex-config.xml" |
| "${IDE_SDK_DIR}/frameworks/air-config.xml" |
| "${IDE_SDK_DIR}/frameworks/airmobile-config.xml" |
| ) |
| |
| updatePlayerDescription "${AIR_VERSION}" "${IDE_SDK_DIR}/flex-sdk-description.xml" |
| |
| for configFile in "${configFiles[@]}" |
| do |
| echo Updating ${configFile} |
| |
| # 20.0 needs FP 20 and swf version 31 |
| if [ ${AIR_VERSION} = "20.0" ] |
| then |
| updatePlayerVersion 20.0 "${configFile}" |
| updateSWFVersion 31 "${configFile}" |
| fi |
| |
| # 19.0 needs FP 19 and swf version 30 |
| if [ ${AIR_VERSION} = "19.0" ] |
| then |
| updatePlayerVersion 19.0 "${configFile}" |
| updateSWFVersion 30 "${configFile}" |
| fi |
| |
| # 18.0 needs FP 18 and swf version 29 |
| if [ ${AIR_VERSION} = "18.0" ] |
| then |
| updatePlayerVersion 18.0 "${configFile}" |
| updateSWFVersion 29 "${configFile}" |
| fi |
| |
| # 17.0 needs FP 17 and swf version 28 |
| if [ ${AIR_VERSION} = "17.0" ] |
| then |
| updatePlayerVersion 17.0 "${configFile}" |
| updateSWFVersion 28 "${configFile}" |
| fi |
| |
| # 16.0 needs FP 16 and swf version 27 |
| if [ ${AIR_VERSION} = "16.0" ] |
| then |
| updatePlayerVersion 16.0 "${configFile}" |
| updateSWFVersion 27 "${configFile}" |
| fi |
| |
| # 15.0 needs FP 15 and swf version 26 |
| if [ ${AIR_VERSION} = "15.0" ] |
| then |
| updatePlayerVersion 15.0 "${configFile}" |
| updateSWFVersion 26 "${configFile}" |
| fi |
| |
| # 14.0 needs FP 14 and swf version 25 |
| if [ ${AIR_VERSION} = "14.0" ] |
| then |
| updatePlayerVersion 14.0 "${configFile}" |
| updateSWFVersion 25 "${configFile}" |
| fi |
| |
| # 13.0 needs FP 13 and swf version 24 |
| if [ ${AIR_VERSION} = "13.0" ] |
| then |
| updatePlayerVersion 13.0 "${configFile}" |
| updateSWFVersion 24 "${configFile}" |
| fi |
| |
| # 4.0 needs FP 12 and swf version 23 |
| if [ ${AIR_VERSION} = "4.0" ] |
| then |
| updatePlayerVersion 12.0 "${configFile}" |
| updateSWFVersion 23 "${configFile}" |
| fi |
| |
| # 3.8 needs FP 11.9 and swf version 22 |
| if [ ${AIR_VERSION} = "3.9" ] |
| then |
| updatePlayerVersion 11.9 "${configFile}" |
| updateSWFVersion 22 "${configFile}" |
| fi |
| |
| # 3.8 needs FP 11.8 and swf version 21 |
| if [ ${AIR_VERSION} = "3.8" ] |
| then |
| updatePlayerVersion 11.8 "${configFile}" |
| updateSWFVersion 21 "${configFile}" |
| fi |
| |
| # 3.7 needs FP 11.7 and swf version 20 |
| if [ ${AIR_VERSION} = "3.7" ] |
| then |
| updatePlayerVersion 11.7 "${configFile}" |
| updateSWFVersion 20 "${configFile}" |
| fi |
| |
| # 3.6 needs FP 11.6 and swf version 19 |
| if [ ${AIR_VERSION} = "3.6" ] |
| then |
| updatePlayerVersion 11.6 "${configFile}" |
| updateSWFVersion 19 "${configFile}" |
| fi |
| |
| # 3.5 needs FP 11.5 and swf version 18 |
| if [ ${AIR_VERSION} = "3.5" ] |
| then |
| updatePlayerVersion 11.5 "${configFile}" |
| updateSWFVersion 18 "${configFile}" |
| fi |
| |
| # 3.4 needs FP 11.4 and swf version 17 |
| if [ ${AIR_VERSION} = "3.4" ] |
| then |
| updatePlayerVersion 11.4 "${configFile}" |
| updateSWFVersion 17 "${configFile}" |
| fi |
| |
| # 3.3 needs FP 11.3 and swf version 16 |
| if [ ${AIR_VERSION} = "3.3" ] |
| then |
| updatePlayerVersion 11.3 "${configFile}" |
| updateSWFVersion 16 "${configFile}" |
| fi |
| |
| # 3.2 needs FP 11.2 and swf version 15 |
| if [ ${AIR_VERSION} = "3.2" ] |
| then |
| updatePlayerVersion 11.2 "${configFile}" |
| updateSWFVersion 15 "${configFile}" |
| fi |
| |
| # 3.1 needs FP 11.1 and swf version 14 |
| if [ ${AIR_VERSION} = "3.1" ] |
| then |
| updatePlayerVersion 11.1 "${configFile}" |
| updateSWFVersion 14 "${configFile}" |
| fi |
| |
| # 3.0 needs FP 11.0 and swf version 13 |
| if [ ${AIR_VERSION} = "3.0" ] |
| then |
| updatePlayerVersion 11.0 "${configFile}" |
| updateSWFVersion 13 "${configFile}" |
| fi |
| |
| # 2.7 needs FP 10.3 and swf version 12 |
| if [ ${AIR_VERSION} = "2.7" ] |
| then |
| updatePlayerVersion 10.3 "${configFile}" |
| updateSWFVersion 12 "${configFile}" |
| fi |
| |
| # 2.6 needs FP 10.2 and swf version 11 |
| if [ ${AIR_VERSION} = "2.6" ] |
| then |
| updatePlayerVersion 10.2 "${configFile}" |
| updateSWFVersion 11 "${configFile}" |
| fi |
| done |
| |
| |