blob: 4735f00376b3aa0028a9a02a7ef24af562e02ef0 [file] [log] [blame]
#!/bin/sh
ROOT="/Users/erik/Documents/ApacheFlex/git/flex-asjs/vf2js/utils/FlexSDKToJS"
OUTPUT="/Users/erik/Documents/ApacheFlex/git/flex-asjs/vf2js/frameworks/js/vf2js"
ARGS=""
ARGS="$ARGS +env.PLAYERGLOBAL_HOME="/Users/erik/Documents/apacheFlex/dependencies/PlayerGlobal/player" "
ARGS="$ARGS +playerglobal.version=15.0 "
ARGS="$ARGS -load-config+="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/flex-config.xml" "
ARGS="$ARGS -load-config+="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/framework/framework-config.xml" "
ARGS="$ARGS -load-config+="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/spark/compile-config.xml" "
ARGS="$ARGS -external-library-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/libs/air/airspark.swc" "
ARGS="$ARGS -external-library-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/libs/player/15.0/playerglobal.swc" "
ARGS="$ARGS -external-library-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/libs/osmf.swc" "
ARGS="$ARGS -external-library-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/libs/textlayout.swc" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/advancedgrids/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/apache/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/charts/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/core/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/experimental/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/flash-integration/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/framework/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/mx/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/rpc/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/spark/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/spark_dmv/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/sparkskins/src" "
ARGS="$ARGS -source-path="/Users/erik/Documents/ApacheFlex/git/flex-sdk/frameworks/projects/wireframe/src" "
ARGS="$ARGS -ignore-problems=org.apache.flex.compiler.problems.DuplicateSkinStateProblem "
ARGS="$ARGS -ignore-problems=org.apache.flex.compiler.problems.DuplicateQNameInSourcePathProblem "
ARGS="$ARGS -ignore-problems=org.apache.flex.compiler.problems.NoDefinitionForSWCDependencyProblem "
ARGS="$ARGS -js-output-type=VF2JS "
ARGS="$ARGS -keep-asdoc=false "
ARGS="$ARGS -closure-lib="/Users/erik/Documents/ApacheFlex/dependencies/GoogleClosure/library" "
ARGS="$ARGS -output=${OUTPUT} "
java -jar "/Users/erik/Documents/ApacheFlex/git/flex-falcon/compiler.jx/lib/compc.jar" ${ARGS}
./TextLayoutToJS.sh
cd ${OUTPUT}
#pwd
# Delete xClasses.js
rm ./AdvancedDataGridClasses.js
rm ./ApacheClasses.js
rm ./ChartsClasses.js
rm ./CoreClasses.js
rm ./ExperimentalClasses.js
rm ./FrameworkClasses.js
rm ./MxClasses.js
rm ./RPCClasses.js
rm ./SparkClasses.js
rm ./SparkDmvClasses.js
rm ./SparkSkinsClasses.js
rm ./WireframeClasses.js
# Create class 'QName'
cat <<EOF > ./QName.js
/**
* @fileoverview 'QName'
*
* @author erikdebruin@apache.org (Erik de Bruin)
*/
'use strict';
goog.provide('QName');
/**
* @constructor
* @struct
*/
QName = function() {};
EOF
# Create class 'mx.core.mx_internal'
cat <<EOF > ./mx/core/mx_internal.js
/**
* @fileoverview 'mx.core.mx_internal'
*
* @author erikdebruin@apache.org (Erik de Bruin)
*/
'use strict';
goog.provide('mx.core.mx_internal');
/**
* @constructor
* @struct
*/
mx.core.mx_internal = function() {};
EOF
# copy org.apache.flex.utils.Language from FlexJS SDK
mkdir ./org/apache/flex/utils
cp /Users/erik/Documents/ApacheFlex/git/flex-asjs/frameworks/js/FlexJS/src/org/apache/flex/utils/Language.js ./org/apache/flex/utils/Language.js
# copy flash.utils.IDataInput and refactor to flash.utils.IDataInput2
cp ./flash/utils/IDataInput.js ./flash/utils/IDataInput2.js
sed -i '' -e "s/IDataInput/IDataInput2/g" ./flash/utils/IDataInput2.js
# copy flash.utils.IDataOutput and refactor to flash.utils.IDataOutput2
cp ./flash/utils/IDataOutput.js ./flash/utils/IDataOutput2.js
sed -i '' -e "s/IDataOutput/IDataOutput2/g" ./flash/utils/IDataOutput2.js
# Remove 'wrong' chars from mx/utils/StringUtil.js
sed -i '' -e 's/
//g' ./mx/utils/StringUtil.js
sed -i '' -e 's/
//g' ./mx/utils/StringUtil.js
# Remove 'wrong' char from spark/components/Label.js
sed -i '' -e 's/
//g' ./spark/components/Label.js
# Remove 'wrong' public namespace reference from mx/styles/CSSStyleDeclaration.js
sed -i '' -e 's/public\.this\.setStyle/this\.setStyle/g' ./mx/styles/CSSStyleDeclaration.js
# Add missing namespace to flash/geom/Vector3D.js
sed -i '' -e 's/= Vector3D/= flash.geom.Vector3D/g' ./flash/geom/Vector3D.js
# Remove namespace from Vector type in spark/components/DataGroup.js
sed -i '' -e 's/Vector\.<mx\.core\.IVisualElement>/Vector/g' ./spark/components/DataGroup.js
# Remove "difficult" interface reference from mx/core/UIComponent.js
sed -i '' -e 's/, mx.validators.IValidatorListener, /, /g' ./mx/core/UIComponent.js
# Remove goog.require from spark.layouts.supportClasses.LinearLayoutVector
tr '\n' '#' < ./spark/layouts/supportClasses/LinearLayoutVector.js > ./spark/layouts/supportClasses/LinearLayoutVector.js_temp
sed -i '' -e "s/#goog.require('spark.layouts.supportClasses.Block');//g" ./spark/layouts/supportClasses/LinearLayoutVector.js_temp
tr '#' '\n' < ./spark/layouts/supportClasses/LinearLayoutVector.js_temp > ./spark/layouts/supportClasses/LinearLayoutVector.js
rm ./spark/layouts/supportClasses/LinearLayoutVector.js_temp
# Add 'global' goog.require to mx.managers.SystemManager
tr '\n' '#' < ./mx/managers/SystemManager.js > ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('org.apache.flex.utils.Language');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.core.EmbeddedFontRegistry');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.styles.StyleManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.BrowserManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.CursorManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.HistoryManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.LayoutManager');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.PopUpManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.ToolTipManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.DragManagerImpl');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.core.TextFieldFactory');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('Class');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('INT');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('QName');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.preloaders.DownloadProgressBar');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.managers.systemClasses.ChildManager');&/g" ./mx/managers/SystemManager.js_temp
sed -i '' -e "s/mx\.managers\.SystemManager = function() {# /mx\.managers\.SystemManager = function() {# window['apache-flex_system-manager'] = this;#/g" ./mx/managers/SystemManager.js_temp
tr '#' '\n' < ./mx/managers/SystemManager.js_temp > ./mx/managers/SystemManager.js
rm ./mx/managers/SystemManager.js_temp
# Add 'missing' (?) goog.require to mx.skins.halo.HaloFocusRect
tr '\n' '#' < ./mx/skins/halo/HaloFocusRect.js > ./mx/skins/halo/HaloFocusRect.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.skins.ProgrammaticSkin');&/g" ./mx/skins/halo/HaloFocusRect.js_temp
tr '#' '\n' < ./mx/skins/halo/HaloFocusRect.js_temp > ./mx/skins/halo/HaloFocusRect.js
rm ./mx/skins/halo/HaloFocusRect.js_temp
# Add 'missing' (?) goog.require to mx.preloaders.DownloadProgressBar
tr '\n' '#' < ./mx/preloaders/DownloadProgressBar.js > ./mx/preloaders/DownloadProgressBar.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.geom.RoundedRectangle');&/g" ./mx/preloaders/DownloadProgressBar.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.preloaders.IPreloaderDisplay');&/g" ./mx/preloaders/DownloadProgressBar.js_temp
tr '#' '\n' < ./mx/preloaders/DownloadProgressBar.js_temp > ./mx/preloaders/DownloadProgressBar.js
rm ./mx/preloaders/DownloadProgressBar.js_temp
# Add 'missing' (?) goog.require to mx.skins.halo.ToolTipBorder
tr '\n' '#' < ./mx/skins/halo/ToolTipBorder.js > ./mx/skins/halo/ToolTipBorder.js_temp
sed -i '' -e "s/####\/\*\*/##goog.require('mx.skins.RectangularBorder');&/g" ./mx/skins/halo/ToolTipBorder.js_temp
tr '#' '\n' < ./mx/skins/halo/ToolTipBorder.js_temp > ./mx/skins/halo/ToolTipBorder.js
rm ./mx/skins/halo/ToolTipBorder.js_temp
# Move property to below static method in mx.binding.Binding
tr '\n' '#' < ./mx/binding/Binding.js > ./mx/binding/Binding.js_temp
sed -i '' -e "s/###\/\*\*# \* @type {Object}# \*\/#mx.binding.Binding.allowedErrors = mx.binding.Binding.generateAllowedErrors();//g" ./mx/binding/Binding.js_temp
sed -i '' -e "s/ o\[2005\] = 1;# return o;#};/ o\[2005\] = 1;# return o;#};###\/\*\*# \* @type {Object}# \*\/#mx.binding.Binding.allowedErrors = mx.binding.Binding.generateAllowedErrors();/g" ./mx/binding/Binding.js_temp
tr '#' '\n' < ./mx/binding/Binding.js_temp > ./mx/binding/Binding.js
rm ./mx/binding/Binding.js_temp
cd ${ROOT}
#pwd
# create 'deps.js' for SDK + FP JS classes
./JSFlexSDKDeps.sh