| <?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="squiggly_install" default="install" 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> |
| |
| <condition property="isMacOrLinux" value="mac"> |
| <or> |
| <os family="mac" /> |
| <os family="unix" /> |
| </or> |
| </condition> |
| <condition property="isWindows" value="windows"> |
| <os family="windows" /> |
| </condition> |
| |
| <property environment="env"/> |
| <condition property="FLEX_HOME" value="${env.FLEX_HOME}"> |
| <isset property="env.FLEX_HOME" /> |
| </condition> |
| |
| <property file="${FLEX_HOME}/local.properties"/> |
| <property file="${FLEX_HOME}/build.properties"/> |
| <property file="${basedir}/${bundle}.properties"/> |
| |
| <property name="download.dir" value="${FLEX_HOME}/in"/> |
| <property name="unpack.dir" value="${FLEX_HOME}/squiggly"/> |
| <property name="mirror.url" value="http://flex.apache.org/single-mirror-url.cgi" /> |
| |
| <property name="squiggly.url.folder" value="flex/squiggly/1.1" /> |
| |
| <target name="file-setup-win" if="isWindows"> |
| <property name="squiggly.url.file" value="apache-flex-squiggly-1.1-bin.zip" /> |
| <property name="squiggly.url.md5" value="34a0d8d445f8f1307cad35e25d1377bd" /> |
| </target> |
| |
| <target name="file-setup-unix" if="isMacOrLinux"> |
| <property name="squiggly.url.file" value="apache-flex-squiggly-1.1-bin.tar.gz" /> |
| <property name="squiggly.url.md5" value="ea03691ec15f625c5281e0d01dcc9570" /> |
| </target> |
| |
| <target name="install" depends="file-setup-win,file-setup-unix,squiggly-download-unpack" description="Adds squiggly to an Apache Flex SDK"> |
| <delete dir="${download.dir}" /> |
| <echo>Squiggly installed</echo> |
| </target> |
| |
| <target name="squiggly-download-unpack" description="Downloads squiggly and copies into the Apache Flex SDK"> |
| <mkdir dir="${download.dir}"/> |
| |
| <get src="${mirror.url}" dest="${download.dir}/mirror.txt" /> |
| <replace file="${download.dir}/mirror.txt" token="<p>" /> |
| <replace file="${download.dir}/mirror.txt" token="</p>" /> |
| <loadfile property="squiggly.url.server" srcFile="${download.dir}/mirror.txt" /> |
| |
| <echo>Downloading ${squiggly.url.server}/${squiggly.url.folder}/${squiggly.url.file}</echo> |
| |
| <antcall target="download-check-md5"> |
| <param name="domain" value="${squiggly.url.server}" /> |
| <param name="folder" value="${squiggly.url.folder}" /> |
| <param name="file" value="${squiggly.url.file}" /> |
| <param name="dest" value="${download.dir}/${squiggly.url.file}"/> |
| <param name="failmessage" value="Squiggly download failed" /> |
| <param name="md5" value="${squiggly.url.md5}" /> |
| </antcall> |
| |
| <mkdir dir="${unpack.dir}"/> |
| <antcall target="files-unzip" /> |
| <antcall target="files-untar" /> |
| </target> |
| |
| <target name="files-unzip" if="isWindows"> |
| <unzip dest="${unpack.dir}"> |
| <fileset file="${download.dir}/${squiggly.url.file}" /> |
| </unzip> |
| </target> |
| |
| <target name="files-untar" if="isMacOrLinux"> |
| <untar dest="${unpack.dir}" compression="gzip"> |
| <fileset file="${download.dir}/${squiggly.url.file}" /> |
| </untar> |
| </target> |
| |
| <target name="download-check-md5" description="Downloads file, and verifies checksum."> |
| <tstamp /> |
| <property name="ts" value="${DSTAMP}${TSTAMP}" /> |
| <get src="${domain}/${folder}/${file}?ts=${ts}" dest="${dest}" verbose="true" /> |
| <antcall target="check-md5" /> |
| </target> |
| |
| <target name="check-md5" description="Verifies MD5 checksum, and fails if checksum doesn't match"> |
| <echo>Checking ${dest} matches ${md5}</echo> |
| <checksum file="${dest}" algorithm="MD5" verifyproperty="md5.failed" property="${md5}" /> |
| <fail message="${failmessage}"> |
| <condition> |
| <equals arg1="${md5.failed}" arg2="false" /> |
| </condition> |
| </fail> |
| </target> |
| </project> |