blob: f96a1479a76a150c0cc1aa70e10fcc8d541d16c7 [file] [log] [blame]
#!/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.
##
################################################################################
# This script should be used to create an Apache Flex SDK that has the
# directory structure that the Adobe Flash Builder IDE expects. If this is a
# source package, you must build the binaries and the RSLs first.
# See the README at the root for instructions.
#
# The Adobe AIR SDK and the Adobe Flash Player playerglobal.swc are integrated
# into the new 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.
#
# Usage: makeApacheFlexForIDE [new directory to build integrated SDK]
#
# Edit these constants if you would like to download from alternative locations.
# Apache Flex binary distribution
APACHE_FLEX_BIN_DIR="$( cd $( dirname -- "$0" ) > /dev/null ; pwd )"/../..
# Adobe AIR SDK Version 16.0
ADOBE_AIR_SDK_MAC_URL=http://airdownload.adobe.com/air/mac/download/16.0/AdobeAIRSDK.tbz2
# Adobe Flash Player Version 11.1
ADOBE_FLASHPLAYER_GLOBALPLAYER_11_1_SWC_URL=http://fpdownload.macromedia.com/get/flashplayer/updaters/11/playerglobal11_1.swc
ADOBE_FLASHPLAYER_GLOBALPLAYER_16_0_SWC_URL=http://fpdownload.macromedia.com/get/flashplayer/updaters/16/playerglobal16_0.swc
# Adobe Flex SDK v4.6
ADOBE_FLEX_SDK_URL=http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip
FLEX_HOME="$1"
if [ "$FLEX_HOME" = "" ] ; then
echo "Usage: $0 [new directory to build the Apache Flex SDK for Adobe Flash Builder]"
exit 1;
fi
# quick check to see if the binaries are there
if [ ! -f "${APACHE_FLEX_BIN_DIR}/lib/mxmlc.jar" ]
then
echo You must build the binaries for this SDK first. See the README at the root.
exit 1;
fi
# quick check to see if the RSLs are there
if [ ! -d "${APACHE_FLEX_BIN_DIR}/frameworks/rsls" ]
then
echo You must build the RSLs for this SDK first. See the README at the root.
exit 1;
fi
# make sure the directory for the Apache Flex SDK exists
mkdir -p "$FLEX_HOME"
# the names of the tar/zip files
ADOBE_AIR_SDK_MAC_FILE=`basename "${ADOBE_AIR_SDK_MAC_URL}"`
ADOBE_FLEX_SDK_FILE=`basename "${ADOBE_FLEX_SDK_URL}"`
echo
echo "This script will construct an Adobe Flex SDK for an IDE in '$FLEX_HOME'"
echo "You will need to answer questions throughout this process."
echo
# download the Apache Flex SDK
echo "Copying the Apache Flex SDK from '$APACHE_FLEX_BIN_DIR' to '$FLEX_HOME'"
rsync -a --exclude=*/.svn* \
--exclude="$APACHE_FLEX_BIN_DIR"/in --exclude="$APACHE_FLEX_BIN_DIR"/out \
--exclude="$APACHE_FLEX_BIN_DIR"/temp "$APACHE_FLEX_BIN_DIR"/* "$FLEX_HOME"
# the third-party downloads, including the optional components
ant -f "$FLEX_HOME"/frameworks/downloads.xml
# put the downloads here
tempDir="$FLEX_HOME"/temp
mkdir -p "$tempDir"
# download the AIR SDK for Mac
echo "Downloading the Adobe AIR SDK for Mac from $ADOBE_AIR_SDK_MAC_URL"
curl "$ADOBE_AIR_SDK_MAC_URL" --output "$tempDir/$ADOBE_AIR_SDK_MAC_FILE"
tar xf "$tempDir/$ADOBE_AIR_SDK_MAC_FILE" -C "$FLEX_HOME"
# download 11.1 playerglobal.swc
echo "Downloading Adobe Flash Player playerglobal.swc from $ADOBE_FLASHPLAYER_GLOBALPLAYER_11_1_SWC_URL"
mkdir -p "$FLEX_HOME/frameworks/libs/player/11.1"
curl "$ADOBE_FLASHPLAYER_GLOBALPLAYER_11_1_SWC_URL" --output "$FLEX_HOME/frameworks/libs/player/11.1/playerglobal.swc"
# download 16 playerglobal.swc
echo "Downloading Adobe Flash Player playerglobal.swc from $ADOBE_FLASHPLAYER_GLOBALPLAYER_16_0_SWC_URL"
mkdir -p "$FLEX_HOME/frameworks/libs/player/16.0"
curl "$ADOBE_FLASHPLAYER_GLOBALPLAYER_16_0_SWC_URL" --output "$FLEX_HOME/frameworks/libs/player/16.0/playerglobal.swc"
# copy the config files formatted for Flash Builder to frameworks
echo "Installing the frameworks config files configured for use with Adobe Flash Builder"
cp -p -v "$FLEX_HOME"/ide/flashbuilder/config/*-config.xml "$FLEX_HOME/frameworks"
# remove the zipped kits
rm -rf "$tempDir"
# remove the stagging directory for downloaded software
rm -rf "$FLEX_HOME/in"