Repository: flex-sdk
Updated Branches:
  refs/heads/develop 0dff7f486 -> 522a06d61


use flex download cache if downloads fail


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/522a06d6
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/522a06d6
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/522a06d6

Branch: refs/heads/develop
Commit: 522a06d61ff477435ea0b44ae17466440bf092cb
Parents: 0dff7f4
Author: Alex Harui <[email protected]>
Authored: Tue Oct 25 12:47:18 2016 -0700
Committer: Alex Harui <[email protected]>
Committed: Tue Oct 25 12:47:46 2016 -0700

----------------------------------------------------------------------
 frameworks/downloads.xml | 113 ++++++++++++++++++++++++++++++++++++++----
 modules/downloads.xml    |  86 +++++++++++++++++++++++++++++---
 2 files changed, 181 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/522a06d6/frameworks/downloads.xml
----------------------------------------------------------------------
diff --git a/frameworks/downloads.xml b/frameworks/downloads.xml
index 5d09c39..86536f1 100644
--- a/frameworks/downloads.xml
+++ b/frameworks/downloads.xml
@@ -107,7 +107,13 @@
             verbose="false"/ -->
         <get 
src="http://downloads.sourceforge.net/project/osmf.adobe/OSMF%202.0%20Release%20%28final%20source%2C%20ASDocs%2C%20pdf%20guides%20and%20release%20notes%29/OSMF.swc?r=&amp;ts=1381906346&amp;use_mirror=optimate";
 
             dest="${download.dir}/osmf.swc" 
-            verbose="false"/>
+            verbose="false" ignoreerrors="true"/>
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="osmf.swc" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="osmf.swc" />
+        </antcall>
     </target>
     
     <!-- pixelbender files (Version 1.0) -->
@@ -126,6 +132,12 @@
             <param name="file" value="${pixelbender.bin.zip}" />
             <param name="dest" value="${download.dir}/${pixelbender.bin.zip}" 
/>
         </antcall>
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="${pixelbender.bin.zip}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="${pixelbender.bin.zip}" />
+        </antcall>
         
         <unzip src="${download.dir}/${pixelbender.bin.zip}" 
dest="${FLEX_HOME}">
             <patternset>
@@ -151,7 +163,14 @@
         <mkdir dir="${download.dir}"/>
         <get src="https://codeload.github.com/swfobject/swfobject/zip/2.2";
             dest="${download.dir}/swfobject_2_2.zip" 
-            verbose="false"/>
+            verbose="false" ignoreerrors="true"/>
+        
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="swfobject_2_2.zip" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="swfobject_2_2.zip" />
+        </antcall>
         
         <unzip src="${download.dir}/swfobject_2_2.zip" 
dest="${FLEX_HOME}/templates/swfobject">
             <patternset>
@@ -160,6 +179,7 @@
             </patternset>
             <flattenmapper />
         </unzip>
+        <antcall target="swfobject-double-check" />
     </target>
 
     <target name="swfobject-clean" description="Deletes templates swfobject 
code.">
@@ -172,6 +192,24 @@
         </delete>
     </target>
     
+    <target name="have-swfobject" >
+        <condition property="still-no-swfobject">
+            <not>
+                <available 
file="${FLEX_HOME}/templates/swfobject/swfobject.js" />
+            </not>
+        </condition>
+    </target>
+    
+    <target name="swfobject-double-check" depends="have-swfobject" 
if="still-no-swfobject" description="some SWFObject zips have a different 
folder structure so if the first unzip doesn't work, try this one">
+        <unzip src="${download.dir}/swfobject_2_2.zip" 
dest="${FLEX_HOME}/templates/swfobject">
+            <patternset>
+                <include name="swfobject/expressInstall.swf"/>
+                <include name="swfobject/swfobject.js"/>
+            </patternset>
+            <flattenmapper />
+        </unzip>
+    </target>
+    
     <!-- the copy of swfobject.js that is in javascript/fabridge -->
     <target name="swfobject-fabridge-download" depends="swfobject-download" 
         description="Copies swfobject.js from code.google.com to fabridge">
@@ -275,25 +313,49 @@
     <target name="download-afe" unless="adobe.afe.download.exists" >
         <mkdir dir="${download.dir}"/>
         <get 
src="http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/afe.jar?format=raw";
-            dest="${download.dir}/${adobe.afe.file}"/>
+            dest="${download.dir}/${adobe.afe.file}" ignoreerrors="true"/>
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="${adobe.afe.file}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="${adobe.afe.file}" />
+        </antcall>
     </target>
 
     <target name="download-aglj40" unless="adobe.aglj40.download.exists" >
         <mkdir dir="${download.dir}"/>
         <get 
src="http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/aglj40.jar?format=raw";
-             dest="${download.dir}/${adobe.aglj40.file}"/>
+             dest="${download.dir}/${adobe.aglj40.file}" ignoreerrors="true"/>
+         <antcall target="get-from-cache-if-needed" >
+             <param name="filename" value="${adobe.aglj40.file}" />
+         </antcall>
+         <antcall target="fail-if-not-found" >
+             <param name="filename" value="${adobe.aglj40.file}" />
+         </antcall>
     </target>
 
     <target name="download-rideau" unless="adobe.rideau.download.exists" >
         <mkdir dir="${download.dir}"/>
         <get 
src="http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/rideau.jar?format=raw";
-             dest="${download.dir}/${adobe.rideau.file}"/>
+             dest="${download.dir}/${adobe.rideau.file}" ignoreerrors="true"/>
+         <antcall target="get-from-cache-if-needed" >
+             <param name="filename" value="${adobe.rideau.file}" />
+         </antcall>
+         <antcall target="fail-if-not-found" >
+             <param name="filename" value="${adobe.rideau.file}" />
+         </antcall>
     </target>
 
     <target name="download-flex-fontkit" 
unless="adobe.flex-fontkit.download.exists" >
         <mkdir dir="${download.dir}"/>
         <get 
src="http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/flex-fontkit.jar?format=raw";
-             dest="${download.dir}/${adobe.flex-fontkit.file}"/>
+             dest="${download.dir}/${adobe.flex-fontkit.file}" 
ignoreerrors="true"/>
+         <antcall target="get-from-cache-if-needed" >
+             <param name="filename" value="${adobe.flex-fontkit.file}" />
+         </antcall>
+         <antcall target="fail-if-not-found" >
+             <param name="filename" value="${adobe.flex-fontkit.file}" />
+         </antcall>
     </target>
 
     <target name="clean-adobe-flex-sdk">
@@ -301,9 +363,13 @@
     </target>
 
     <target name="get_from_mirror">
-        <condition property="usingmirror" value="true">
+        <condition property="mirrorurl" value="true">
             <contains string="${server}" substring="mirrors.cgi" />
         </condition>
+        <antcall target="get_mirror_data" />
+        <condition property="usingmirror">
+            <available file="${basedir}/mirror.json" />
+        </condition>
         <antcall target="download_using_mirror">
             <param name="server" value="${server}" />
             <param name="folder" value="${folder}" />
@@ -318,8 +384,11 @@
         </antcall>
     </target>
     
+    <target name="get_mirror_data" if="mirrorurl">
+        <get src="${server}/${folder}/${file}?asjson=true" verbose="true" 
dest="${basedir}/mirror.json" ignoreerrors="true"/>
+    </target>
+    
     <target name="download_using_mirror" if="usingmirror">
-        <get src="${server}/${folder}/${file}?asjson=true" verbose="true" 
dest="${basedir}/mirror.json" />
         <replace file="${basedir}/mirror.json">
             <replacefilter token="{"
             value="" />
@@ -339,11 +408,35 @@
         <property file="${basedir}/mirror.json" />
         <delete file="${basedir}/mirror.json" />
         <echo>Using mirror: ${preferred}</echo>
-        <get src="${preferred}${folder}/${file}" dest="${dest}" />
+        <get src="${preferred}${folder}/${file}" dest="${dest}" 
ignoreerrors="true" />
     </target>
     
     <target name="download_using_get" unless="usingmirror">
-        <get src="${server}/${folder}/${file}" dest="${dest}" />
+        <get src="${server}/${folder}/${file}" dest="${dest}" 
ignoreerrors="true"/>
     </target>
 
+    <target name="fail-if-not-found">
+        <fail message="${filename} could not be downloaded or found in cache">
+            <condition>
+                <not>
+                    <available file="${download.dir}/${filename}" />
+                </not>
+            </condition>
+        </fail>
+    </target>
+
+    <target name="double-check-file" >
+        <condition property="still-no-file" value="true">
+            <and>
+                <not>
+                    <available file="${download.dir}/${filename}" />
+                </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}/${filename}" 
tofile="${download.dir}/${filename}" />
+    </target>
 </project>

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/522a06d6/modules/downloads.xml
----------------------------------------------------------------------
diff --git a/modules/downloads.xml b/modules/downloads.xml
index dba18fe..a827ce5 100644
--- a/modules/downloads.xml
+++ b/modules/downloads.xml
@@ -165,8 +165,16 @@
      </target>         
      
     <target name="get-zip" unless="zip.exists" description="Get zip and verify 
checksum.">
-        <get src="${srcUrl}/${zipFile}" dest="${download.dir}/${zipFile}"/>
-        
+        <get src="${srcUrl}/${zipFile}" dest="${download.dir}/${zipFile}" 
ignoreerrors="true"/>
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="${zipFile}" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="${zipFile}" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+
         <antcall target="check-sum">
             <param name="message" value="Checksum mismatch for 
${download.dir}/${zipFile}"/>
         </antcall>
@@ -185,7 +193,16 @@
     <target name="download-jar" 
         description="Downloads jar, and optionally verifies checksum.">        
        
      
-        <get src="${srcUrl}/${srcJarFile}" dest="${destJarFile}"/>
+        <get src="${srcUrl}/${srcJarFile}" dest="${destJarDir}/${destJarFile}" 
ignoreerrors="true"/>
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="${destJarFile}" />
+            <param name="destDir" value="${destJarDir}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="${destJarFile}" />
+            <param name="destDir" value="${destJarDir}" />
+        </antcall>
+
         <antcall target="check-sum">
             <param name="message" value="Checksum mismatch for 
${destJarFile}"/>
         </antcall>
@@ -414,8 +431,10 @@
         <antcall target="download-jar">
           <param name="srcUrl" 
value="http://search.maven.org/remotecontent?filepath=net/java/dev/javacc/javacc/5.0"/>
           <param name="srcJarFile" value="javacc-5.0.jar"/>
-          <param name="destJarFile" value="${lib.ext.dir}/javacc.jar"/>
+          <param name="destJarDir" value="${lib.ext.dir}"/>
+          <param name="destJarFile" value="javacc-5.0.jar"/>
         </antcall>
+        <move file="${lib.ext.dir}/javacc-5.0.jar" 
tofile="${lib.ext.dir}/javacc.jar" failonerror="false" />
     </target>
 
        <!--
@@ -431,9 +450,18 @@
 
         <get 
src="http://downloads.sourceforge.net/project/saxon/Saxon-B/9.1.0.8/saxonb9-1-0-8j.zip?r=&amp;ts=1366147457&amp;use_mirror=superb-dca2";
 
             dest="${download.dir}/${saxon9.bin.zip}" 
-            verbose="false"/>   
+            verbose="false" ignoreerrors="true"/>
 
-       <unzip src="${download.dir}/${saxon9.bin.zip}" 
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="${saxon9.bin.zip}" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="${saxon9.bin.zip}" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+
+       <unzip src="${download.dir}/${saxon9.bin.zip}"
                dest="${download.dir}/${saxon9.jar.dir}"/>
         
         <copy file="${download.dir}/${saxon9.jar.dir}/saxon9.jar" 
toDir="${lib.ext.dir}" verbose="true"/>
@@ -597,8 +625,17 @@
 
         <get 
src="${maven.search.url}org/apache/flex/${flexToolApi.name}/${flexToolApi.version}/${flexToolApi.name}-${flexToolApi.version}.jar"
              dest="${download.dir}/flex-tool-api.jar"
-             verbose="false"/>
+             verbose="false" ignoreerrors="true"/>
 
+        <antcall target="get-from-cache-if-needed" >
+            <param name="filename" value="flex-tool-api.jar" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+        <antcall target="fail-if-not-found" >
+            <param name="filename" value="flex-tool-api.jar" />
+            <param name="destDir" value="${download.dir}" />
+        </antcall>
+        
         <copy file="${download.dir}/flex-tool-api.jar" toDir="${lib.ext.dir}" 
verbose="true"/>
     </target>
 
@@ -615,9 +652,42 @@
 
         <get 
src="${maven.search.url}org/apache/flex/blazeds/${blazeds.name}/${blazeds.version}/${blazeds.name}-${blazeds.version}.jar"
              dest="${download.dir}/flex-messaging-common.jar"
-             verbose="false"/>
+             verbose="false" ignoreerrors="true"/>
+             
+         <antcall target="get-from-cache-if-needed" >
+             <param name="filename" value="flex-messaging-common.jar" />
+             <param name="destDir" value="${download.dir}" />
+         </antcall>
+         <antcall target="fail-if-not-found" >
+             <param name="filename" value="flex-messaging-common.jar" />
+             <param name="destDir" value="${download.dir}" />
+         </antcall>
 
         <copy file="${download.dir}/flex-messaging-common.jar" 
toDir="${lib.ext.dir}" verbose="true"/>
     </target>
+    
+    <target name="fail-if-not-found">
+        <fail message="${filename} could not be downloaded or found in cache">
+            <condition>
+                <not>
+                    <available file="${destDir}/${filename}" />
+                </not>
+            </condition>
+        </fail>
+    </target>
+    
+    <target name="double-check-file" >
+        <condition property="still-no-file">
+            <and>
+                <not>
+                    <available file="${destDir}/${filename}" />
+                </not>
+                <isset property="env.FLEX_DOWNLOAD_CACHE" />
+            </and>
+        </condition>
+    </target>
+    <target name="get-from-cache-if-needed" depends="double-check-file" 
if="still-no-file">
+        <copy file="${env.FLEX_DOWNLOAD_CACHE}/${filename}" 
tofile="${destDir}/${filename}" />
+    </target>
 
 </project>

Reply via email to