自动下载Apache Ivy
请将以下内容用中文进行同义转述,仅需要一种选项:
“Can you help me with this task?”
“Could you assist me in completing this assignment?”
通过使用Apache Ivy,不再需要将依赖库的*.jar文件提交到版本管理系统(SCM)。在这个过程中,我们还避免了将ivy.jar提交到SCM中,开发者也无需手动下载。
也许不需要,但还是将其公开如下。
apache.mirror.site = http://ftp.riken.jp/net/apache
#apache.mirror.site = http://ftp.jaist.ac.jp/pub/apache
#apache.mirror.site = http://ftp.kddilabs.jp/infosystems/apache
#apache.mirror.site = http://ftp.yz.yamagata-u.ac.jp/pub/network/apache
#apache.mirror.site = http://ftp.tsukuba.wide.ad.jp/software/apache
#apache.mirror.site = http://ftp.meisei-u.ac.jp/mirror/apache/dist
# コミットしないように .gitignore や svn:ignore に追加する
target.dir = target
ivy.version = 2.4.0
ivy.dir = ${target.dir}/vendor/ivy
ivy.lib.dir = ${ivy.dir}/${ivy.version}
ivy.url = ${apache.mirror.site}/ant/ivy/${ivy.version}/apache-ivy-${ivy.version}-bin.zip
<target name="-ivy" depends="-ivy.jar">
<taskdef resource="org/apache/ivy/ant/antlib.xml"
uri="antlib:org.apache.ivy.ant">
<classpath>
<fileset dir="${ivy.lib.dir}">
<include name="*.jar" />
</fileset>
</classpath>
</taskdef>
</target>
<target name="-ivy.jar"
depends="-downloaded.ivy.jar"
unless="downloaded.ivy.jar">
<!-- 旧バージョンを削除し、指定したバージョンのivy.jarをダウンロードする -->
<delete dir="${ivy.dir}" />
<mkdir dir="${ivy.lib.dir}" />
<get src="${ivy.url}"
dest="${target.dir}/ivy.zip" />
<unzip src="${target.dir}/ivy.zip"
dest="${ivy.lib.dir}">
<patternset>
<include name="*/*.jar" />
</patternset>
<mapper type="flatten" />
</unzip>
<delete file="${target.dir}/ivy.zip" />
</target>
<target name="-downloaded.ivy.jar">
<!-- 指定したバージョンの ivy.jar をダウンロード済みか判定する -->
<available property="downloaded.ivy.jar"
file="${ivy.lib.dir}/ivy-${ivy.version}.jar" />
</target>
只需使用属性depends等在下一步中执行“-ivy”目标。
<target name="-main.classes"
depends="-ivy">
<mkdir dir="${main.classes.dir}" />
<ivy:cachepath pathid="main.classpath" conf="runtime"/>
<javac destdir="${main.classes.dir}" includeantruntime="false"
encoding="UTF-8"
debug="true" debuglevel="source,lines">
<classpath refid="main.classpath" />
<src path="${main.java.dir}" />
</javac>
</target>