restore download script

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

Branch: refs/heads/feature/maven-migration-test
Commit: aa788cf4890112da4f545ff477a3d92d7404b9e8
Parents: e8b60e5
Author: Alex Harui <aha...@apache.org>
Authored: Tue Apr 19 13:13:41 2016 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Fri Apr 22 09:02:56 2016 -0700

----------------------------------------------------------------------
 compiler/src/main/resources/downloads.xml | 479 +++++++++++++++++++++++++
 1 file changed, 479 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/aa788cf4/compiler/src/main/resources/downloads.xml
----------------------------------------------------------------------
diff --git a/compiler/src/main/resources/downloads.xml 
b/compiler/src/main/resources/downloads.xml
new file mode 100644
index 0000000..0aa4795
--- /dev/null
+++ b/compiler/src/main/resources/downloads.xml
@@ -0,0 +1,479 @@
+<?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="downloads" default="main" basedir=".">
+
+  <!--
+      Notes:
+          For Apache, the JARS must be removed from the repository.
+
+          Licenses:
+              antlr (3) - BSD
+              commons-cli (1.2) - Apache 2.0
+              commons-io (2.0.1) - Apache 2.0
+              guava (15.0) - Apache 2.0
+              JBurg (1.10.2) - CPL 1.0
+              lzma-sdk (9.2) - Public Domain
+  -->
+
+  <!-- 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}/../../.."/>
+
+  <property name="lib.dir" value="${FALCON_HOME}/lib"/>
+  <property name="download.dir" value="${FALCON_HOME}/in"/>
+
+  <property file="${FALCON_HOME}/local.properties"/>
+
+  <property name="maven.search.url" value="https://repo1.maven.org/maven2"/>
+
+
+
+  <!-- 
+      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"/>
+  
+  <target name="prepare">
+    <echo message="Making lib directory ${lib.dir}"/>
+    <mkdir dir="${lib.dir}"/>
+  </target>
+
+  <!--
+      Downloads
+  -->
+
+  <target name="all" description="Downloads and copies all dependencies to the 
lib directory.">
+
+    <!--  antlr -->
+    <property name="antlr.name" value="antlr"/>
+    <property name="antlr.version" value="3.5.2"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${antlr.name}"/>
+      <param name="src.server" value="${maven.search.url}"/>
+      <param name="src.folder" 
value="org/antlr/antlr-complete/${antlr.version}"/>
+      <param name="src.filename" value="antlr-complete-${antlr.version}.jar"/>
+      <param name="src.checksum" value="acfa69f928a0f1653555bda73091efca"/>
+      <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"/>
+    </antcall>
+
+    <!--  commons-cli -->
+    <property name="commons-cli.name" value="commons-cli"/>
+    <property name="commons-cli.version" value="1.2"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${commons-cli.name}"/>
+      <param name="src.server" value="http://archive.apache.org"/>
+      <param name="src.folder" value="dist/commons/cli/binaries"/>
+      <param name="src.filename" 
value="${commons-cli.name}-${commons-cli.version}-bin.tar.gz"/>
+      <param name="src.checksum" value="a05956c9ac8bacdc2b8d07fb2cb331ce"/>
+      <param name="src.jarPath" 
value="${commons-cli.name}-${commons-cli.version}/${commons-cli.name}-${commons-cli.version}.jar"/>
+      <param name="dest.jarPath" value="${lib.dir}/${commons-cli.name}.jar"/>
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${commons-cli.name}.jar"/>
+    </antcall>
+    <copy todir="${lib.dir}" failonerror="false">
+      <fileset 
dir="${download.dir}/temp/${commons-cli.name}-${commons-cli.version}">
+        <include name="LICENSE.txt"/>
+      </fileset>
+      <globmapper from="*" to="commons-cli-*"/>
+    </copy>
+
+    <!--  commons-io -->
+    <property name="commons-io.name" value="commons-io"/>
+    <property name="commons-io.version" value="2.4"/>
+    <!-- property name="commons-io.version" value="2.0.1"/ -->
+    <antcall target="download-dependency">
+      <param name="name" value="${commons-io.name}"/>
+      <param name="src.server" value="http://archive.apache.org"/>
+      <param name="src.folder" value="dist/commons/io/binaries"/>
+      <param name="src.filename" 
value="${commons-io.name}-${commons-io.version}-bin.tar.gz"/>
+      <param name="src.checksum" value="50ce698bd6e33dc6f71570189df89c99"/>
+      <!-- param name="src.checksum" value="89fef81c2adfa9b50a64ed5cd5d8c155"/ 
--><!-- version 2.0.1 -->
+      <param name="src.jarPath" 
value="${commons-io.name}-${commons-io.version}/${commons-io.name}-${commons-io.version}.jar"/>
+      <param name="dest.jarPath" value="${lib.dir}/${commons-io.name}.jar"/>
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${commons-io.name}.jar"/>
+    </antcall>
+    <copy todir="${lib.dir}" failonerror="false" >
+      <fileset 
dir="${download.dir}/temp/${commons-io.name}-${commons-io.version}">
+        <include name="LICENSE.txt"/>
+      </fileset>
+      <globmapper from="*" to="commons-io-*"/>
+    </copy>
+
+    <!--  guava -->
+    <property name="guava.name" value="guava"/>
+    <property name="guava.version" value="17.0"/>
+    <!-- property name="guava.version" value="15.0"/ -->
+    <antcall target="download-dependency">
+      <param name="name" value="${guava.name}"/>
+      <param name="src.server" value="${maven.search.url}"/>
+      <param name="src.folder" 
value="com/google/guava/guava/${guava.version}"/>
+      <param name="src.filename" value="guava-${guava.version}.jar"/>
+      <param name="src.checksum" value="89fef81c2adfa9b50a64ed5cd5d8c155"/>
+      <!-- param name="src.checksum" value="e0593b60af743a63f9678399d275272a"/ 
--><!-- version 2.0.16 -->
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${guava.name}.jar"/>
+      <param name="license.use.apache" value="true"/>
+    </antcall>
+    
+    <!--  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.filename" 
value="${jburg.name}-${jburg.version}.jar"/>
+    <property name="jburg.md5" value="85524bdcd870eb34e8c169c1081bac88"/><!-- 
version 1.10.2 -->
+    <antcall target="download-dependency">
+      <param name="name" value="${jburg.name}"/>
+      <param name="src.server" value="${jburg.server}"/>
+      <param name="src.folder" value="${jburg.folder}"/>
+      <param name="src.filename" value="${jburg.filename}"/>
+      <param name="src.checksum" value="${jburg.md5}"/>
+      <param name="src.jarPath" value="lib/${jburg.name}.jar"/>
+      <param name="dest.jarPath" value="${lib.dir}/${jburg.name}.jar"/>
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${jburg.name}.jar"/>
+    </antcall>
+    <copy todir="${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"/>
+    <property name="jflex.version" value="1.6.0"/>
+    <!-- property name="jflex.version" value="1.5.1"/ -->
+    <property name="jflex.server" value="http://jflex.de"/>
+    <property name="jflex.folder" value="."/>
+    <property name="jflex.filename" 
value="${jflex.name}-${jflex.version}.tar.gz"/>
+    <property name="jflex.md5" value="df8cc9ca50b549bf705bd23479c100dc"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${jflex.name}"/>
+      <param name="version" value="${jflex.version}"/>
+      <param name="src.server" value="${jflex.server}"/>
+      <param name="src.folder" value="${jflex.folder}"/>
+      <param name="src.filename" value="${jflex.filename}"/>
+      <param name="src.checksum" value="${jflex.md5}"/>
+      <!-- param name="src.checksum" value="c388c909eb0024d546489a89e608e096"/ 
--><!-- version 1.5.1 -->
+      <param name="src.jarPath" 
value="${jflex.name}-${jflex.version}/lib/${jflex.name}-${jflex.version}.jar"/>
+      <param name="dest.jarPath" value="${lib.dir}/${jflex.name}.jar"/>
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${jflex.name}.jar"/>
+    </antcall>
+    <copy todir="${lib.dir}" failonerror="false" >
+      <fileset dir="${download.dir}/temp/${jflex.name}-${jflex.version}">
+        <include name="COPYRIGHT"/>
+      </fileset>
+      <globmapper from="*" to="jflex-*"/>
+    </copy>
+
+    <!--  lzma -->
+    <property name="lzma.name" value="lzma"/>
+    <property name="lzma.version" value="9.20"/>
+    <property name="lzma.server" value="http://www.java2s.com"/>
+    <property name="lzma.folder" value="Code/JarDownload/lzma"/>
+    <property name="lzma.filename" 
value="${lzma.name}-${lzma.version}.jar.zip"/>
+    <property name="lzma.md5" value="d5f7343bbd03bf1c4a4806b372cc5354"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${lzma.name}-sdk"/>
+      <param name="version" value="${lzma.version}"/>
+      <param name="src.server" value="${lzma.server}"/>
+      <param name="src.folder" value="${lzma.folder}"/>
+      <param name="src.filename" value="${lzma.filename}"/>
+      <param name="src.checksum" value="${lzma.md5}"/>
+      <param name="src.jarPath" value="${lzma.name}-${lzma.version}.jar"/>
+      <param name="dest.jarPath" value="${lib.dir}/${lzma.name}-sdk.jar"/>
+      <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"/>
+    </antcall>
+
+      <!--  flex-tool-api -->
+    <property name="flexToolApi.name" value="flex-tool-api"/>
+    <property name="flexToolApi.version" value="1.0.0"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${flexToolApi.name}"/>
+      <param name="src.server" value="${maven.search.url}"/>
+      <param name="src.folder" 
value="org/apache/flex/${flexToolApi.name}/${flexToolApi.version}"/>
+      <param name="src.filename" 
value="${flexToolApi.name}-${flexToolApi.version}.jar"/>
+      <param name="src.checksum" value="b8f76174b2c4d3b83e5c9fa78703c52b"/>
+      <param name="dest.folder" value=""/>
+      <param name="dest.filename" value="${flexToolApi.name}.jar"/>
+      <param name="license.use.apache" value="true"/>
+    </antcall>
+  </target>
+
+  <target name="maven-related" description="Downloads and copies all 
dependencies to the lib directory.">
+    <!-- maven-ant-tasks -->
+    <property name="mavenAntTasks.name" value="maven-ant-tasks"/>
+    <property name="mavenAntTasks.version" value="2.1.3"/>
+    <antcall target="download-dependency">
+      <param name="name" value="${mavenAntTasks.name}"/>
+      <param name="src.server" value="${maven.search.url}"/>
+      <param name="src.folder" 
value="org/apache/maven/${mavenAntTasks.name}/${mavenAntTasks.version}"/>
+      <param name="src.filename" 
value="${mavenAntTasks.name}-${mavenAntTasks.version}.jar"/>
+      <param name="src.checksum" value="7ce48382d1aa4138027a58ec2f29beda"/>
+      <!-- We don't want the maven-ant-tasks lib as part of the sdk -->
+      <param name="dest.folder" value="../utils"/>
+      <param name="dest.filename" value="${mavenAntTasks.name}.jar"/>
+      <param name="license.use.apache" value="true"/>
+    </antcall>
+  </target>
+
+
+
+  <!--
+      Utilities
+  -->
+
+  <target name="check-dependency" description="Checks if project jar is in lib 
directory.">
+    <available file="${lib.dir}/${dest.folder}/${name}.jar" 
property="project.jar.exists"/>
+  </target>
+
+  <target name="echo-project-jar" if="installer">
+    <echo 
file="${basedir}/project.properties">project.echo=${INFO_DOWNLOADING_FILE_FROM}</echo>
+    <replace file="${basedir}/project.properties" token="{0}" 
value="${srcPath}"/>
+    <replace file="${basedir}/project.properties" token="{1}" 
value="${srcDomain}"/>
+    <property file="${basedir}/project.properties"/>
+    <delete file="${basedir}/project.properties"/>
+    <echo>${project.echo}</echo>
+  </target>
+  
+  <target name="download-dependency" depends="check-dependency" 
unless="project.jar.exists" description="Downloads a jar + license to the lib 
directory.">
+    <antcall target="echo-project-jar">
+      <param name="srcDomain" value="${src.server}"/>
+      <param name="srcPath" value="${src.folder}/${src.filename}"/>
+    </antcall>
+    <mkdir dir="${lib.dir}/${dest.folder}"/>
+
+    <antcall target="download-apache-license" />
+    <antcall target="download-other-license" />
+
+    <!-- ant_on_air in Installer 3.1 doesn't support 'or' yet -->
+    <condition property="project.download.jar">
+      <and>
+          <not>
+              <contains string="${src.filename}" substring=".tar" />
+          </not>
+          <not>
+              <contains string="${src.filename}" substring=".zip" />
+          </not>
+      </and>
+    </condition>
+    
+    <antcall target="download-dependency-jar">
+      <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="checksum" value="${src.checksum}"/>
+    </antcall>
+
+    <antcall target="download-dependency-zip">
+      <param name="server" value="${src.server}"/>
+      <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="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="${lib.dir}/${dest.folder}/${name}-LICENSE.html"/>
+  </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="${lib.dir}/${dest.folder}/${name}-LICENSE.html"/>
+  </target>
+  
+  <target name="download-dependency-jar" if="project.download.jar" 
description="Downloads a jar to the lib directory.">
+    <antcall target="download-jar">
+      <param name="srcDomain" value="${server}"/>
+      <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>
+
+  <target name="download-dependency-zip" unless="project.download.jar" 
description="Downloads a zip to the lib directory.">
+    <antcall target="download-zip">
+      <param name="srcDomain" value="${server}"/>
+      <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>
+    
+  <!--
+      Download a zip or gz file, extracts the jar file, and optionally copies 
the jar
+      file to a different location and optinally verifies the checksum and 
optionally
+      caches the file, and optionally pulls the file from the cache instead of 
downloading.  
+      If the checksum fails, this script fails.
+
+      Params are:
+          srcDomain - the domain
+          srcFolder - path to file
+          srcFile - a .gz file for untar with gzip, else unzip
+          [md5]
+          [srcJarPath] - both src and dest required for the copy
+          [destJarFile]
+
+      Note: This is purposely coded without <if><else><then> so that a 
dependency on
+      ant-contrib.jar isn't required.        
+  -->
+  <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="message" value="Checksum mismatch for 
${download.dir}/${srcFile}"/>
+    </antcall>
+    <antcall target="copy-if-cached">
+      <param name="dest" value="${download.dir}/${srcFile}"/>
+    </antcall>
+    <condition property="zip.compressed">
+      <matches string="${srcFile}" pattern="^*.zip$"/>
+    </condition>
+    <antcall target="untar-file"/>
+    <antcall target="unzip-file"/>
+    <condition property="destination.known">
+      <and>
+        <isset property="srcJarPath"/>
+        <isset property="destJarFile"/>
+      </and>
+    </condition>
+    <antcall target="copy-downloaded-jar"/>
+  </target>
+
+  <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="message" value="Checksum mismatch for 
${download.dir}/${srcFile}"/>
+    </antcall>
+    <antcall target="copy-if-cached">
+      <param name="dest" value="${download.dir}/${srcFile}"/>
+    </antcall>
+    <untar src="${download.dir}/${srcFile}" dest="${download.dir}/temp" 
compression="bzip2"/>
+    <condition property="destination.known">
+      <and>
+        <isset property="srcJarPath"/>
+        <isset property="destJarFile"/>
+      </and>
+    </condition>
+    <antcall target="copy-downloaded-jar"/>
+  </target>
+
+  <!--
+      Download a jar file and optionally verify the checksum.
+      If the checksum fails, this script fails.
+        
+      Params are:
+          srcDomain
+          srcFolder
+          srcFile
+          destJarFile
+          [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}"/>
+    </antcall>
+  </target>
+
+  <target name="untar-file" unless="zip.compressed" description="Untars 
zipFile">
+    <untar src="${download.dir}/${srcFile}" dest="${download.dir}/temp" 
compression="gzip"/>
+  </target>
+
+  <target name="unzip-file" if="zip.compressed" description="Unzips zipFile">
+    <unzip src="${download.dir}/${srcFile}" dest="${download.dir}/temp"/>
+  </target>
+
+  <target name="get-if-not-cached" unless="found-in-cache">
+    <get src="${srcDomain}/${srcFolder}/${srcFile}" dest="${dest}"/>
+    <antcall target="check-sum">
+      <param name="dest" value="${dest}"/>
+      <param name="message" value="Checksum mismatch for ${dest}"/>
+    </antcall>
+    <antcall target="put-in-cache"/>
+  </target>
+
+  <target name="copy-if-cached" if="found-in-cache">
+    <!-- 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"/>
+  </target>
+
+  <target name="check-cache" if="usingDownloadCache">
+    <available file="${downloadCacheFolder}/${srcFolder}/${srcFile}" 
property="found-in-cache"/>
+  </target>
+
+  <target name="put-in-cache" if="usingDownloadCache">
+    <copy tofile="${downloadCacheFolder}/${srcFolder}/${srcFile}" 
file="${dest}"/>
+  </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}"/>
+    <fail message="${message}">
+      <condition>
+        <equals arg1="${we.failed}" arg2="false"/>
+      </condition>
+    </fail>
+  </target>
+
+  <target name="copy-downloaded-jar" if="destination.known">
+    <mkdir dir="${lib.dir}"/>
+    <copy file="${download.dir}/temp/${srcJarPath}" toFile="${destJarFile}" 
verbose="true"/>
+  </target>
+
+  <target name="fail-with-message" if="we.failed" description="Conditionally 
fails with the specified message">
+    <fail message="${message}"/>
+  </target>
+
+
+
+  <!--
+      Cleanup
+  -->
+  <target name="clean" description="Removes thirdparty downloads.">
+    <delete failonerror="false" includeEmptyDirs="true">
+      <fileset dir="${download.dir}"/>
+    </delete>
+  </target>
+</project>

Reply via email to