http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml index 0e786c5..5052955 100644 --- a/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml +++ b/frameworks/js/FlexJS/projects/GoogleMapsJS/build.xml @@ -26,36 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <condition property="GOOGLEMAPS.SWC" value="${FALCONJX_HOME}/../js/libs/google_maps.swc" > - <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" /> - </condition> - <property name="GOOGLEMAPS.SWC" value="${FALCONJX_HOME}/../externs/google_maps/target/google_maps.swc" /> - <property name="target.name" value="GoogleMapsJS.swc" /> - <property name="target.name.no.version" value="GoogleMapsJS.swc" /> - - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of GoogleMaps.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -64,12 +44,8 @@ </fileset> </delete> </target> - - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -80,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -94,7 +71,7 @@ <arg value="-define=COMPILE::JS,true" /> </java> </target> - + <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects"> <echo message="Compiling target/${target.name}"/> <echo message="FLEX_HOME: ${FLEX_HOME}"/> @@ -102,44 +79,87 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <arg value="-external-library-path+=${GOOGLEMAPS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - - <target name="copy-js"> + + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <condition property="GOOGLEMAPS.SWC" value="${FALCONJX_HOME}/../js/libs/google_maps.swc" > + <available file="${FALCONJX_HOME}/../js/libs/google_maps.swc" /> + </condition> + <property name="GOOGLEMAPS.SWC" value="${FALCONJX_HOME}/../externs/google_maps/target/google_maps.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> </project>
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/GraphicsJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml index e752171..d8925df 100644 --- a/frameworks/js/FlexJS/projects/GraphicsJS/build.xml +++ b/frameworks/js/FlexJS/projects/GraphicsJS/build.xml @@ -26,40 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="GraphicsJS.swc" /> - <property name="target.name.no.version" value="GraphicsJS.swc" /> - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of GraphicsJS.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - <ant dir="asjs/tests" /> - --> - </target> + <property name="target.name" value="${ant.project.name}.swc" /> - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> - <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -69,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -84,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -105,43 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/HTML5JS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/HTML5JS/build.xml b/frameworks/js/FlexJS/projects/HTML5JS/build.xml index 0ea7b40..372f272 100644 --- a/frameworks/js/FlexJS/projects/HTML5JS/build.xml +++ b/frameworks/js/FlexJS/projects/HTML5JS/build.xml @@ -26,32 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="HTML5JS.swc" /> - <property name="target.name.no.version" value="HTML5JS.swc" /> - - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of HTML5.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -61,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -76,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -97,43 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/HTMLJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/HTMLJS/build.xml b/frameworks/js/FlexJS/projects/HTMLJS/build.xml index 227fcaf..bc08c2b 100644 --- a/frameworks/js/FlexJS/projects/HTMLJS/build.xml +++ b/frameworks/js/FlexJS/projects/HTMLJS/build.xml @@ -26,38 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="HTMLJS.swc" /> - <property name="target.name.no.version" value="HTMLJS.swc" /> - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of HTMLJS.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="src/test/flex"/> - --> - </target> + <property name="target.name" value="${ant.project.name}.swc" /> - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -67,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -82,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -95,7 +70,7 @@ <arg value="-define=COMPILE::JS,true" /> </java> </target> - + <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects"> <echo message="Compiling target/${target.name}"/> <echo message="FLEX_HOME: ${FLEX_HOME}"/> @@ -103,44 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - - <target name="copy-js"> + + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - - + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/JQueryJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/JQueryJS/build.xml b/frameworks/js/FlexJS/projects/JQueryJS/build.xml index e060659..fa3a7cf 100644 --- a/frameworks/js/FlexJS/projects/JQueryJS/build.xml +++ b/frameworks/js/FlexJS/projects/JQueryJS/build.xml @@ -26,36 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <condition property="JQUERY.SWC" value="${FALCONJX_HOME}/../js/libs/jquery.swc" > - <available file="${FALCONJX_HOME}/../js/libs/jquery.swc" /> - </condition> - <property name="JQUERY.SWC" value="${FALCONJX_HOME}/../externs/jquery/target/jquery-1.9.swc" /> - <property name="target.name" value="JQueryJS.swc" /> - <property name="target.name.no.version" value="JQueryJS.swc" /> - - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of jQuery.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -65,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -80,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -102,44 +79,84 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <arg value="-external-library-path+=${JQUERY.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <property name="JQUERY.SWC" value="${FALCONJX_HOME}/../externs/jquery/target/jquery-1.9.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/MobileJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/MobileJS/build.xml b/frameworks/js/FlexJS/projects/MobileJS/build.xml index ef08d3c..ce9d392 100644 --- a/frameworks/js/FlexJS/projects/MobileJS/build.xml +++ b/frameworks/js/FlexJS/projects/MobileJS/build.xml @@ -26,32 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="MobileJS.swc" /> - <property name="target.name.no.version" value="MobileJS.swc" /> - - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of Mobile.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -61,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -76,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -97,43 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/NetworkJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/NetworkJS/build.xml b/frameworks/js/FlexJS/projects/NetworkJS/build.xml index 9cb09a3..42fc17c 100644 --- a/frameworks/js/FlexJS/projects/NetworkJS/build.xml +++ b/frameworks/js/FlexJS/projects/NetworkJS/build.xml @@ -26,38 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="NetworkJS.swc" /> - <property name="target.name.no.version" value="NetworkJS.swc" /> - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js" description="Full build of Network.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> - </target> + <property name="target.name" value="${ant.project.name}.swc" /> - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -67,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -82,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -103,43 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/ReflectionJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml index 7c24589..edeef54 100644 --- a/frameworks/js/FlexJS/projects/ReflectionJS/build.xml +++ b/frameworks/js/FlexJS/projects/ReflectionJS/build.xml @@ -26,38 +26,16 @@ <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="ReflectionJS.swc" /> - <property name="target.name.no.version" value="ReflectionJS.swc" /> - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of Reflection.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> - </target> + <property name="target.name" value="${ant.project.name}.swc" /> - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -67,11 +45,7 @@ </delete> </target> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -82,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -103,44 +78,82 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - <target name="copy-js"> + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/StorageJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/StorageJS/build.xml b/frameworks/js/FlexJS/projects/StorageJS/build.xml index c9370b2..03f3055 100644 --- a/frameworks/js/FlexJS/projects/StorageJS/build.xml +++ b/frameworks/js/FlexJS/projects/StorageJS/build.xml @@ -21,47 +21,21 @@ <project name="StorageJS" default="main" basedir="."> <property name="FLEXJS_HOME" location="../../../../.."/> - + <property file="${FLEXJS_HOME}/env.properties"/> <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> - <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > - <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> - </condition> - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > - <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> - </condition> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <condition property="CORDOVA.SWC" value="${FALCONJX_HOME}/../js/libs/cordova.swc" > - <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" /> - </condition> - <property name="CORDOVA.SWC" value="${FALCONJX_HOME}/../externs/cordova/target/cordova.swc" /> - <property name="target.name" value="StorageJS.swc" /> - <property name="target.name.no.version" value="StorageJS.swc" /> - - <target name="main" depends="clean,compile-js-swc,compile-asjs,copy-js,test" description="Full build of Storage.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests"/> - --> + + <property name="target.name" value="${ant.project.name}.swc" /> + + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> - - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> - </target> - + <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -70,12 +44,8 @@ </fileset> </delete> </target> - - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - - <target name="compile-asjs"> + + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -86,6 +56,7 @@ <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> <arg value="+flexlib=${FLEX_HOME}/frameworks" /> <arg value="-js-output-type=FLEXJS" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> <arg value="-output=${basedir}/target/generated-sources/flexjs" /> <arg value="-load-config=${basedir}/src/main/config/compile-js-config.xml" /> @@ -93,14 +64,14 @@ <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-external-library-path+=${CORDOVA.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> - <arg value="--external-library-path+=${CORDOVA.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </java> </target> - + <target name="compile-js-swc" description="Compiles .as files into .swc used for cross-compiling other projects"> <echo message="Compiling target/${target.name}"/> <echo message="FLEX_HOME: ${FLEX_HOME}"/> @@ -108,44 +79,87 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> - <arg value="-external-library-path+=${JS.SWC}" /> + <arg value="-compiler.strict-xml=true" /> + <arg value="-external-library-path=${JS.SWC}" /> + <arg value="-external-library-path+=${CORDOVA.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> - <arg value="--external-library-path+=${CORDOVA.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> - - <target name="copy-js"> + + <target name="copy-js" > <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"/> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/generated-sources"> <fileset dir="${basedir}/target/generated-sources/flexjs"> - <include name="**/**"/> + <include name="**/**" /> </fileset> </copy> </target> - + + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <condition property="CORDOVA.SWC" value="${FALCONJX_HOME}/../js/libs/cordova.swc" > + <available file="${FALCONJX_HOME}/../js/libs/cordova.swc" /> + </condition> + <property name="CORDOVA.SWC" value="${FALCONJX_HOME}/../externs/cordova/target/cordova.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + + <target name="check-falcon-home" unless="FALCON_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCON_HOME is ${env.FALCON_HOME}"/> + + <available file="${env.FALCON_HOME}/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${env.FALCON_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" + type="file" + property="FALCON_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> + + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" + unless="FALCON_HOME"/> + </target> + + <target name="check-falconjx-home" unless="FALCONJX_HOME" + description="Check FALCON_HOME is a directory."> + + <echo message="FALCONJX_HOME is ${env.FALCONJX_HOME}"/> + + <available file="${env.FALCONJX_HOME}/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${env.FALCONJX_HOME}"/> + + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" + type="file" + property="FALCONJX_HOME" + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> + + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" + unless="FALCONJX_HOME"/> + </target> + </project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a72a205c/frameworks/js/FlexJS/projects/XMLJS/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/js/FlexJS/projects/XMLJS/build.xml b/frameworks/js/FlexJS/projects/XMLJS/build.xml index a774ccd..3b6ad6c 100644 --- a/frameworks/js/FlexJS/projects/XMLJS/build.xml +++ b/frameworks/js/FlexJS/projects/XMLJS/build.xml @@ -27,37 +27,15 @@ <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <target name="more-props" > - <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> - <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> - <property name="target.name" value="XMLJS.swc" /> - <property name="target.name.no.version" value="XMLJS.swc" /> - <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> - </path> - </target> + <property name="target.name" value="${ant.project.name}.swc" /> - <!--<target name="main" depends="clean,check-falcon-home,check-falconjx-home,more-props,compile-asjs,compile-js-swc,copy-js,compile,test-js" description="Full build of XML.swc"> - </target>--> - <target name="main" depends="clean,check-falcon-home,check-falconjx-home,more-props,compile-asjs,copy-js,test-js" description="Full build of XML.swc"> - </target> - - <target name="test" unless="is.jenkins"> - <!-- no tests yet - <ant dir="as/tests" /> - --> - </target> - - <target name="test-js" unless="is.jenkins"> - <!-- no tests yet - <ant dir="js/tests" /> - --> + <target name="main" depends="clean,check-compiler,compile-js-swc,compile-asjs,copy-js" description="Full build of ${ant.project.name}.swc"> </target> <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> - <include name="${target.name.no.version}"/> + <include name="${target.name}"/> </fileset> </delete> <delete failonerror="false" includeemptydirs="true"> @@ -67,7 +45,7 @@ </delete> </target> - <target name="compile-asjs"> + <target name="compile-asjs" depends="check-compiler"> <echo message="Cross-compiling ${target.name}"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> <mkdir dir="${basedir}/target/generated-sources/flexjs"/> @@ -100,34 +78,20 @@ <mkdir dir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"/> <mkdir dir="${basedir}/target"/> - <!-- 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="${basedir}/target/${target.name}"> <jvmarg line="${compc.jvm.args}"/> <load-config filename="src/main/config/compile-js-config.xml" /> <arg value="+playerglobal.version=${playerglobal.version}" /> <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> + <arg value="-compiler.strict-xml=true" /> <arg value="-external-library-path=${JS.SWC}" /> <!-- this is not on external-library path otherwise goog.requires are not generated --> <arg value="-library-path+=${GCL.SWC}" /> <arg value="-define=COMPILE::AS3,false" /> <arg value="-define=COMPILE::JS,true" /> </compc> - <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name.no.version}" /> + <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/js/FlexJS/libs/${target.name}" /> </target> <target name="copy-js" > @@ -139,6 +103,21 @@ </copy> </target> + <target name="check-compiler" depends="check-falcon-home, check-falconjx-home"> + <condition property="JS.SWC" value="${FALCONJX_HOME}/../js/libs/js.swc" > + <available file="${FALCONJX_HOME}/../js/libs/js.swc" /> + </condition> + <property name="JS.SWC" value="${FALCONJX_HOME}/../externs/js/target/js.swc" /> + <condition property="GCL.SWC" value="${FALCONJX_HOME}/../js/libs/GCL.swc" > + <available file="${FALCONJX_HOME}/../js/libs/GCL.swc" /> + </condition> + <property name="GCL.SWC" value="${FALCONJX_HOME}/../externs/GCL/target/GCL.swc" /> + <path id="lib.path"> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + </path> + <taskdef resource="flexTasks.tasks" classpathref="lib.path"/> + </target> + <target name="check-falcon-home" unless="FALCON_HOME" description="Check FALCON_HOME is a directory."> @@ -149,12 +128,12 @@ property="FALCON_HOME" value="${env.FALCON_HOME}"/> - <available file="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk/lib/falcon-mxmlc.jar" + <available file="${FLEXJS_HOME}/../flex-falcon/compiler/lib/falcon-mxmlc.jar" type="file" property="FALCON_HOME" - value="${FLEXJS_HOME}/../flex-falcon/compiler/generated/dist/sdk"/> + value="${FLEXJS_HOME}/../flex-falcon/compiler"/> - <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler/generated/dist/sdk folder in flex-falcon repo or this folder if it has been converted into an FB-compatible SDK" + <fail message="FALCON_HOME must be set to a folder with a lib sub-folder containing falcon-mxmlc.jar such as the compiler folder in flex-falcon repo or a FlexJS SDK folder" unless="FALCON_HOME"/> </target> @@ -168,16 +147,13 @@ property="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <available file="${FLEXJS_HOME}/../flex-falcon/compiler.jx/lib/jsc.jar" + <available file="${FLEXJS_HOME}/../flex-falcon/compiler-jx/lib/jsc.jar" type="file" property="FALCONJX_HOME" - value="${FLEXJS_HOME}/../flex-falcon/compiler.jx"/> + value="${FLEXJS_HOME}/../flex-falcon/compiler-jx"/> - <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler.jx folder in flex-falcon repo or the js folder if it has been converted into an FB-compatible SDK" + <fail message="FALCONJX_HOME must be set to a folder with a lib sub-folder containing jsc.jar such as the compiler-jx folder in flex-falcon repo or the js folder of a FlexJS SDK" unless="FALCONJX_HOME"/> </target> - <target name="asjs" depends="check-falcon-home,check-falconjx-home,more-props,compile-asjs"> - </target> - </project>