| <?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. |
| --> |
| <!-- |
| ======================================================================= |
| Build file to fetch maven2 tasks; extracted from (Ant's) fetch.xml |
| ======================================================================= |
| --> |
| <project name="get-m2" default="get-m2" basedir="."> |
| |
| <description> |
| This build file downloads the Maven2 Ant tasks, |
| and installs them in the location specified by the m2.dest.dir property. |
| |
| You may need to set proxy settings. On Java1.5, Ant tries to get |
| this from the OS, unless you use the -noproxy option. |
| |
| Proxies can be configured manually setting the JVM proxy values in the |
| ANT_OPTS environment variable. |
| |
| For example, to set the proxy up in the tcsh shell, the command would be |
| something like: |
| |
| For csh/tcsh: |
| setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080" |
| For bash: |
| export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080" |
| For Windows, set the environment variable in the appropriate dialog box |
| and open a new console. or, by hand |
| set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 |
| </description> |
| |
| <property file="get-m2.properties" /> |
| |
| <property name="m2.antlib.resource" |
| value="org/apache/maven/artifact/ant/antlib.xml" /> |
| |
| <property name="m2.antlib.uri" |
| value="antlib:org.apache.maven.artifact.ant" /> |
| |
| <macrodef name="require"> |
| <attribute name="property" /> |
| <sequential> |
| <fail unless="@{property}">$${@{property}} not specified</fail> |
| </sequential> |
| </macrodef> |
| |
| <target name="probe-m2"> |
| <require property="m2.dest.dir" /> |
| <require property="m2.jar.name" /> |
| |
| <!-- Look for M2 ant tasks in our classpath--> |
| <property name="m2.artifact" location="${m2.dest.dir}/${m2.jar.name}" /> |
| <available property="m2.antlib.found" resource="${m2.antlib.resource}" /> |
| <condition property="m2.antlib.typefound"> |
| <typefound name="${m2.antlib.uri}:artifact" /> |
| </condition> |
| <available property="m2.artifact.found" file="${m2.artifact}" type="file" /> |
| </target> |
| |
| <target name="download-m2" depends="probe-m2" unless="m2.artifact.found"> |
| <require property="m2.antlib.url" /> |
| <echo>Downloading to ${m2.dest.dir}</echo> |
| |
| <mkdir dir="${m2.dest.dir}" /> |
| <!-- fetch M2 ant tasks into our repository, if it is not there--> |
| <get src="${m2.antlib.url}" |
| dest="${m2.artifact}" |
| verbose="true" |
| usetimestamp="false" /> |
| </target> |
| |
| <target name="dont-validate-m2-checksum" depends="probe-m2" |
| if="m2.artifact.found"> |
| <property name="checksum.equal" value="true" /> |
| </target> |
| |
| <target name="validate-m2-checksum" |
| depends="download-m2,dont-validate-m2-checksum" |
| if="m2.sha1.checksum" unless="m2.artifact.found"> |
| <checksum file="${m2.artifact}" |
| algorithm="SHA" |
| property="${m2.sha1.checksum}" |
| verifyProperty="checksum.equal" /> |
| </target> |
| |
| <target name="checksum-mismatch" depends="validate-m2-checksum" |
| if="m2.sha1.checksum" unless="checksum.equal"> |
| <delete file="${m2.artifact}" /> |
| <fail> |
| Failed to verify the downloaded file ${m2.antlib.url}" against the checksum |
| coded into libraries.properties. |
| The local copy has been deleted, for security reasons |
| </fail> |
| </target> |
| |
| <target name="checksum-match" depends="checksum-mismatch" |
| unless="m2.antlib.found"> |
| <taskdef classpath="${m2.artifact}" resource="${m2.antlib.resource}" |
| uri="${m2.antlib.uri}" /> |
| </target> |
| |
| <target name="get-m2" depends="checksum-match" |
| description="Download the Maven2 Ant tasks" /> |
| |
| </project> |