<!--
  Copyright (C) 2009-2013, JoshuaTree. All Rights Reserved.
  Licensed to Joshua Tree Software, LLC under New BSD license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  JTS licenses this file to You under the New BSD License
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       https://jts.us/License

   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="fortress-core" default="download" basedir="." >

     <target name="init">
        <property name="ivy.install.version" value="2.2.0"/>
     </target>

     <target name="download" depends="init">
        <!-- download from maven into the ant.home/lib folder so it can be used even without any special installation of Ivy -->
        <echo message="downloading ivy to Ant home: ${ant.home}"/>
        <get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
              dest="${ant.home}/lib" usetimestamp="true"/>
     </target>

</project>

