top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
Ant でちょっと git タスクを利用したい、という時には、必要なファイルの取得および build.xml 記述が必要です。これのための個人的なメモ。 以下のような手順で必要なファイルをダウンロードして、タスクで実行します。すると、Ant で git タスクが利用可能になります。
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." xmlns:au="antlib:org.apache.ant.antunit" xmlns:git="antlib:com.rimerosolutions.ant.git" xmlns="antlib:org.apache.tools.ant">
<!-- download related jars -->
<target name="getJars">
<mkdir dir="./lib" />
<get src="http://central.maven.org/maven2/com/rimerosolutions/ant/ant-git-tasks/1.3.2/ant-git-tasks-1.3.2.jar" dest="./lib" verbose="true" usetimestamp="true" />
<get src="http://central.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/4.4.1.201607150455-r/org.eclipse.jgit-4.4.1.201607150455-r.jar" dest="./lib" verbose="true" usetimestamp="true" />
<get src="http://central.maven.org/maven2/org/slf4j/slf4j-api/1.7.21/slf4j-api-1.7.21.jar" dest="./lib" verbose="true" usetimestamp="true" />
<get src="http://central.maven.org/maven2/org/slf4j/slf4j-log4j12/1.7.21/slf4j-log4j12-1.7.21.jar" dest="./lib" verbose="true" usetimestamp="true" />
<get src="http://central.maven.org/maven2/log4j/log4j/1.2.17/log4j-1.2.17.jar" dest="./lib" verbose="true" usetimestamp="true" />
<get src="http://central.maven.org/maven2/com/jcraft/jsch/0.1.53/jsch-0.1.53.jar" dest="./lib" verbose="true" usetimestamp="true" />
</target>
<!-- define ant-git-tasks -->
<!-- enable below lines after downloading jars.
<taskdef uri="antlib:com.rimerosolutions.ant.git" resource="com/rimerosolutions/ant/git/jgit-ant-lib.xml">
<classpath>
<fileset dir="lib" includes="*.jar" />
</classpath>
</taskdef>
* >
<target name="sampleGet">
<git:settings refId="gitSettingsReference" username="igapyon" password="password" name="Toshiki Iga" email="igapyon@gmail.com" />
<mkdir dir="./tmp/git" />
<git:git directory="./tmp/git" settingsRef="gitSettingsReference">
<git:clone uri="https://github.com/rimerosolutions/ant-git-tasks" />
</git:git>
</target>
</project>
Ant のみで記述していると、jar 依存性などが明確に記述に現れるのが明快で魅力的です。こちらの例だと Eclipse JGit に依存していることが明快に理解できます。 、、、ちなみに、maven の魅力に気がつき始めているのは内緒です。