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 2016/04/25 19:07:35 UTC

git commit: [flex-falcon] [refs/heads/feature/maven-migration-test] - initial attempt at restoring release packaging.

Repository: flex-falcon
Updated Branches:
  refs/heads/feature/maven-migration-test e629adf6a -> 1e2d64d60


initial attempt at restoring release packaging.


Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/1e2d64d6
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/1e2d64d6
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/1e2d64d6

Branch: refs/heads/feature/maven-migration-test
Commit: 1e2d64d60aac57f7ca5df616acf77994edc14c8d
Parents: e629adf
Author: Alex Harui <ah...@apache.org>
Authored: Mon Apr 25 10:06:12 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Apr 25 10:06:12 2016 -0700

----------------------------------------------------------------------
 build.xml                                 | 224 ++++++-------------------
 compiler/src/main/resources/downloads.xml |  10 +-
 installer.properties/en_US.properties     |  22 +++
 installer.xml                             | 180 ++++++++++++++++++++
 4 files changed, 258 insertions(+), 178 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1e2d64d6/build.xml
----------------------------------------------------------------------
diff --git a/build.xml b/build.xml
index 8510c18..13f5e63 100644
--- a/build.xml
+++ b/build.xml
@@ -76,10 +76,6 @@
     
     <target name="oem" depends="compiler.oem" description="Builds FB Integration JAR" />
 
-    <target name="compiler.binary.release" >
-        <ant dir="compiler" target="release-binaries" />
-    </target>
-    
     <target name="tests" description="Runs the tests." unless="skip.compiler.tests">
         <ant dir="compiler" target="test"/>
     </target>
@@ -104,6 +100,16 @@
         <ant dir="compiler-jx/src/test" target="copyLastSuccessfulBuild"/>
     </target>
     
+    <target name="extern.swcs">
+        <ant dir="externs" />
+    </target>
+    <target name="extern.swcs.clean" >
+        <ant dir="externs" target="clean"/>
+    </target>
+    <target name="extern.swcs.wipe" >
+        <ant dir="externs" target="wipe"/>
+    </target>
+    
     <target name="clean" description="Cleans the build output but leaves any downloaded JARs.">
         <ant dir="compiler" target="clean"/>
         <ant dir="compiler/src/test" target="clean"/>
@@ -183,7 +189,7 @@
         description="Packages the source release kit which is the official Apache release."/>
         
     <target name="binary-release"
-        depends="setup-binary-release,compiler.binary.release,compiler.jx,extern.swcs,compiler.oem,debugger,binary-package,javadoc"
+        depends="setup-binary-release,all,binary-package,javadoc"
         description="Builds and packages the binary kit which is provided as a convenience."/>
         
     <!--
@@ -253,34 +259,20 @@
         <!-- compiler -->
         <antcall target="stage-compiler"/>
         
-        <!-- compiler.tests -->
-        <antcall target="stage-compiler.tests"/>
-        
-        <!-- compiler -->
+        <!-- flex-compiler-oem and fdb -->
         <antcall target="stage-fb-integration"/>
         
         <!-- externs -->
         <antcall target="stage-externs"/>
         
-        <!-- copy the flex-sdk files that go in bin-legacy -->
-        <ant dir="compiler" target="stage.sdk" />
-        <mkdir dir="${basedir}/temp/compiler/generated/dist/sdk" />
-        <copy todir="${basedir}/temp/compiler/generated/dist/sdk">
-            <fileset dir="${basedir}/compiler/generated/dist/sdk">
-                <include name="**/**"/>
-                <exclude name="**/*.jar"/>
-                <exclude name="env.properties"/>
-            </fileset>
-        </copy>
-        
         <!--
          Source files have Windows line endings.  Most UNIX editors can handle
          either type of line endings but the converse is often not true.
          -->
         <fixcrlf srcdir="${basedir}/temp" eol="crlf" fixlast="false">
-            <exclude name="compiler/generated/dist/sdk/bin/**"/>
-            <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/>
-            <exclude name="compiler/commandline/**"/>
+            <exclude name="compiler/src/assembly/**"/>
+            <exclude name="compiler-jx/src/assembly/**"/>
+            <exclude name="compiler/target/**"/>
             <exclude name="**/assets/**"/>
             <exclude name="**/*.fla"/>
             <exclude name="**/*.flv"/>
@@ -293,7 +285,7 @@
             <exclude name="**/*.sh"/>
             <exclude name="**/*.swf"/>
         </fixcrlf>
-        <fixcrlf srcdir="${basedir}/temp/compiler/commandline" eol="crlf" fixlast="false">
+        <fixcrlf srcdir="${basedir}/temp/compiler/src/assembly" eol="crlf" fixlast="false">
             <include name="**.bat"/>
         </fixcrlf>
         
@@ -302,8 +294,6 @@
          -->
         <fixcrlf srcdir="${basedir}/temp" eol="unix" fixlast="false">  
             <include name="**.sh"/>
-            <exclude name="compiler/generated/dist/sdk/bin/**"/>
-            <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/>
         </fixcrlf>
     </target>
 
@@ -314,10 +304,13 @@
                 <exclude name=".classpath" />
                 <exclude name=".project" />
                 <exclude name=".settings/**" />
-                <exclude name="dist/**"/>
-                <exclude name="generated/**"/>
                 <exclude name="in/**"/>
                 <exclude name="lib/**"/>
+                <exclude name="target/classes/**"/>
+                <exclude name="target/test-classes/**"/>
+                <exclude name="target/junit-temp/**"/>
+                <exclude name="target/junit-reports/**"/>
+                <exclude name="**/unittest.properties" />
             </fileset>
         </copy>
         
@@ -337,7 +330,7 @@
                 <exclude name=".classpath" />
                 <exclude name=".project" />
                 <exclude name=".settings/**" />
-                <exclude name="bin/**"/>
+                <exclude name="target/**"/>
             </fileset>
         </copy>
         <copy todir="${basedir}/temp/flex-compiler-oem" includeEmptyDirs="false">
@@ -346,7 +339,7 @@
                 <exclude name=".classpath" />
                 <exclude name=".project" />
                 <exclude name=".settings/**" />
-                <exclude name="bin/**"/>
+                <exclude name="target/**"/>
             </fileset>
         </copy>
     </target>
@@ -354,29 +347,11 @@
     <target name="stage-externs">
         <copy todir="${basedir}/temp/externs" includeEmptyDirs="false">
             <fileset dir="${basedir}/externs">
-                <include name="**/*.xml"/>
-                <include name="**/missing.js"/>
-                <include name="js/src/**"/>
-                <include name="cordova/externs/**"/>
-            </fileset>
-        </copy>
-    </target>
-    
-    <target name="stage-compiler.tests">
-        <copy todir="${basedir}/temp/compiler.tests" includeEmptyDirs="false">
-            <fileset dir="${basedir}/compiler.tests">
                 <include name="**"/>
-                <exclude name=".classpath" />
-                <exclude name=".project" />
-                <exclude name="unittest.properties" />
-                <exclude name="classes/**"/>
-                <exclude name="lib/**"/>
-                <exclude name="results/**"/>
-                <exclude name="temp/**"/>
             </fileset>
         </copy>
     </target>
-
+    
     <target name="stage-source-jx"
         description="Package jx source files with other falcon files required to build in zip file" >
         
@@ -391,8 +366,8 @@
             </fileset>
         </copy>
         
-        <copy todir="${basedir}/temp/compiler.jx" includeEmptyDirs="false">
-            <fileset dir="${basedir}/compiler.jx">
+        <copy todir="${basedir}/temp/compiler-jx" includeEmptyDirs="false">
+            <fileset dir="${basedir}/compiler-jx">
                 <include name="**"/>
                 <exclude name=".classpath" />
                 <exclude name=".project" />
@@ -400,46 +375,21 @@
                 <exclude name="classes/**"/>
                 <exclude name="in/**"/>
                 <exclude name="lib/**"/>
+                <exclude name="target/classes/**"/>
+                <exclude name="target/test-classes/**"/>
+                <exclude name="target/junit-temp/**"/>
+                <exclude name="target/junit-results/**"/>
+                <exclude name="**/unittest.properties" />
             </fileset>
         </copy>
         
-        <copy todir="${basedir}/temp/compiler.jx.tests" includeEmptyDirs="false">
-            <fileset dir="${basedir}/compiler.jx.tests">
-                <include name="**"/>
-                <exclude name=".classpath" />
-                <exclude name=".project" />
-                <exclude name=".settings/**" />
-                <exclude name="unittest.properties" />
-                <exclude name="classes/**"/>
-                <exclude name="lib/**"/>
-                <exclude name="results/**"/>
-                <exclude name="temp/**"/>
-            </fileset>
-        </copy>
-
-        <!-- these files are hand-ported -->
-        <mkdir dir="${basedir}/temp/externs/GCL/src"/>
-        <copy todir="${basedir}/temp/externs/GCL/src">
-            <fileset dir="${basedir}/externs/GCL/src">
-                <include name="**/**"/>
-            </fileset>
-        </copy>
-        <mkdir dir="${basedir}/temp/externs/node/externs"/>
-        <copy todir="${basedir}/temp/externs/node/externs">
-            <fileset dir="${basedir}/externs/node/externs">
-                <include name="**/**"/>
-            </fileset>
-        </copy>
-
         <!--
          Source files have Windows line endings.  Most UNIX editors can handle
          either type of line endings but the converse is often not true.
          -->
         <fixcrlf srcdir="${basedir}/temp" eol="crlf" fixlast="false">
-            <exclude name="compiler/generated/dist/sdk/bin/**"/>
-            <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/>
-            <exclude name="compiler/commandline/**"/>
-            <exclude name="compiler.jx/bin/**"/>
+            <exclude name="compiler/src/assembly/**"/>
+            <exclude name="compiler-jx/src/assembly/**"/>
             <exclude name="**/assets/**"/>
             <exclude name="**/*.fla"/>
             <exclude name="**/*.flv"/>
@@ -452,22 +402,20 @@
             <exclude name="**/*.sh"/>
             <exclude name="**/*.swf"/>
         </fixcrlf>
-        <fixcrlf srcdir="${basedir}/temp/compiler/commandline" eol="crlf" fixlast="false">
+        <fixcrlf srcdir="${basedir}/temp/compiler/src/assembly" eol="crlf" fixlast="false">
             <include name="**.bat"/>
         </fixcrlf>
-        <fixcrlf srcdir="${basedir}/temp/compiler.jx/bin" eol="crlf" fixlast="false">
+        <fixcrlf srcdir="${basedir}/temp/compiler-jx/src/assembly" eol="crlf" fixlast="false">
             <include name="**.bat"/>
         </fixcrlf>
-        <chmod dir="${basedir}/temp/compiler/commandline" excludes="**/*.bat" perm="+x" />
-        <chmod dir="${basedir}/temp/compiler.jx/bin" excludes="**/*.bat" perm="+x" />
+        <chmod dir="${basedir}/temp/compiler/src/assembly" excludes="**/*.bat" perm="+x" />
+        <chmod dir="${basedir}/temp/compiler-jx/src/assembly" excludes="**/*.bat" perm="+x" />
         
         <!--
          Unix shell scripts need the correct line endings.
          -->
         <fixcrlf srcdir="${basedir}/temp" eol="unix" fixlast="false">
             <include name="**.sh"/>
-            <exclude name="compiler/generated/dist/sdk/bin/**"/>
-            <exclude name="compiler/generated/dist/sdk/bin-legacy/**"/>
         </fixcrlf>
     </target>
 
@@ -482,16 +430,6 @@
         
     </target>
     
-    <target name="extern.swcs">
-        <ant dir="externs" />
-    </target>
-    <target name="extern.swcs.clean" >
-        <ant dir="externs" target="clean"/>
-    </target>
-    <target name="extern.swcs.wipe" >
-        <ant dir="externs" target="wipe"/>
-    </target>
-    
     <target name="binary-package"
         description="Package binary files in zip and tar-gzip file.">
         
@@ -499,59 +437,15 @@
         
         <!-- these files are in addition to the remaining source files -->
         
-        <!-- copy the flex-sdk files that go in generated/dist/sdk -->
-        <ant dir="compiler" target="copy.sdk" />
-        
         <!-- generated -->
-        <copy todir="${basedir}/temp/compiler/generated/dist/sdk">
-            <fileset dir="${basedir}/compiler/generated/dist/sdk">
+        <copy todir="${basedir}/temp/compiler/lib">
+            <fileset dir="${basedir}/compiler/lib">
                 <include name="**"/>
                 <exclude name="lib/external/**"/>
                 <exclude name="**/env.properties"/>
             </fileset>
         </copy>
         
-        <fixcrlf srcdir="${basedir}/temp/compiler/generated/dist/sdk/bin" eol="unix" fixlast="false">
-            <include name="aasdoc"/>
-            <include name="acompc"/>
-            <include name="adl"/>
-            <include name="amxmlc"/>
-            <include name="asc"/>
-            <include name="asdoc"/>
-            <include name="compc"/>
-            <include name="copylocale"/>
-            <include name="digest"/>
-            <include name="fcsh"/>
-            <include name="fdb"/>
-            <include name="fontswf"/>
-            <include name="mxmlc"/>
-            <include name="optimizer"/>
-            <include name="swcdepends"/>
-            <include name="swfdump"/>
-        </fixcrlf>
-        
-        <fixcrlf srcdir="${basedir}/temp/compiler/generated/dist/sdk/bin-legacy" eol="unix" fixlast="false">
-            <include name="aasdoc"/>
-            <include name="acompc"/>
-            <include name="adl"/>
-            <include name="amxmlc"/>
-            <include name="asc"/>
-            <include name="asdoc"/>
-            <include name="compc"/>
-            <include name="copylocale"/>
-            <include name="digest"/>
-            <include name="fcsh"/>
-            <include name="fdb"/>
-            <include name="fontswf"/>
-            <include name="mxmlc"/>
-            <include name="optimizer"/>
-            <include name="swcdepends"/>
-            <include name="swfdump"/>
-        </fixcrlf>
-
-        <chmod dir="${basedir}/temp/compiler/generated/dist/sdk/bin" excludes="**/*.bat" perm="+x" />
-        <chmod dir="${basedir}/temp/compiler/generated/dist/sdk/bin-legacy" excludes="**/*.bat" perm="+x" />
-
         <antcall target="binary-package-zip"/>
         <antcall target="binary-package-tgz"/>
         
@@ -566,8 +460,7 @@
         <!-- generated -->
         <mkdir dir="${basedir}/temp/js"/>
         <copy todir="${basedir}/temp/js">
-            <fileset dir="${basedir}/compiler.jx">
-                <include name="bin/**"/>
+            <fileset dir="${basedir}/compiler-jx">
                 <include name="lib/**"/>
                 <exclude name="lib/commons-io**"/>
                 <exclude name="lib/flex-tool**"/>
@@ -580,14 +473,14 @@
         
         <!-- generated -->
         <mkdir dir="${basedir}/temp/js/libs"/>
-        <copy tofile="${basedir}/temp/js/libs/js.swc" file="${basedir}/externs/js/out/bin/js.swc" />
-        <copy tofile="${basedir}/temp/js/libs/cordova.swc" file="${basedir}/externs/cordova/out/bin/cordova.swc" />
-        <copy tofile="${basedir}/temp/js/libs/createjs.swc" file="${basedir}/externs/createjs/out/bin/createjs.swc" />
-        <copy tofile="${basedir}/temp/js/libs/google_maps.swc" file="${basedir}/externs/google_maps/out/bin/google_maps.swc" />
-        <copy tofile="${basedir}/temp/js/libs/jasmine.swc" file="${basedir}/externs/jasmine/out/bin/jasmine-2.0.swc" />
-        <copy tofile="${basedir}/temp/js/libs/jquery.swc" file="${basedir}/externs/jquery/out/bin/jquery-1.9.swc" />
-        <copy tofile="${basedir}/temp/js/libs/GCL.swc" file="${basedir}/externs/GCL/out/bin/GCL.swc" />
-        <copy tofile="${basedir}/temp/js/libs/node.swc" file="${basedir}/externs/node/out/bin/node.swc" />
+        <copy tofile="${basedir}/temp/js/libs/js.swc" file="${basedir}/externs/js/target/js.swc" />
+        <copy tofile="${basedir}/temp/js/libs/cordova.swc" file="${basedir}/externs/cordova/target/cordova.swc" />
+        <copy tofile="${basedir}/temp/js/libs/createjs.swc" file="${basedir}/externs/createjs/target/createjs.swc" />
+        <copy tofile="${basedir}/temp/js/libs/google_maps.swc" file="${basedir}/externs/google_maps/target/google_maps.swc" />
+        <copy tofile="${basedir}/temp/js/libs/jasmine.swc" file="${basedir}/externs/jasmine/target/jasmine.swc" />
+        <copy tofile="${basedir}/temp/js/libs/jquery.swc" file="${basedir}/externs/jquery/target/jquery-1.9.swc" />
+        <copy tofile="${basedir}/temp/js/libs/GCL.swc" file="${basedir}/externs/GCL/target/GCL.swc" />
+        <copy tofile="${basedir}/temp/js/libs/node.swc" file="${basedir}/externs/node/target/node.swc" />
         
         <!-- generated -->
         <mkdir dir="${basedir}/temp/externs"/>
@@ -596,18 +489,11 @@
                 <include name="**/**"/>
                 <exclude name="**/*.swc"/>
                 <exclude name="**/*.as"/>
-                <exclude name="GCL/externs/**"/>
-                <exclude name="createjs/out/**"/>
+                <exclude name="createjs/target/**"/>
                 <exclude name="createjs/in/**"/>
             </fileset>
         </copy>
         
-        <!-- for FalconJX, remove the legacy folders -->
-        <delete dir="${basedir}/temp/compiler/generated/dist/sdk/lib-legacy" failonerror="false" />
-        <delete dir="${basedir}/temp/compiler/generated/dist/sdk/bin-legacy" failonerror="false" />
-        <delete dir="${basedir}/temp/compiler/generated/dist/sdk/lib/external" failonerror="false" />
-        <delete dir="${basedir}/temp/compiler/generated/dist/sdk/frameworks" failonerror="false" />
-        
         <antcall target="binary-package-jx-zip"/>
         <antcall target="binary-package-jx-tgz"/>
         
@@ -665,16 +551,14 @@
                 longfile="gnu">
                 <tarfileset dir="${basedir}/temp" prefix="@{name}">
                     <include name="**" />
-                    <exclude name="bin/**" />
                     <exclude name="**/*.sh" />
                 </tarfileset>
                 <tarfileset dir="${basedir}/temp" prefix="@{name}">
-                    <include name="bin/*.bat" />
+                    <include name="**/*.bat" />
                 </tarfileset>
                 <tarfileset dir="${basedir}/temp" prefix="@{name}" mode="755">
-                    <include name="bin/*" />
                     <include name="**/*.sh" />
-                    <exclude name="bin/*.bat" />
+                    <exclude name="**/*.bat" />
                 </tarfileset>
             </tar>
         </sequential>
@@ -842,11 +726,11 @@
     </target>
 
     <target name="sdk.dependent.tests" >
-        <ant dir="compiler.tests" target="sdk.dependent.tests" />
-        <ant dir="compiler.jx.tests" target="integration.tests.sdk" />
+        <ant dir="compiler/src/test" target="sdk.dependent.tests" />
+        <ant dir="compiler-jx/src/test" target="integration.tests.sdk" />
     </target>
     <target name="flexjs.dependent.tests" >
-        <ant dir="compiler.jx.tests" target="integration.tests.asjs" />
+        <ant dir="compiler-jx/src/test" target="integration.tests.asjs" />
     </target>
 
 </project>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1e2d64d6/compiler/src/main/resources/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler/src/main/resources/downloads.xml b/compiler/src/main/resources/downloads.xml
index 05176ad..4a68fc5 100644
--- a/compiler/src/main/resources/downloads.xml
+++ b/compiler/src/main/resources/downloads.xml
@@ -125,8 +125,8 @@
     <!--  jburg -->
     <property name="jburg.name" value="jburg"/>
     <property name="jburg.version" value="1.10.2"/>
-    <property name="jburg.server" value="http://search.maven.org"/>
-    <property name="jburg.folder" value="remotecontent?filepath=net/sourceforge/jburg/jburg/${jburg.version}"/>
+    <property name="jburg.server" value="${maven.search.url}"/>
+    <property name="jburg.folder" value="net/sourceforge/jburg/jburg/${jburg.version}"/>
     <property name="jburg.filename" value="${jburg.name}-${jburg.version}.jar"/>
     <property name="jburg.md5" value="85524bdcd870eb34e8c169c1081bac88"/><!-- version 1.10.2 -->
     <antcall target="download-dependency">
@@ -140,12 +140,6 @@
       <param name="dest.folder" value=""/>
       <param name="dest.filename" value="${jburg.name}.jar"/>
     </antcall>
-    <copy todir="${external.lib.dir}" failonerror="false" >
-      <fileset dir="${download.dir}/temp">
-        <include name="LICENSE"/>
-      </fileset>
-      <globmapper from="*" to="jburg-*.txt"/>
-    </copy>
 
     <!--  jflex -->
     <property name="jflex.name" value="jflex"/>

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1e2d64d6/installer.properties/en_US.properties
----------------------------------------------------------------------
diff --git a/installer.properties/en_US.properties b/installer.properties/en_US.properties
new file mode 100644
index 0000000..e65c449
--- /dev/null
+++ b/installer.properties/en_US.properties
@@ -0,0 +1,22 @@
+################################################################################
+##
+##  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.
+##
+################################################################################
+
+
+download.compiler.deps=Downloading Falcon library dependencies...
+download.compiler.jx.deps=Downloading FalconJX library dependencies...
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/1e2d64d6/installer.xml
----------------------------------------------------------------------
diff --git a/installer.xml b/installer.xml
new file mode 100644
index 0000000..dfd1ffb
--- /dev/null
+++ b/installer.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+<project name="flexjs_compiler_install" default="overlay" basedir=".">
+
+	<!-- this script supports the usingDownloadCache property and
+	     downloadCacheFolder property to cache downloads in the
+		 folder specified by downloadCacheFolder.  This can make
+		 a huge difference in future runs although there is some
+		 risk around caching bad downloads and/or needing to
+		 clean up the cache -->
+		 
+    <property name="FALCON_HOME" location="${basedir}"/>
+    
+    <!-- Required for OSX 10.6 / Snow Leopard Performance. -->
+    <!-- Java 7 on Mac requires OSX 10.7.3 or higher and is 64-bit only -->
+    <!-- local.d32 is set/used in build.properties so this needs to be done first. -->
+    <condition property="local.d32" value="-d32">
+        <and>
+            <os family="windows"/>
+            <equals arg1="${sun.arch.data.model}" arg2="64"/>
+            <equals arg1="${os.arch}" arg2="x86_64"/>
+            <equals arg1="${ant.java.version}" arg2="1.6"/>
+        </and>
+    </condition>
+
+    <property file="${FALCON_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${FALCON_HOME}/local.properties"/>
+    <property file="${FALCON_HOME}/build.properties"/>
+    <property file="${FALCON_HOME}/installer.properties/${bundle}.properties"/>
+    <property file="${FALCON_HOME}/installer.properties/en_US.properties"/>
+
+    <!-- assumes Falcon expanded two levels deep in a Flex SDK folder -->
+    <condition property="FLEX_HOME" value="${basedir}/../.." >
+        <available file="${basedir}/../../lib/mxmlc.jar" />
+    </condition>
+    <!-- assumes Falcon expanded into the temp folder in a Flex SDK folder -->
+    <condition property="FLEX_HOME" value="${basedir}/.." >
+        <available file="${basedir}/../lib/mxmlc.jar" />
+    </condition>
+    <!-- assumes Falcon expanded into the temp folder in a Flex SDK folder -->
+    <condition property="install.jx" value="true" >
+        <available file="${basedir}/compiler-jx" type="dir" />
+    </condition>
+    
+    <fail message="FLEX_HOME not specified. Environment variable not used." >
+        <condition>
+            <not>
+                <isset property="FLEX_HOME" />
+            </not>
+        </condition>
+    </fail>
+    
+    <condition property="platform" value="mac">
+        <os family="mac" />
+    </condition>
+    <condition property="platform" value="windows">
+        <os family="windows" />
+    </condition>
+    <condition property="platform" value="linux">
+        <os family="unix" />
+    </condition>
+    <condition property="isMac" value="mac">
+        <os family="mac" />
+    </condition>
+    <condition property="isWindows" value="windows">
+        <os family="windows" />
+    </condition>
+    <condition property="isLinux" value="linux">
+        <os family="unix" />
+    </condition>
+    
+    <target name="overlay" depends="movefiles,download,copyfiles,copy.jx.lib,download.jx,copyfiles.jx" description="Places Falcon and FalconJX files in an SDK folder">
+        <echo>Falcon and FalconJX installed in ${FLEX_HOME}</echo>
+    </target>
+    
+    <target name="download" description="download compiler dependencies">
+        <echo>${download.compiler.deps}</echo>
+        <ant dir="${basedir}/compiler/src/main/resources" antfile="downloads.xml"/>
+    </target>
+    
+    <target name="download.jx" if="install.jx" description="download FalconJX compiler dependencies">
+        <echo>${download.compiler.jx.deps}</echo>
+        <property name="FALCONJX_HOME" value="${FLEX_HOME}/js" />
+        <ant dir="${basedir}/compiler-jx/src/main/resources" antfile="downloads.xml"/>
+    </target>
+    
+    <target name="copy.jx.lib" if="install.jx" description="copy our bundled GCC before running download.jx so we don't download GCC">
+        <property name="FALCONJX_HOME" value="${FLEX_HOME}/js" />
+        <mkdir dir="${FLEX_HOME}/js/lib/google/closure-compiler" />
+    </target>
+    
+    <target name="movefiles" description="move SDK files into -legacy folders" unless="flexjs">
+        <mkdir dir="${FLEX_HOME}/lib-legacy" />
+        <move todir="${FLEX_HOME}/lib-legacy" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${FLEX_HOME}/lib">
+                <include name="**/*"/>
+            </fileset>
+        </move>
+    </target>
+    
+    <target name="copyfiles" description="copy Falcon files into SDK" >
+        <!-- If sdk.branch is set to binary distro flexTasks is in a different place. -->
+        <copy todir="${FLEX_HOME}/ant/lib" failOnError="false" overwrite="false">
+            <fileset dir="${FALCON_HOME}/compiler/lib">
+                <include name="flexTasks.jar"/>
+            </fileset>
+        </copy>
+        <antcall target="bin-legacy" />
+        <copy todir="${FLEX_HOME}/bin" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${FALCON_HOME}/compiler/src/assembly/scripts">
+                <include name="**/*"/>
+            </fileset>
+        </copy>
+        <copy todir="${FLEX_HOME}/lib" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${FALCON_HOME}/compiler/lib">
+                <include name="**"/>
+            </fileset>
+        </copy>
+        <!-- needed to make FB happy, maybe other IDEs as well -->
+        <copy tofile="${FLEX_HOME}/lib/mxmlc.jar" file="${FLEX_HOME}/lib/falcon-mxmlc.jar" overwrite="true"/>
+    </target>
+
+    <target name="bin-legacy" unless="flexjs">
+        <mkdir dir="${FLEX_HOME}/bin-legacy" />
+        <move todir="${FLEX_HOME}/bin-legacy" overwrite="true" includeEmptyDirs="false">
+            <fileset dir="${FLEX_HOME}/bin">
+                <include name="**/*"/>
+            </fileset>
+        </move>
+    </target>
+    
+    <target name="copyfiles.jx" if="install.jx" description="copy FalconJX files into SDK" >
+        <mkdir dir="${FLEX_HOME}/js/bin" />
+        <mkdir dir="${FLEX_HOME}/js/lib" />
+        <mkdir dir="${FLEX_HOME}/js/libs" />
+        <copy todir="${FLEX_HOME}/js/lib" failOnError="false" overwrite="true">
+            <fileset dir="${FALCON_HOME}/js/lib">
+                <include name="**/**"/>
+            </fileset>
+        </copy>
+        <copy todir="${FLEX_HOME}/js/libs" failOnError="false" overwrite="true">
+            <fileset dir="${FALCON_HOME}/js/libs">
+                <include name="**/**"/>
+            </fileset>
+        </copy>
+        <!-- flex-asjs has custom files
+        <copy todir="${FLEX_HOME}/js/bin" failOnError="false" overwrite="true">
+            <fileset dir="${FALCON_HOME}/js/bin">
+                <include name="**/**"/>
+            </fileset>
+        </copy>
+        -->
+        <mkdir dir="${FLEX_HOME}/externs" />
+        <copy todir="${FLEX_HOME}/externs" failOnError="false" overwrite="true">
+            <fileset dir="${FALCON_HOME}/externs">
+                <include name="**/**"/>
+            </fileset>
+        </copy>
+    </target>
+
+</project>