You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/12/17 08:54:27 UTC
[17/55] [abbrv] git commit: [flex-asjs] [refs/heads/develop] -
backport clean compile of CreateJS
backport clean compile of CreateJS
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/4b7f2c06
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/4b7f2c06
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/4b7f2c06
Branch: refs/heads/develop
Commit: 4b7f2c0658800b69d05ed58bbf16022a47f461ab
Parents: 0e9b17d
Author: Alex Harui <ah...@apache.org>
Authored: Fri Dec 4 21:19:45 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Dec 7 21:56:35 2015 -0800
----------------------------------------------------------------------
.../src/org/apache/flex/createjs/Application.as | 176 +++++++---------
.../as/src/org/apache/flex/createjs/CheckBox.as | 98 ++++++++-
.../src/org/apache/flex/createjs/core/UIBase.as | 208 ++++++++++++++++++-
.../org/apache/flex/createjs/core/ViewBase.as | 17 +-
frameworks/projects/CreateJS/build.xml | 95 ++++++---
.../projects/CreateJS/compile-asjs-config.xml | 83 ++++++++
6 files changed, 531 insertions(+), 146 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/Application.as b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/Application.as
index fd78f89..c6048ff 100644
--- a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/Application.as
+++ b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/Application.as
@@ -17,23 +17,25 @@
//
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.createjs
-{
- import flash.display.DisplayObject;
- import flash.display.Sprite;
- import flash.display.StageAlign;
- import flash.display.StageScaleMode;
- import flash.events.IOErrorEvent;
-
- import org.apache.flex.core.IBead;
- import org.apache.flex.core.IFlexInfo;
- import org.apache.flex.core.IStrand;
- import org.apache.flex.core.IUIBase;
- import org.apache.flex.core.IValuesImpl;
- import org.apache.flex.core.ValuesManager;
- import org.apache.flex.createjs.core.ViewBase;
- import org.apache.flex.events.Event;
- import org.apache.flex.utils.MXMLDataInterpreter;
+{
+ import org.apache.flex.core.ApplicationBase;
+ import org.apache.flex.core.IBead;
+ import org.apache.flex.core.IFlexInfo;
+ import org.apache.flex.core.IStrand;
+ import org.apache.flex.core.IUIBase;
+ import org.apache.flex.core.IValuesImpl;
+ import org.apache.flex.core.ValuesManager;
+ import org.apache.flex.createjs.core.ViewBase;
+ import org.apache.flex.events.Event;
+ import org.apache.flex.utils.MXMLDataInterpreter;
+ COMPILE::JS
+ {
+ import org.apache.flex.core.WrappedHTMLElement;
+ import createjs.DisplayObject;
+ import createjs.Stage;
+ }
+
//--------------------------------------
// Events
//--------------------------------------
@@ -43,98 +45,70 @@ package org.apache.flex.createjs
*/
[Event(name="initialize", type="org.apache.flex.events.Event")]
- public class Application extends Sprite implements IStrand, IFlexInfo
+ /**
+ * FalconJX will inject html into the index.html file. Surround with
+ * "inject_html" tag as follows:
+ *
+ * <inject_html>
+ * <script src="https://code.createjs.com/easeljs-0.8.1.min.js"></script>
+ * </inject_html>
+ */
+ public class Application extends org.apache.flex.core.Application implements IStrand, IFlexInfo
{
public function Application()
{
super();
- if (stage)
- {
- stage.align = StageAlign.TOP_LEFT;
- stage.scaleMode = StageScaleMode.NO_SCALE;
- }
-
- loaderInfo.addEventListener(flash.events.Event.INIT, initHandler);
- }
-
- private function initHandler(event:flash.events.Event):void
- {
- MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
-
- ValuesManager.valuesImpl = valuesImpl;
- ValuesManager.valuesImpl.init(this);
-
- dispatchEvent(new Event("initialize"));
-
- addElement(initialView);
- initialView.initUI(model);
- dispatchEvent(new Event("viewChanged"));
- }
-
- public var valuesImpl:IValuesImpl;
-
- public var initialView:ViewBase;
-
- public var model:Object;
-
- public var controller:Object;
-
- public function get MXMLDescriptor():Array
- {
- return null;
- }
-
- public function get MXMLProperties():Array
- {
- return null;
- }
-
- // beads declared in MXML are added to the strand.
- // from AS, just call addBead()
- public var beads:Array;
-
- private var _beads:Vector.<IBead>;
- public function addBead(bead:IBead):void
- {
- if (!_beads)
- _beads = new Vector.<IBead>;
- _beads.push(bead);
- bead.strand = this;
- }
-
- public function getBeadByType(classOrInterface:Class):IBead
- {
- for each (var bead:IBead in _beads)
- {
- if (bead is classOrInterface)
- return bead;
- }
- return null;
- }
-
- public function removeBead(value:IBead):IBead
- {
- var n:int = _beads.length;
- for (var i:int = 0; i < n; i++)
- {
- var bead:IBead = _beads[i];
- if (bead == value)
- {
- _beads.splice(i, 1);
- return bead;
- }
- }
- return null;
- }
-
- public function info():Object
- {
- return {};
}
- public function addElement(c:Object):void
+ COMPILE::JS
+ private var stage:Stage;
+
+ /**
+ * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+ * @flexjsignorecoercion HTMLBodyElement
+ * @flexjsignorecoercion HTMLCanvasElement
+ */
+ COMPILE::JS
+ override public function start():void
+ {
+ var body:HTMLBodyElement;
+ var canvas:HTMLCanvasElement;
+
+ // For createjs, the application is the same as the canvas
+ // and it provides convenient access to the stage.
+
+ element = document.createElement('canvas') as WrappedHTMLElement;
+ canvas = element as HTMLCanvasElement;
+ canvas.id = 'flexjsCanvas';
+ canvas.width = 700;
+ canvas.height = 500;
+
+ body = document.getElementsByTagName('body')[0] as HTMLBodyElement;
+ body.appendChild(this.element);
+
+ stage = new createjs.Stage('flexjsCanvas');
+
+ /* AJH is this needed
+ MXMLDataInterpreter.generateMXMLProperties(this,
+ MXMLProperties);
+ */
+
+ dispatchEvent('initialize');
+
+ initialView.applicationModel = this.model;
+ addElement(initialView);
+
+ dispatchEvent('viewChanged');
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ override public function addElement(c:Object, dispatchEvent:Boolean = true):void
{
- addChild(c as DisplayObject);
+ stage.addChild(c as DisplayObject);
+ c.addedToParent();
}
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/CheckBox.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/CheckBox.as b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/CheckBox.as
index 571afa9..d072e82 100644
--- a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/CheckBox.as
+++ b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/CheckBox.as
@@ -18,9 +18,105 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.createjs
{
- import org.apache.flex.html.CheckBox;
+ COMPILE::AS3
+ {
+ import org.apache.flex.html.CheckBox;
+ }
+ COMPILE::JS
+ {
+ import createjs.Container;
+ import createjs.Shape;
+ import createjs.Text;
+
+ import org.apache.flex.createjs.core.UIBase;
+ import org.apache.flex.core.WrappedHTMLElement;
+ import org.apache.flex.events.Event;
+ }
+ COMPILE::AS3
public class CheckBox extends org.apache.flex.html.CheckBox
{
}
+
+ COMPILE::JS
+ public class CheckBox extends UIBase
+ {
+ private var checkMark:Shape;
+ private var checkMarkBackground:Shape;
+ private var checkBoxLabel:Text;
+
+ /**
+ * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
+ */
+ override public function createElement():WrappedHTMLElement
+ {
+ checkMarkBackground = new createjs.Shape(null);
+ checkMarkBackground.name = 'checkmarkbackground';
+ checkMarkBackground.graphics.beginFill('red').
+ drawRoundRect(0, 0, 40, 40, 8);
+
+ checkMark = new createjs.Shape(null);
+ checkMark.name = 'checkmark';
+ checkMark.graphics.beginFill('white').drawRoundRect(0, 0, 32, 32, 6);
+ checkMark.x = 4;
+ checkMark.y = 4;
+ checkMark.visible = false;
+
+ checkBoxLabel = new createjs.Text('checkbox', '20px Arial', '#ff7700');
+ checkBoxLabel.name = 'label';
+ checkBoxLabel.textAlign = 'left';
+ checkBoxLabel.textBaseline = 'middle';
+ checkBoxLabel.x = 45;
+ checkBoxLabel.y = 40 / 2;
+
+ var container:createjs.Container = new createjs.Container();
+ element = container as WrappedHTMLElement;
+ container.name = 'checkbox';
+ container.addChild(this.checkMarkBackground);
+ container.addChild(this.checkBoxLabel);
+ container.addChild(this.checkMark);
+ container.onClick = clickHandler;
+
+ this.positioner = this.element;
+ this.positioner.style.position = 'relative';
+
+ return this.element;
+ }
+
+ public function get text():String
+ {
+ return checkBoxLabel.text;
+ }
+
+ public function set text(value:String):void
+ {
+ checkBoxLabel.text = value;
+ }
+
+ public function get selected():Boolean
+ {
+ return checkMark.visible;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ */
+ public function set selected(value:Boolean):void
+ {
+ checkMark.visible = value;
+ (element as Container).getStage().update();
+ }
+
+
+ /**
+ * @param event The event.
+ */
+ private function clickHandler(event:Event):void
+ {
+ selected = !selected;
+ }
+
+
+ }
+
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/UIBase.as b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/UIBase.as
index dcb1e7c..b3051d7 100644
--- a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/UIBase.as
+++ b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/UIBase.as
@@ -18,44 +18,223 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.createjs.core
{
- import flash.display.DisplayObjectContainer;
- import flash.display.Sprite;
+ import org.apache.flex.core.HTMLElementWrapper;
import org.apache.flex.core.IStrand;
import org.apache.flex.core.IBeadModel;
import org.apache.flex.core.IBead;
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
- public class UIBase extends Sprite implements IStrand, IEventDispatcher
+ COMPILE::JS
+ {
+ import createjs.Container;
+ import createjs.DisplayObject;
+ import org.apache.flex.core.WrappedHTMLElement;
+ }
+
+ public class UIBase extends HTMLElementWrapper implements IStrand, IEventDispatcher
{
public function UIBase()
{
super();
+ COMPILE::JS
+ {
+ createElement();
+ }
}
+ COMPILE::JS
+ public var positioner:WrappedHTMLElement;
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function addElement(c:Object, dispatchEvent:Boolean = true):void
+ {
+ (element as Container).addChild(c as DisplayObject);
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void
+ {
+ (element as Container).addChildAt(c as DisplayObject, index);
+ }
+
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function getElementIndex(c:Object):int
+ {
+ return (element as Container).getChildIndex(c as DisplayObject);
+ }
+
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function removeElement(c:Object, dispatchEvent:Boolean = true):void
+ {
+ (element as Container).removeChild(c as DisplayObject);
+ }
+
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function getElementAt(index:int):Object
+ {
+ return (element as Container).getChildAt(index);
+ }
+
+
+ /**
+ * @flexjsignorecoercion createjs.Container
+ * @flexjsignorecoercion createjs.DisplayObject
+ */
+ COMPILE::JS
+ public function get numElements():int
+ {
+ return (element as Container).numChildren;
+ }
+
+ /**
+ * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement;
+ */
+ COMPILE::JS
+ public function createElement():WrappedHTMLElement
+ {
+ element = new Container() as WrappedHTMLElement;
+
+ positioner = this.element;
+ positioner.style.position = 'relative';
+ return element;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function get x():Number
+ {
+ return (positioner as Container).x;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function set x(value:Number):void
+ {
+ var container:Container = positioner as Container;
+ container.x = value;
+ container.getStage().update();
+ }
+
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function get y():Number
+ {
+ return (positioner as Container).y;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function set y(value:Number):void
+ {
+ var container:Container = positioner as Container;
+ container.y = value;
+ container.getStage().update();
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function get width():Number
+ {
+ return (positioner as Container).width;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function set width(value:Number):void
+ {
+ var container:Container = positioner as Container;
+ container.width = value;
+ container.getStage().update();
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function get height():Number
+ {
+ return (positioner as Container).height;
+ }
+
+ /**
+ * @flexjsignorecoercion createjs.Container;
+ */
+ COMPILE::JS
+ public function set height(value:Number):void
+ {
+ var container:Container = positioner as Container;
+ container.height = value;
+ container.getStage().update();
+ }
+
+ COMPILE::AS3
private var _width:Number = 0;
+ COMPILE::AS3
override public function get width():Number
{
- return _width;
+ return _width;
}
+
+ COMPILE::AS3
override public function set width(value:Number):void
{
- if (_width != value)
- {
- _width = value;
- dispatchEvent(new Event("widthChanged"));
- }
+ if (_width != value)
+ {
+ _width = value;
+ dispatchEvent(new Event("widthChanged"));
+ }
}
+ COMPILE::AS3
protected function get $width():Number
{
return super.width;
}
+ COMPILE::AS3
private var _height:Number = 0;
+ COMPILE::AS3
override public function get height():Number
{
return _height;
}
+ COMPILE::AS3
override public function set height(value:Number):void
{
if (_height != value)
@@ -64,16 +243,20 @@ package org.apache.flex.createjs.core
dispatchEvent(new Event("heightChanged"));
}
}
+ COMPILE::AS3
protected function get $height():Number
{
return super.height;
}
+ COMPILE::AS3
private var _model:IBeadModel;
+ COMPILE::AS3
public function get model():IBeadModel
{
return _model;
}
+ COMPILE::AS3
public function set model(value:IBeadModel):void
{
if (_model != value)
@@ -99,10 +282,13 @@ package org.apache.flex.createjs.core
// beads declared in MXML are added to the strand.
// from AS, just call addBead()
+ COMPILE::AS3
public var beads:Array;
+ COMPILE::AS3
private var _beads:Vector.<IBead>;
- public function addBead(bead:IBead):void
+ COMPILE::AS3
+ override public function addBead(bead:IBead):void
{
if (!_beads)
_beads = new Vector.<IBead>;
@@ -112,6 +298,7 @@ package org.apache.flex.createjs.core
bead.strand = this;
}
+ COMPILE::AS3
public function getBeadByType(classOrInterface:Class):IBead
{
for each (var bead:IBead in _beads)
@@ -122,6 +309,7 @@ package org.apache.flex.createjs.core
return null;
}
+ COMPILE::AS3
public function removeBead(value:IBead):IBead
{
var n:int = _beads.length;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/ViewBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/ViewBase.as b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/ViewBase.as
index d3ffe23..3331b8a 100644
--- a/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/ViewBase.as
+++ b/frameworks/projects/CreateJS/as/src/org/apache/flex/createjs/core/ViewBase.as
@@ -18,7 +18,10 @@
////////////////////////////////////////////////////////////////////////////////
package org.apache.flex.createjs.core
{
- import flash.display.DisplayObject;
+ COMPILE::AS3
+ {
+ import flash.display.DisplayObject;
+ }
import org.apache.flex.core.IParent;
import org.apache.flex.core.IUIBase;
@@ -37,7 +40,9 @@ package org.apache.flex.createjs.core
{
_applicationModel = model;
dispatchEvent(new Event("modelChanged"));
+ /* AJH needed?
MXMLDataInterpreter.generateMXMLProperties(this, MXMLProperties);
+ */
MXMLDataInterpreter.generateMXMLInstances(this, this, MXMLDescriptor);
}
@@ -46,11 +51,13 @@ package org.apache.flex.createjs.core
return null;
}
+ /*
public function get MXMLProperties():Array
{
return null;
}
-
+ */
+
public var mxmlContent:Array;
private var _applicationModel:Object;
@@ -61,31 +68,37 @@ package org.apache.flex.createjs.core
return _applicationModel;
}
+ COMPILE::AS3
public function addElement(c:Object, dispatchEvent:Boolean = true):void
{
addChild(c as DisplayObject);
}
+ COMPILE::AS3
public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void
{
addChildAt(c as DisplayObject, index);
}
+ COMPILE::AS3
public function getElementAt(index:int):Object
{
return getChildAt(index);
}
+ COMPILE::AS3
public function getElementIndex(c:Object):int
{
return getChildIndex(c as DisplayObject);
}
+ COMPILE::AS3
public function removeElement(c:Object, dispatchEvent:Boolean = true):void
{
removeChild(c as DisplayObject);
}
+ COMPILE::AS3
public function get numElements():int
{
return numChildren;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/build.xml b/frameworks/projects/CreateJS/build.xml
index 8aa4f7f..742c197 100644
--- a/frameworks/projects/CreateJS/build.xml
+++ b/frameworks/projects/CreateJS/build.xml
@@ -28,8 +28,6 @@
<property name="FLEX_HOME" value="${FLEXJS_HOME}"/>
<property name="FALCON_HOME" value="${env.FALCON_HOME}"/>
<property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/>
- <property name="gjslint" value="gjslint" />
- <property name="jshint" value="jshint" />
<condition property="no.lint" value="true">
<os family="windows"/>
</condition>
@@ -37,7 +35,7 @@
<target name="main" depends="clean,compile,test" description="Clean build of CreateJS.swc">
</target>
- <target name="all" depends="main,compile-asjs,lint-js,test-js" description="Full build of Binding.swc">
+ <target name="all" depends="clean,compile-asjs,compile-extern-swc,copy-js,compile,test" description="Full build of CreateJS.swc">
</target>
<target name="test" unless="is.jenkins">
@@ -95,46 +93,79 @@
<load-config filename="compile-config.xml" />
<arg value="+playerglobal.version=${playerglobal.version}" />
<arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-define=COMPILE::AS3,true" />
+ <arg value="-define=COMPILE::JS,false" />
</compc>
</target>
<target name="compile-asjs" >
- <!-- nothing to cross-compile yet -->
+ <echo message="Cross-compiling CreateJS"/>
+ <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+ <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" >
+ <jvmarg value="-Xmx384m" />
+ <jvmarg value="-Dsun.io.useCanonCaches=false" />
+ <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" />
+ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" />
+ <arg value="+flexlib=${FLEX_HOME}/frameworks" />
+ <arg value="-js-output-type=FLEXJS" />
+ <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations -->
+ <arg value="-output=${basedir}/js/out" />
+ <arg value="-load-config=${basedir}/compile-asjs-config.xml" />
+ <arg value="+playerglobal.version=${playerglobal.version}" />
+ <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+ <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/createjs/out/bin/createjs.swc" />
+ <!-- this is not on external-library path otherwise goog.requires are not generated -->
+ <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
+ <arg value="-define=COMPILE::AS3,false" />
+ <arg value="-define=COMPILE::JS,true" />
+ </java>
+ </target>
+
+ <target name="compile-extern-swc" description="Compiles .as files into .swc used for cross-compiling other projects">
+ <echo message="Compiling externs/CreateJS.swc"/>
+ <echo message="FLEX_HOME: ${FLEX_HOME}"/>
+ <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+ <!-- make JS output folder now so include-file doesn't error -->
+ <mkdir dir="${FLEXJS_HOME}/frameworks/externs"/>
+
+ <!-- Load the <compc> task. We can't do this at the <project> level -->
+ <!-- because targets that run before flexTasks.jar gets built would fail. -->
+ <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+ <!--
+ Link in the classes (and their dependencies) for the MXML tags
+ listed in this project's manifest.xml.
+ Also link the additional classes (and their dependencies)
+ listed in CoreClasses.as,
+ because these aren't referenced by the manifest classes.
+ Keep the standard metadata when compiling.
+ Include the appropriate CSS files and assets in the SWC.
+ Don't include any resources in the SWC.
+ Write a bundle list of referenced resource bundles
+ into the file bundles.properties in this directory.
+ -->
+ <compc fork="true"
+ output="${FLEXJS_HOME}/frameworks/externs/CreateJS.swc">
+ <jvmarg line="${compc.jvm.args}"/>
+ <load-config filename="compile-asjs-config.xml" />
+ <arg value="+playerglobal.version=${playerglobal.version}" />
+ <arg value="+env.AIR_HOME=${env.AIR_HOME}" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/js/out/bin/js.swc" />
+ <arg value="-external-library-path+=${FALCONJX_HOME}/../externs/createjs/out/bin/createjs.swc" />
+ <!-- this is not on external-library path otherwise goog.requires are not generated -->
+ <arg value="-library-path+=${FALCONJX_HOME}/../externs/GCL/out/bin/GCL.swc" />
+ <arg value="-define=COMPILE::AS3,false" />
+ <arg value="-define=COMPILE::JS,true" />
+ </compc>
</target>
- <target name="lint-js" depends="gjslint, jshint, copy-js" />
<target name="copy-js" >
<copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs">
- <fileset dir="${basedir}/js/src">
+ <fileset dir="${basedir}/js/out">
<include name="**/**" />
</fileset>
</copy>
</target>
- <target name="gjslint" unless="no.lint">
- <echo>running gjslint</echo>
- <exec executable="${gjslint}" dir="${basedir}" failonerror="true">
- <arg value="--strict" />
- <arg value="--disable" />
- <arg value="006,100,214,300" />
- <!-- 006: wrong indentation -->
- <!-- 100: cannot have non-primitive value -->
- <!-- 214: @fileoverview tag missing description -->
- <!-- 300: missing newline at end of file -->
- <arg value="--max_line_length" />
- <arg value="120" />
- <arg value="-r" />
- <arg value="${basedir}/js/src" />
- </exec>
- </target>
-
- <target name="jshint" unless="no.lint">
- <echo>running jshint</echo>
- <exec executable="${jshint}" dir="${basedir}" failonerror="true">
- <arg value="--config" />
- <arg value="${FLEX_HOME}/frameworks/js/jshint.properties" />
- <arg value="${basedir}/js/src" />
- </exec>
- </target>
-
</project>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b7f2c06/frameworks/projects/CreateJS/compile-asjs-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/CreateJS/compile-asjs-config.xml b/frameworks/projects/CreateJS/compile-asjs-config.xml
new file mode 100644
index 0000000..35c65b3
--- /dev/null
+++ b/frameworks/projects/CreateJS/compile-asjs-config.xml
@@ -0,0 +1,83 @@
+<!--
+
+ 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.
+
+-->
+<flex-config>
+
+ <compiler>
+ <accessible>false</accessible>
+
+ <external-library-path>
+ </external-library-path>
+
+ <mxml>
+ <children-as-data>true</children-as-data>
+ </mxml>
+ <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
+ <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
+ <binding-value-change-event-type>valueChange</binding-value-change-event-type>
+
+ <keep-as3-metadata>
+ <name>Bindable</name>
+ <name>Managed</name>
+ <name>ChangeEvent</name>
+ <name>NonCommittingChangeEvent</name>
+ <name>Transient</name>
+ </keep-as3-metadata>
+
+ <locale/>
+
+ <library-path>
+ </library-path>
+
+ <namespaces>
+ <namespace>
+ <uri>library://ns.apache.org/flexjs/createjs</uri>
+ <manifest>createjs-manifest.xml</manifest>
+ </namespace>
+ </namespaces>
+
+ <source-path>
+ <path-element>as/src</path-element>
+ </source-path>
+
+ <library-path>
+ <path-element>../../externs/Core.swc</path-element>
+ <path-element>../../externs/HTML.swc</path-element>
+ </library-path>
+
+ <warn-no-constructor>false</warn-no-constructor>
+ </compiler>
+
+ <include-file>
+ </include-file>
+
+ <include-sources>
+ </include-sources>
+
+ <include-classes>
+ <class>CreateJSClasses</class>
+ </include-classes>
+
+ <include-namespaces>
+ <uri>library://ns.apache.org/flexjs/createjs</uri>
+ </include-namespaces>
+
+ <!--<target-player>${playerglobal.version}</target-player>-->
+
+
+</flex-config>