AntでSubversionのリビジョンを取得

提供:Software Development Memo
2011年4月29日 (金) 05:15時点におけるAdmin (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動
注意 : このページ「AntでSubversionのリビジョンを取得」は、現在書きかけの状態です。完成版に向けて、今後加筆・修正します。また、本ページの内容は全体的な整合性が取れていない可能性があります。

本ページは、AntでSubversionのリビジョンを取得する手順を記述します。Antタスクで成果物をZipファイルにアーカイブする際、ファイル名にリビジョン番号を付与するといった活用ができます。

環境

環境

  • OS : CentOS 5.5
  • Ant : 1.8.2
  • SVNKit : 1.3.5
  • svntask : 1.0.8


インストール

Ant

入手先 : http://ant.apache.org/

$ tar zxvf apache-ant-1.8.2-bin.tar.gz
# mv apache-ant-1.8.2 /usr/local/

「/usr/local/apache-ant-1.8.2/bin/」をPATHに加えてください。

SVNKit

SVNKitは、svntaskの実行に必要となるSubversionリポジトリを操作できるライブラリです。ネイティブのSubversionライブラリが無くても、JavaVMのみでSubversionリポジトリを操作できます。

入手先 : http://svnkit.com/

$ unzip org.tmatesoft.svn_1.3.5.standalone.zip
# cp svnkit-1.3.5.7406/svnkit.jar /usr/local/apache-ant-1.8.2/lib/

svntask

AntでSubversion操作をするためのライブラリです。svntaskとSvnAntとの違いは、svntaskはJavaVMのみでSubversionリポジトリを操作するのに対して、SvnAntはネイティブのSubversionライブラリを必要とする点です。

入手先 : http://code.google.com/p/svntask/

$ unzip svntask-1.0.8.zip
# mv svntask-1.0.8/svntask.jar /usr/local/apache-ant-1.8.2/lib/

build.xml作成

build.xmlファイルの例を以下に記述します。

<?xml version="1.0" encoding="UTF-8"?>
<project name="sample" default="compile" basedir=".">
	<description>Sonarサンプル</description>
	<property environment="env" />
	<property name="src" location="src"/>
	<property name="build" location="bin"/>
	<property name="dist"  location="dist"/>

	<target name="init">
		<tstamp/>
		<mkdir dir="${build}"/>
	</target>

	<target name="compile" depends="init" description="compile the source">
		<javac srcdir="${src}" destdir="${build}"/>
	</target>

	<target name="dist" depends="init">
		<delete dir="${dist}"/>
		<svn><info path="." revisionProperty="revisionVersion" /></svn>
		<zip destfile="${dist}/appname-${DSTAMP}-rev${revisionVersion}.zip" basedir="." /> 
	</target>

	<target name="clean" description="clean up" >
		<delete dir="${build}"/>
	</target>
</project>

実行

ant dist

Ant実行後、distディレクトリにリビジョン名の入ったZipファイルができているはずです。

更新履歴

  • ページ作成 -- 2011年4月29日 (金) 13:57 (JST)