Ant で git タスクを使う方法
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 の魅力に気がつき始めているのは内緒です。