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/10/25 19:51:17 UTC
git commit: [flex-falcon] [refs/heads/develop] - allow CI builds to
use a download cache if downloads fail
Repository: flex-falcon
Updated Branches:
refs/heads/develop e7234729f -> cccaa5a16
allow CI builds to use a download cache if downloads fail
Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/cccaa5a1
Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/cccaa5a1
Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/cccaa5a1
Branch: refs/heads/develop
Commit: cccaa5a16d892174cdfa41d36ad5b82b4d98559e
Parents: e723472
Author: Alex Harui <ah...@apache.org>
Authored: Tue Oct 25 12:51:09 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Tue Oct 25 12:51:09 2016 -0700
----------------------------------------------------------------------
compiler-jburg-types/build.xml | 10 ++-
compiler-jx/src/main/resources/downloads.xml | 90 ++++++++++++++++------
compiler-jx/src/test/downloads.xml | 43 ++++++++++-
compiler-test-utils/build.xml | 8 +-
compiler/src/main/resources/downloads.xml | 94 ++++++++++++++++++-----
compiler/src/test/downloads.xml | 57 ++++++++++++--
debugger/build.xml | 36 ++++++++-
flex-compiler-oem/build.xml | 37 ++++++++-
8 files changed, 314 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler-jburg-types/build.xml
----------------------------------------------------------------------
diff --git a/compiler-jburg-types/build.xml b/compiler-jburg-types/build.xml
index 7b2568c..69cc3bd 100644
--- a/compiler-jburg-types/build.xml
+++ b/compiler-jburg-types/build.xml
@@ -74,7 +74,15 @@
<target name="main" depends="IASNodeAdapter" />
- <target name="compiler.downloads">
+ <target name="compiler.downloads.cache" if="usingDownloadCache">
+ <ant antfile="${compiler-jburg-types}/../compiler/src/main/resources/downloads.xml"
+ dir="${compiler-jburg-types}/../compiler/src/main/resources" inheritAll="false">
+ <property name="usingDownloadCache" value="${usingDownloadCache}" />
+ <property name="downloadCacheFolder" value="${downloadCacheFolder}" />
+ </ant>
+ </target>
+
+ <target name="compiler.downloads" depends="compiler.downloads.cache" unless="usingDownloadCache">
<ant antfile="${compiler-jburg-types}/../compiler/src/main/resources/downloads.xml"
dir="${compiler-jburg-types}/../compiler/src/main/resources" inheritAll="false"/>
</target>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler-jx/src/main/resources/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler-jx/src/main/resources/downloads.xml b/compiler-jx/src/main/resources/downloads.xml
index 2bbb1a9..dc05561 100644
--- a/compiler-jx/src/main/resources/downloads.xml
+++ b/compiler-jx/src/main/resources/downloads.xml
@@ -182,7 +182,16 @@
</antcall>
<mkdir dir="${lib.dir}/${dest.folder}"/>
- <get src="http://www.apache.org/licenses/LICENSE-2.0" dest="${lib.dir}/${dest.folder}/${name}-LICENSE.txt"/>
+ <get src="http://www.apache.org/licenses/LICENSE-2.0" dest="${lib.dir}/${dest.folder}/${name}-LICENSE.txt" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="LICENSE-2.0.html" />
+ <param name="destFile" value="${name}-LICENSE.txt" />
+ <param name="destDir" value="${lib.dir}/${dest.folder}" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="${name}-LICENSE.txt" />
+ <param name="destDir" value="${lib.dir}/${dest.folder}" />
+ </antcall>
<condition property="project.download.jar">
<contains string="${src.filename}" substring=".jar" />
@@ -192,7 +201,8 @@
<param name="server" value="${src.server}"/>
<param name="folder" value="${src.folder}"/>
<param name="srcFileName" value="${src.filename}"/>
- <param name="destJarFileName" value="${lib.dir}/${dest.folder}/${dest.filename}"/>
+ <param name="destDir" value="${lib.dir}/${dest.folder}"/>
+ <param name="destFile" value="${dest.filename}"/>
<param name="checksum" value="${src.checksum}"/>
</antcall>
@@ -201,7 +211,8 @@
<param name="folder" value="${src.folder}"/>
<param name="srcFileName" value="${src.filename}"/>
<param name="srcJarPath" value="${src.jarPath}"/>
- <param name="destJarPath" value="${dest.jarPath}"/>
+ <param name="destDir" value="${lib.dir}/${dest.folder}"/>
+ <param name="destFile" value="${dest.filename}"/>
<param name="checksum" value="${src.checksum}"/>
</antcall>
</target>
@@ -231,7 +242,6 @@
<param name="srcFolder" value="${folder}"/>
<param name="cacheFolder" value="${folder}"/>
<param name="srcFile" value="${srcFileName}"/>
- <param name="destJarFile" value="${destJarFileName}"/>
<param name="md5" value="${checksum}"/>
</antcall>
</target>
@@ -242,7 +252,6 @@
<param name="srcFolder" value="${folder}"/>
<param name="srcFile" value="${srcFileName}"/>
<param name="srcJarPath" value="${srcJarPath}"/>
- <param name="destJarFile" value="${destJarPath}"/>
<param name="md5" value="${checksum}"/>
</antcall>
</target>
@@ -268,7 +277,8 @@
srcFile - a .gz file for untar with gzip, else unzip
[md5]
[srcJarPath] - both src and dest required for the copy
- [destJarFile]
+ [destDir]
+ [destFile]
Note: This is purposely coded without <if><else><then> so that a dependency on
ant-contrib.jar isn't required.
@@ -276,11 +286,13 @@
<target name="download-zip" depends="check-cache" description="Downloads tar/zip, and optionally verifies checksum and copies extracted jar.">
<mkdir dir="${download.dir}"/>
<antcall target="get-if-not-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
<param name="message" value="Checksum mismatch for ${download.dir}/${srcFile}"/>
</antcall>
<antcall target="copy-if-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
</antcall>
<condition property="zip.compressed">
<matches string="${srcFile}" pattern="^*.zip$"/>
@@ -290,7 +302,8 @@
<condition property="destination.known">
<and>
<isset property="srcJarPath"/>
- <isset property="destJarFile"/>
+ <isset property="destDir"/>
+ <isset property="destFile"/>
</and>
</condition>
<antcall target="copy-downloaded-jar"/>
@@ -299,17 +312,20 @@
<target name="download-bz2" depends="check-cache" description="Downloads bz2, and optionally verifies checksum and copies extracted jar.">
<mkdir dir="${download.dir}"/>
<antcall target="get-if-not-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
<param name="message" value="Checksum mismatch for ${download.dir}/${srcFile}"/>
</antcall>
<antcall target="copy-if-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
</antcall>
<untar src="${download.dir}/${srcFile}" dest="${download.dir}/temp" compression="bzip2"/>
<condition property="destination.known">
<and>
<isset property="srcJarPath"/>
- <isset property="destJarFile"/>
+ <isset property="destDir"/>
+ <isset property="destFile"/>
</and>
</condition>
<antcall target="copy-downloaded-jar"/>
@@ -323,17 +339,15 @@
srcDomain
srcFolder
srcFile
- destJarFile
+ destDir
+ destFile
[md5]
-->
<target name="download-jar" depends="check-cache" description="Downloads jar, and optionally verifies checksum.">
<antcall target="get-if-not-cached">
- <param name="dest" value="${destJarFile}"/>
- <param name="message" value="Checksum mismatch for ${destJarFile}"/>
- </antcall>
- <antcall target="copy-if-cached">
- <param name="dest" value="${destJarFile}"/>
+ <param name="message" value="Checksum mismatch for ${destDir}/${destFile}"/>
</antcall>
+ <antcall target="copy-if-cached"/>
</target>
<target name="untar-file" unless="zip.compressed" description="Untars zipFile">
@@ -345,10 +359,12 @@
</target>
<target name="get-if-not-cached" unless="found-in-cache">
- <get src="${srcDomain}/${srcFolder}/${srcFile}" dest="${dest}"/>
+ <get src="${srcDomain}/${srcFolder}/${srcFile}" dest="${destDir}/${destFile}" ignoreerrors="true"/>
+ <!-- this is a different cache for the CI servers. It tries the network first, then the cache if failure -->
+ <antcall target="get-from-cache-if-needed" />
+ <antcall target="fail-if-not-found" />
<antcall target="check-sum">
- <param name="dest" value="${dest}"/>
- <param name="message" value="Checksum mismatch for ${dest}"/>
+ <param name="message" value="Checksum mismatch for ${destDir}/${destFile}"/>
</antcall>
<antcall target="put-in-cache"/>
</target>
@@ -357,7 +373,7 @@
<!-- this string comes from the FlexJS en_US.properties because for now, this
target won't get called unless this script is called from the FlexJS install -->
<echo>${INFO_USING_CACHED_FILE} ${downloadCacheFolder}/${srcFolder}/${srcFile}</echo>
- <copy file="${downloadCacheFolder}/${srcFolder}/${srcFile}" tofile="${dest}" overwrite="true"/>
+ <copy file="${downloadCacheFolder}/${srcFolder}/${srcFile}" tofile="${destDir}/${destFile}" overwrite="true"/>
</target>
<target name="check-cache" if="usingDownloadCache">
@@ -365,11 +381,11 @@
</target>
<target name="put-in-cache" if="usingDownloadCache">
- <copy tofile="${downloadCacheFolder}/${srcFolder}/${srcFile}" file="${dest}"/>
+ <copy tofile="${downloadCacheFolder}/${srcFolder}/${srcFile}" file="${destDir}/${destFile}"/>
</target>
<target name="check-sum" if="md5" description="Verifies MD5 checksum, and fails if checksum doesn't match">
- <checksum file="${dest}" algorithm="MD5" verifyproperty="we.failed" property="${md5}"/>
+ <checksum file="${destDir}/${destFile}" algorithm="MD5" verifyproperty="we.failed" property="${md5}"/>
<fail message="${message}">
<condition>
<equals arg1="${we.failed}" arg2="false"/>
@@ -379,13 +395,37 @@
<target name="copy-downloaded-jar" if="destination.known">
<mkdir dir="${lib.dir}"/>
- <copy file="${download.dir}/temp/${srcJarPath}" toFile="${destJarFile}" verbose="true"/>
+ <copy file="${download.dir}/temp/${srcJarPath}" toFile="${destDir}/${destFile}" verbose="true"/>
</target>
<target name="fail-with-message" if="we.failed" description="Conditionally fails with the specified message">
<fail message="${message}"/>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcFile}" tofile="${destDir}/${destFile}" />
+ </target>
<!--
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler-jx/src/test/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler-jx/src/test/downloads.xml b/compiler-jx/src/test/downloads.xml
index c7e7f55..025e62e 100644
--- a/compiler-jx/src/test/downloads.xml
+++ b/compiler-jx/src/test/downloads.xml
@@ -77,10 +77,19 @@
-->
<target name="download-jar"
description="Downloads jar, and optionally verifies checksum.">
- <get src="${srcUrl}/${srcJarFile}" dest="${destJarFile}"/>
- <checksum file="${destJarFile}" algorithm="MD5" property="${we.failed}"/>
+ <get src="${srcUrl}/${srcJarFile}" dest="${destDir}/${destJarFile}" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="${srcJarFile}" />
+ <param name="destFile" value="${destJarFile}" />
+ <param name="destDir" value="${lib.dir}" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="${destJarFile}" />
+ <param name="destDir" value="${lib.dir}" />
+ </antcall>
+ <checksum file="${destDir}/${destJarFile}" algorithm="MD5" property="${we.failed}"/>
<antcall target="fail-with-message">
- <param name="message" value="Checksum mismatch for ${destJarFile}"/>
+ <param name="message" value="Checksum mismatch for ${destDir}/${destJarFile}"/>
</antcall>
</target>
@@ -112,8 +121,34 @@
<antcall target="download-jar">
<param name="srcUrl" value="http://search.maven.org/remotecontent?filepath=junit/junit/4.10"/>
<param name="srcJarFile" value="junit-4.10.jar"/>
- <param name="destJarFile" value="${lib.dir}/junit-4.10.jar"/>
+ <param name="destDir" value="${lib.dir}"/>
+ <param name="destJarFile" value="junit-4.10.jar"/>
</antcall>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destJarFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destJarFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destJarFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcJarFile}" tofile="${destDir}/${destJarFile}" />
+ </target>
+
</project>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler-test-utils/build.xml
----------------------------------------------------------------------
diff --git a/compiler-test-utils/build.xml b/compiler-test-utils/build.xml
index 282e24f..d197183 100644
--- a/compiler-test-utils/build.xml
+++ b/compiler-test-utils/build.xml
@@ -58,7 +58,13 @@
<isset property="env.BUILD_NUMBER"/>
</condition>
- <target name="compiler.test.downloads">
+ <target name="compiler.test.downloads.cache" if="usingDownloadCache">
+ <ant antfile="${compiler-test-utils}/../compiler/src/test/downloads.xml" dir="${compiler-test-utils}/../compiler/src/test" inheritAll="false">
+ <property name="usingDownloadCache" value="${usingDownloadCache}" />
+ <property name="downloadCacheFolder" value="${downloadCacheFolder}" />
+ </ant>
+ </target>
+ <target name="compiler.test.downloads" depends="compiler.test.downloads.cache" unless="usingDownloadCache">
<ant antfile="${compiler-test-utils}/../compiler/src/test/downloads.xml" dir="${compiler-test-utils}/../compiler/src/test" inheritAll="false"/>
</target>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler/src/main/resources/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler/src/main/resources/downloads.xml b/compiler/src/main/resources/downloads.xml
index 2e00733..c547028 100644
--- a/compiler/src/main/resources/downloads.xml
+++ b/compiler/src/main/resources/downloads.xml
@@ -49,10 +49,14 @@
<property name="maven.search.url" value="https://repo1.maven.org/maven2"/>
+ <property file="${FALCON_HOME}/env.properties"/>
+ <property environment="env"/>
+ <property file="${FALCON_HOME}/local.properties"/>
+ <property file="${FALCON_HOME}/build.properties"/>
- <!--
- Because the downloads requires a network connection and the JARs don't change very often,
+ <!--
+ Because the downloads requires a network connection and the JARs don't change very often,
they are each downloaded only if they don't already exist.
-->
<target name="main" depends="prepare, all" description="Downloads all the required thirdparty JARs"/>
@@ -80,6 +84,7 @@
<param name="dest.folder" value=""/>
<param name="dest.filename" value="${antlr.name}.jar"/>
<param name="license.use.url" value="http://www.antlr.org/license.html"/>
+ <param name="license.cacheName" value="antlr-LICENSE.html"/>
</antcall>
<!-- commons-cli -->
@@ -201,6 +206,7 @@
<param name="dest.folder" value=""/>
<param name="dest.filename" value="${lzma.name}-sdk.jar"/>
<param name="license.use.url" value="http://www.7-zip.org/sdk.html"/>
+ <param name="license.cacheName" value="lzma-sdk-LICENSE.html"/>
</antcall>
<!-- flex-tool-api -->
@@ -281,7 +287,8 @@
<param name="server" value="${src.server}"/>
<param name="folder" value="${src.folder}"/>
<param name="srcFileName" value="${src.filename}"/>
- <param name="destJarFileName" value="${external.lib.dir}/${dest.folder}/${dest.filename}"/>
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}"/>
+ <param name="destFile" value="${dest.filename}"/>
<param name="checksum" value="${src.checksum}"/>
</antcall>
@@ -290,17 +297,36 @@
<param name="folder" value="${src.folder}"/>
<param name="srcFileName" value="${src.filename}"/>
<param name="srcJarPath" value="${src.jarPath}"/>
- <param name="destJarPath" value="${dest.jarPath}"/>
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}"/>
+ <param name="destFile" value="${dest.filename}"/>
<param name="checksum" value="${src.checksum}"/>
</antcall>
</target>
<target name="download-apache-license" if="license.use.apache" description="Downloads the Apache license to the lib directory.">
- <get src="http://www.apache.org/licenses/LICENSE-2.0" dest="${external.lib.dir}/${dest.folder}/${name}-LICENSE.html"/>
+ <get src="http://www.apache.org/licenses/LICENSE-2.0" dest="${external.lib.dir}/${dest.folder}/${name}-LICENSE.html" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="LICENSE-2.0.html" />
+ <param name="destFile" value="${name}-LICENSE.html" />
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="${name}-LICENSE.html" />
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}" />
+ </antcall>
</target>
<target name="download-other-license" if="license.use.url" description="Downloads a non-Apache license to the lib directory.">
- <get src="${license.use.url}" dest="${external.lib.dir}/${dest.folder}/${name}-LICENSE.html"/>
+ <get src="${license.use.url}" dest="${external.lib.dir}/${dest.folder}/${name}-LICENSE.html" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="${license.cacheName}" />
+ <param name="destFile" value="${name}-LICENSE.html" />
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="${name}-LICENSE.html" />
+ <param name="destDir" value="${external.lib.dir}/${dest.folder}" />
+ </antcall>
</target>
<target name="download-dependency-jar" if="project.download.jar" description="Downloads a jar to the lib directory.">
@@ -309,7 +335,6 @@
<param name="srcFolder" value="${folder}"/>
<param name="cacheFolder" value="${folder}"/>
<param name="srcFile" value="${srcFileName}"/>
- <param name="destJarFile" value="${destJarFileName}"/>
<param name="md5" value="${checksum}"/>
</antcall>
</target>
@@ -320,7 +345,6 @@
<param name="srcFolder" value="${folder}"/>
<param name="srcFile" value="${srcFileName}"/>
<param name="srcJarPath" value="${srcJarPath}"/>
- <param name="destJarFile" value="${destJarPath}"/>
<param name="md5" value="${checksum}"/>
</antcall>
</target>
@@ -345,11 +369,13 @@
<target name="download-zip" depends="check-cache" description="Downloads tar/zip, and optionally verifies checksum and copies extracted jar.">
<mkdir dir="${download.dir}"/>
<antcall target="get-if-not-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
<param name="message" value="Checksum mismatch for ${download.dir}/${srcFile}"/>
</antcall>
<antcall target="copy-if-cached">
- <param name="dest" value="${download.dir}/${srcFile}"/>
+ <param name="destDir" value="${download.dir}"/>
+ <param name="destFile" value="${srcFile}"/>
</antcall>
<condition property="zip.compressed">
<matches string="${srcFile}" pattern="^*.zip$"/>
@@ -359,7 +385,8 @@
<condition property="destination.known">
<and>
<isset property="srcJarPath"/>
- <isset property="destJarFile"/>
+ <isset property="destDir"/>
+ <isset property="destFile"/>
</and>
</condition>
<antcall target="copy-downloaded-jar"/>
@@ -397,12 +424,9 @@
-->
<target name="download-jar" depends="check-cache" description="Downloads jar, and optionally verifies checksum.">
<antcall target="get-if-not-cached">
- <param name="dest" value="${destJarFile}"/>
<param name="message" value="Checksum mismatch for ${destJarFile}"/>
</antcall>
- <antcall target="copy-if-cached">
- <param name="dest" value="${destJarFile}"/>
- </antcall>
+ <antcall target="copy-if-cached" />
</target>
<target name="untar-file" unless="zip.compressed" description="Untars zipFile">
@@ -414,10 +438,12 @@
</target>
<target name="get-if-not-cached" unless="found-in-cache">
- <get src="${srcDomain}/${srcFolder}/${srcFile}" dest="${dest}"/>
+ <get src="${srcDomain}/${srcFolder}/${srcFile}" dest="${destDir}/${destFile}" ignoreerrors="true"/>
+ <!-- this is a different cache for the CI servers. It tries the network first, then the cache if failure -->
+ <antcall target="get-from-cache-if-needed" />
+ <antcall target="fail-if-not-found" />
<antcall target="check-sum">
- <param name="dest" value="${dest}"/>
- <param name="message" value="Checksum mismatch for ${dest}"/>
+ <param name="message" value="Checksum mismatch for ${destDir}/${destFile}"/>
</antcall>
<antcall target="put-in-cache"/>
</target>
@@ -430,15 +456,16 @@
</target>
<target name="check-cache" if="usingDownloadCache">
+ <echo>${downloadCacheFolder} ${srcFolder} ${srcFile}</echo>
<available file="${downloadCacheFolder}/${srcFolder}/${srcFile}" property="found-in-cache"/>
</target>
<target name="put-in-cache" if="usingDownloadCache">
- <copy tofile="${downloadCacheFolder}/${srcFolder}/${srcFile}" file="${dest}"/>
+ <copy tofile="${downloadCacheFolder}/${srcFolder}/${srcFile}" file="${destDir}/${destFile}"/>
</target>
<target name="check-sum" if="md5" description="Verifies MD5 checksum, and fails if checksum doesn't match">
- <checksum file="${dest}" algorithm="MD5" verifyproperty="we.failed" property="${md5}"/>
+ <checksum file="${destDir}/${destFile}" algorithm="MD5" verifyproperty="we.failed" property="${md5}"/>
<fail message="${message}">
<condition>
<equals arg1="${we.failed}" arg2="false"/>
@@ -448,13 +475,38 @@
<target name="copy-downloaded-jar" if="destination.known">
<mkdir dir="${external.lib.dir}"/>
- <copy file="${download.dir}/temp/${srcJarPath}" toFile="${destJarFile}" verbose="true"/>
+ <copy file="${download.dir}/temp/${srcJarPath}" toFile="${destDir}/${destFile}" verbose="true"/>
</target>
<target name="fail-with-message" if="we.failed" description="Conditionally fails with the specified message">
<fail message="${message}"/>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <echo>${env.FLEX_DOWNLOAD_CACHE}</echo>
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcFile}" tofile="${destDir}/${destFile}" />
+ </target>
<!--
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/compiler/src/test/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler/src/test/downloads.xml b/compiler/src/test/downloads.xml
index b112916..467685a 100644
--- a/compiler/src/test/downloads.xml
+++ b/compiler/src/test/downloads.xml
@@ -31,7 +31,12 @@
<property name="download.dir" value="${compiler}/in"/>
- <!--
+ <property file="${compiler}/../env.properties"/>
+ <property environment="env"/>
+ <property file="${compiler}/../local.properties"/>
+ <property file="${compiler}/../build.properties"/>
+
+ <!--
Notes:
For Apache, the JARS must be removed from the repository.
@@ -83,10 +88,19 @@
-->
<target name="download-jar"
description="Downloads jar, and optionally verifies checksum.">
- <get src="${srcUrl}/${srcJarFile}" dest="${destJarFile}"/>
- <checksum file="${destJarFile}" algorithm="MD5" property="${we.failed}"/>
+ <get src="${srcUrl}/${srcJarFile}" dest="${destDir}/${destJarFile}" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="${srcJarFile}" />
+ <param name="destFile" value="${destJarFile}" />
+ <param name="destDir" value="${external.lib.dir}" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="${destJarFile}" />
+ <param name="destDir" value="${external.lib.dir}" />
+ </antcall>
+ <checksum file="${destDir}/${destJarFile}" algorithm="MD5" property="${we.failed}"/>
<antcall target="fail-with-message">
- <param name="message" value="Checksum mismatch for ${destJarFile}"/>
+ <param name="message" value="Checksum mismatch for ${destDir}/${destJarFile}"/>
</antcall>
</target>
@@ -118,7 +132,8 @@
<antcall target="download-jar">
<param name="srcUrl" value="http://search.maven.org/remotecontent?filepath=junit/junit/4.10"/>
<param name="srcJarFile" value="junit-4.10.jar"/>
- <param name="destJarFile" value="${external.lib.dir}/junit-4.10.jar"/>
+ <param name="destDir" value="${external.lib.dir}"/>
+ <param name="destJarFile" value="junit-4.10.jar"/>
</antcall>
</target>
@@ -145,7 +160,8 @@
<antcall target="download-jar">
<param name="srcUrl" value="https://repo1.maven.org/maven2/org/apache/commons/commons-compress/1.10"/>
<param name="srcJarFile" value="commons-compress-1.10.jar"/>
- <param name="destJarFile" value="${external.lib.dir}/commons-compress-1.10.jar"/>
+ <param name="destDir" value="${external.lib.dir}"/>
+ <param name="destJarFile" value="commons-compress-1.10.jar"/>
</antcall>
</target>
@@ -172,8 +188,35 @@
<antcall target="download-jar">
<param name="srcUrl" value="https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.4"/>
<param name="srcJarFile" value="commons-lang3-3.4.jar"/>
- <param name="destJarFile" value="${external.lib.dir}/commons-lang3-3.4.jar"/>
+ <param name="destDir" value="${external.lib.dir}"/>
+ <param name="destJarFile" value="commons-lang3-3.4.jar"/>
</antcall>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destJarFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destJarFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destJarFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcJarFile}" tofile="${destDir}/${destJarFile}" />
+ </target>
+
+
</project>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/debugger/build.xml
----------------------------------------------------------------------
diff --git a/debugger/build.xml b/debugger/build.xml
index bef14b6..46fdcfe 100644
--- a/debugger/build.xml
+++ b/debugger/build.xml
@@ -38,7 +38,16 @@
<target name="downloads" depends="download_check" unless="swfutils.bundled">
<mkdir dir="${basedir}/target/downloads/java/flash" />
<get src="https://git-wip-us.apache.org/repos/asf/flex-sdk/repo?p=flex-sdk.git;a=snapshot;h=2cfbdd592ef87b40704d3d7145f4da9a369429eb;sf=tgz"
- dest="${basedir}/target/downloads/flex-sdk-modules-swfutils.tar.gz"/>
+ dest="${basedir}/target/downloads/flex-sdk-modules-swfutils.tar.gz" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destDir" value="${basedir}/target/downloads" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destDir" value="${basedir}/target/downloads" />
+ </antcall>
<untar src="${basedir}/target/downloads/flex-sdk-modules-swfutils.tar.gz" dest="${basedir}/target/downloads/java/flash" compression="gzip">
<patternset>
<include name="**/localization/**"/>
@@ -128,4 +137,29 @@
</delete>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <echo>${env.FLEX_DOWNLOAD_CACHE}</echo>
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcFile}" tofile="${destDir}/${destFile}" />
+ </target>
</project>
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/cccaa5a1/flex-compiler-oem/build.xml
----------------------------------------------------------------------
diff --git a/flex-compiler-oem/build.xml b/flex-compiler-oem/build.xml
index ebf7445..f1f112c 100644
--- a/flex-compiler-oem/build.xml
+++ b/flex-compiler-oem/build.xml
@@ -81,7 +81,16 @@
<target name="downloads" depends="download_check" unless="swfutils.bundled">
<mkdir dir="${oem}/target/downloads/java/flash" />
<get src="https://git-wip-us.apache.org/repos/asf/flex-sdk/repo?p=flex-sdk.git;a=snapshot;h=2cfbdd592ef87b40704d3d7145f4da9a369429eb;sf=tgz"
- dest="${oem}/target/downloads/flex-sdk-modules-swfutils.tar.gz"/>
+ dest="${oem}/target/downloads/flex-sdk-modules-swfutils.tar.gz" ignoreerrors="true"/>
+ <antcall target="get-from-cache-if-needed" >
+ <param name="srcFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destDir" value="${oem}/target/downloads" />
+ </antcall>
+ <antcall target="fail-if-not-found" >
+ <param name="destFile" value="flex-sdk-modules-swfutils.tar.gz" />
+ <param name="destDir" value="${oem}/target/downloads" />
+ </antcall>
<untar src="${oem}/target/downloads/flex-sdk-modules-swfutils.tar.gz" dest="${oem}/target/downloads/java/flash" compression="gzip">
<patternset>
<include name="**/localization/**"/>
@@ -242,4 +251,30 @@
<delete dir="${oem}/target"/>
</target>
+ <target name="fail-if-not-found">
+ <fail message="${destDir}/${destFile} could not be downloaded or found in cache">
+ <condition>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ </condition>
+ </fail>
+ </target>
+
+ <target name="double-check-file" >
+ <echo>${env.FLEX_DOWNLOAD_CACHE}</echo>
+ <condition property="still-no-file" value="true">
+ <and>
+ <not>
+ <available file="${destDir}/${destFile}" />
+ </not>
+ <isset property="env.FLEX_DOWNLOAD_CACHE" />
+ </and>
+ </condition>
+ <echo>Need file: ${still_no_file}</echo>
+ </target>
+ <target name="get-from-cache-if-needed" depends="double-check-file" if="still-no-file">
+ <copy file="${env.FLEX_DOWNLOAD_CACHE}/${srcFile}" tofile="${destDir}/${destFile}" />
+ </target>
+
</project>