blob: 2e90947aed4f491f2a18406995d1d2c6822a768f [file] [log] [blame]
@echo off
setlocal
REM ################################################################################
REM ##
REM ## Licensed to the Apache Software Foundation (ASF) under one or more
REM ## contributor license agreements. See the NOTICE file distributed with
REM ## this work for additional information regarding copyright ownership.
REM ## The ASF licenses this file to You under the Apache License, Version 2.0
REM ## (the "License"); you may not use this file except in compliance with
REM ## the License. You may obtain a copy of the License at
REM ##
REM ## http://www.apache.org/licenses/LICENSE-2.0
REM ##
REM ## Unless required by applicable law or agreed to in writing, software
REM ## distributed under the License is distributed on an "AS IS" BASIS,
REM ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
REM ## See the License for the specific language governing permissions and
REM ## limitations under the License.
REM ##
REM ################################################################################
REM This script should be used to create an Apache Flex SDK that has the directory
REM structure that the an IDE that supports Flex, such as Adobe Flash Builder or
REM JetBrains IntelliJ expects.
REM
REM This script can be used with either an Apache Flex binary package or an Apache Flex
REM source package. In either case you must unzip the package. If you use the source
REM package you must build the binaries files before running this script. See the
REM "Building the Source in the Source Distribution" section in the README at the root
REM for build instructions.
REM
REM The Adobe AIR SDK and the Adobe Flash Player playerglobal.swc are
REM copied into the Apache Flex directory. The paths in the framework
REM configuration files are modified to reflect this. You do not need to set
REM up any of the environment variables mentioned in the README because the locations
REM of all the software are known in this configuration.
REM
REM TextLayoutFormat (TLF), OSMF, swobject, the Adobe embedded font support,
REM and Adobe BlazeDS integration all come from the Adobe Flex 4.6 SDK. You should
REM be aware that these components have their own licenses that may or may not be
REM compatible with the Apache v2 license. See the "Software Dependencies" section
REM in the README for more license information.
REM
REM The Adobe Flex 4.6 SDK is available here:
REM http://www.adobe.com/devnet/flex/flex-sdk-download.html
REM
REM Usage: constructFlexForIDE "Apache Flex dir" ["Adobe Flex 4.6 dir"]
REM
REM
REM If the Adobe Flex SDK 4.6 directory is not specified this script will look for it
REM in the following places:
REM
REM %ProgramFiles%/Adobe/Adobe Flash Builder 4.5/sdks/4.6.0
REM %ProgramFiles%/Adobe/Adobe Flash Builder 4.6/sdks/4.6.0
REM %ProgramFiles%/Adobe/Adobe Flash Builder 4.7/sdks/4.6.0
REM where %ProgramFiles% is the Windows environment variable which expands
REM correctly for 32-bit and 64-bit Windows
set param1=%~f1
set param2=%~f2
:getApacheFlexDir
REM Remove all quotes (%param1:"=%) and replace with outer quotes
set IDE_SDK_DIR="%param1:"=%"
if not [%IDE_SDK_DIR%] == [] goto gotApacheFlexDir
echo Usage: %0 "Apache Flex dir" ["Adobe Flex SDK 4.6 dir"]
goto :eof
:gotApacheFlexDir
echo The Apache Flex directory for the IDE is %IDE_SDK_DIR%
REM
REM If this is an Apache Flex dir then there should be a NOTICE file.
REM
:checkApacheFlexDir
if exist %IDE_SDK_DIR%\NOTICE goto checkApacheFlexBinaries
echo %IDE_SDK_DIR% does not appear to be an Apache Flex distribution.
goto :eof
REM
REM Quick check to see if there are binaries in the Apache distribution.
REM
:checkApacheFlexBinaries
if exist %IDE_SDK_DIR%\lib\mxmlc.jar goto getAdobeFlexDir
echo %IDE_SDK_DIR% does not appear to be a Apache Flex distribution with binaries.
echo If this is a source distribution of Apache Flex you must build the binaries first.
echo See the README.
goto :eof
:getAdobeFlexDir
if not [%param2%] == [] (
set ADOBE_FLEX_SDK_DIR="%param2:"=%"
goto gotAdobeFlexSDK
)
REM
REM Look for FlashBuilder versions 4.5, 4.6 and 4.7.
REM
set ADOBE_FLEX_SDK_DIR=
for %%V in (4.5 4.6 4.7) do (
if exist "%ProgramFiles%\Adobe\Adobe Flash Builder %%V\sdks\4.6.0" (
set ADOBE_FLEX_SDK_DIR="%ProgramFiles%\Adobe\Adobe Flash Builder %%V\sdks\4.6.0"
goto gotAdobeFlexSDK
)
)
REM
REM Couldn't find default Adobe Flex SDK so ask for it.
REM
echo Enter directory of an Adobe Flex SDK 4.6:
set /p ADOBE_FLEX_SDK_DIR=
:gotAdobeFlexSDK
echo The Adobe Flex directory is %ADOBE_FLEX_SDK_DIR%
echo.
REM
REM Quick check to see if it is a Flex SDK.
REM
:checkAdobeFlexSDK
if exist %ADOBE_FLEX_SDK_DIR%\license-adobesdk.htm goto copyAdobeAIRSDK
echo %ADOBE_FLEX_SDK_DIR% does not appear to be an Adobe Flex SDK
goto :eof
REM
REM Copy all the AIR SDK files to the IDE SDK.
REM Copy files first, then directories with (/s).
REM
:copyAdobeAIRSDK
echo Copying the AIR SDK files to %IDE_SDK_DIR%
for %%G in (
"AIR SDK license.pdf"
"AIR SDK Readme.txt"
bin\adl.exe
bin\adt.bat
lib\adt.jar
samples\descriptor-sample.xml) do (
if exist %ADOBE_FLEX_SDK_DIR%\%%G (
copy /y %ADOBE_FLEX_SDK_DIR%\%%G %IDE_SDK_DIR%\%%G
)
)
for %%G in (
frameworks\libs\air
frameworks\projects\air
include
install\android
lib\android
lib\aot
lib\nai
lib\win
runtimes\air\android
runtimes\air\mac
runtimes\air\win
runtimes\air-captive\mac
runtimes\air-captive\win
samples\badge
samples\icons
templates\air
templates\extensions) do (
if exist %ADOBE_FLEX_SDK_DIR%\%%G (
REM Make the directory so it won't prompt for file or directory.
if not exist %IDE_SDK_DIR%\%%G mkdir %IDE_SDK_DIR%\%%G
xcopy /q /y /e /i /c /r %ADOBE_FLEX_SDK_DIR%\%%G %IDE_SDK_DIR%\%%G
if %errorlevel% NEQ 0 GOTO errorExit
)
)
REM
REM Copy all the third-party files from the Adobe Flex SDK to the IDE SDK.
REM
echo Copying the third-party files to %IDE_SDK_DIR%
for %%G in (
frameworks\libs\player\11.1
frameworks\javascript\fabridge\samples\fabridge\swfobject
runtimes\player\11.1\lnx
runtimes\player\11.1\mac
runtimes\player\11.1\win) do (
if not exist %IDE_SDK_DIR%\%%G mkdir %IDE_SDK_DIR%\%%G
if %errorlevel% NEQ 0 GOTO errorExit
)
for %%G in (
frameworks\libs\osmf.swc
frameworks\libs\textLayout.swc
frameworks\libs\player\11.1\playerglobal.swc
frameworks\javascript\FABridge\samples\fabridge\swfobject\swfobject.js
lib\flex-messaging-common.jar
lib\afe.jar
lib\aglj40.jar
lib\flex-fontkit.jar
lib\rideau.jar
templates\swfobject\swfobject.js
runtimes\player\11.1\lnx
runtimes\player\11.1\mac
runtimes\player\11.1\win) do (
copy /y %ADOBE_FLEX_SDK_DIR%\%%G %IDE_SDK_DIR%\%%G
)
REM
REM Copy config files formatted for IDE to frameworks.
REM
echo Copying frameworks config files configured for use without environment variables
copy /y %IDE_SDK_DIR%\ide\flashbuilder\config\*-config.xml %IDE_SDK_DIR%\frameworks
goto :eof
:errorExit
REM echo Exiting: error %errorlevel%
exit /b %errorlevel%