| <?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 xmlns:ivy="antlib:org.apache.ivy.ant" |
| xmlns:artifact="artifact:org.apache.maven.artifact.ant"> |
| |
| <target name="mvn-init" unless="mvn-init.complete"> |
| <echo message="${ant.project.name}"/> |
| <get src="${mvnrepo}/org/apache/maven/maven-ant-tasks/${maven-ant-tasks.version}/maven-ant-tasks-${maven-ant-tasks.version}.jar" |
| dest="${path.to.basedir}/build/maven-ant-tasks-${maven-ant-tasks.version}.jar" |
| usetimestamp="true" |
| skipexisting="true"/> |
| <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" |
| uri="artifact:org.apache.maven.artifact.ant" |
| classpath="${path.to.basedir}/build/maven-ant-tasks-${maven-ant-tasks.version}.jar"/> |
| <property name="mvn-init.complete" value="true"/> |
| </target> |
| |
| <target name="_check-mvn-dependencies" unless="mvn-dependencies.complete"> |
| <available property="mvn-dependencies.complete" |
| file="${build.dir}/lib/.mvn-dependencies.complete"/> |
| </target> |
| |
| <!-- Only resolve dependencies if not already copied to lib dir. We copy |
| dependencies into the build dir rather than directly using files from the |
| local maven repo to match how ivy dependencies work. This is necessary for |
| targets like javadoc that need a comprehensive set of all dependencies |
| that would otherwise be unavailable at the top-level build file. --> |
| <target name="mvn-dependencies" |
| depends="mvn-init,_check-mvn-dependencies" |
| unless="mvn-dependencies.complete"> |
| <echo message="${ant.project.name}"/> |
| |
| <artifact:dependencies pathId="mvn.compile.classpath" scopes="compile"> |
| <pom file="pom.xml"/> |
| </artifact:dependencies> |
| <mkdir dir="${build.dir}/lib/compile"/> |
| <copy todir="${build.dir}/lib/compile"> |
| <path refid="mvn.compile.classpath"/> |
| </copy> |
| |
| <artifact:dependencies pathId="mvn.test.classpath" scopes="compile, test"> |
| <pom file="pom.xml"/> |
| </artifact:dependencies> |
| <mkdir dir="${build.dir}/lib/test"/> |
| <copy todir="${build.dir}/lib/test"> |
| <path refid="mvn.test.classpath"/> |
| </copy> |
| |
| <touch file="${build.dir}/lib/.mvn-dependencies.complete"/> |
| </target> |
| |
| </project> |