top / index / prev / next / target / source

2016-07-29 diary: [Ant] Ant で git タスクを使う方法

いがぴょんの日記 日記形式でつづる いがぴょんコラム ウェブページです。

[Ant] 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 の魅力に気がつき始めているのは内緒です。

関連リンクのメモ

登場キーワード


この日記について