2011年5月29日日曜日

Apache Antのインストール

いくつかあるやりたいことのうち、まずはApache Antに取り組んでみる。自宅と職場との両方で使いたいので、Mac OS X環境とWindows環境との両方を視野に入れて進めることにした。

手元の環境の確認

手元のMac OS X環境 (10.6.7) は、

$ ant -version
Apache Ant(TM) version 1.8.2 compiled on February 28 2011

ということで、すでにApache Antがインストールされており、すぐに使える模様。

手元のWindows環境 (2000 SP4) は、

C:\>ant -version
'ant' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

ということで、まずはApache Antをインストールするところから。

インストーラーを作る

Installing Antの手順に従って手作業でインストールを、というのでもよかったのだが、せっかくなのでApache Antのインストーラーを作ってみる。インストーラーの作成にはIzPackを使うことにした。

フォルダ構成

Apache Ant 1.8.2のバイナリディストリビューション (apache-ant-1.8.2-bin.zip) を入手・展開し、それに合わせてIzPack用のインストール定義ファイル (install.xmlregistry-spec.xml) を記述する。このインストール定義ファイルをIzPackでコンパイルすると、インストーラー (installer.jar) が生成される。

2011-05-29/
  +-- install.xml          // インストール定義ファイル
  +-- registry-spec.xml    // インストール定義ファイル (レジストリ関連)
  +-- apache-ant-1.8.2/    // 入手したバイナリディストリビューションを展開したもの
  |     +-- bin/
  |     +-- lib/
  |     +-- docs/
  |     +-- etc/
  +-- installer.jar        // 生成されたインストーラー

インストール定義ファイル (install.xmlregistry-spec.xml)

インストール定義は、バイナリディストリビューション中の全ファイルを%ProgramFiles%\Apache Software Foundation\apache-ant-1.8.2にインストールする、という単純なもの。加えて、環境変数ANT_HOMEの追加と環境変数Pathの変更とを行うようにした。

install.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE installation
  SYSTEM "https://github.com/jponge/izpack/raw/4.3/src/dtd/installation.dtd">

<installation version="1.0">

  <info>
    <appname>Apache Ant™</appname>
    <appversion>1.8.2</appversion>
    <appsubpath>Apache Software Foundation/apache-ant-${APP_VER}</appsubpath>
  </info>

  <guiprefs width="640" height="480" resizable="no"/>

  <locale>
    <langpack iso3="jpn"/>
  </locale>

  <resources>
    <res id="RegistrySpec.xml"
      src="./registry-spec.xml"/>
  </resources>

  <panels>
    <panel classname="HelloPanel"/>
    <panel classname="DefaultTargetPanel"/>
    <panel classname="SummaryPanel"/>
    <panel classname="InstallPanel"/>
    <panel classname="SimpleFinishPanel"/>
  </panels>

  <listeners>
    <listener
      installer="RegistryInstallerListener"
      uninstaller="RegistryUninstallerListener">
      <os family="windows"/>
    </listener>
  </listeners>

  <packs>
    <pack name="All files"
      required="yes">
      <description/>
      <fileset targetdir="${INSTALL_PATH}"
        dir="./apache-ant-1.8.2/"/>
    </pack>
  </packs>

  <native type="3rdparty" name="COIOSHelper.dll" stage="both">
    <os family="windows"/>
  </native>

</installation>
registry-spec.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE registry
  SYSTEM "https://github.com/jponge/izpack/raw/4.3/src/dtd/event/registry.dtd">

<registry>

  <pack name="All files">
    <value
      name="ANT_HOME"
      string="${INSTALL_PATH}"
      keypath="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
      root="HKLM"/>
    <value
      name="Path"
      string="${OLD_KEY_VALUE};%ANT_HOME%\bin"
      keypath="SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
      root="HKLM"/>
  </pack>

</registry>

コンパイル

これらのインストール定義ファイルを、IzPackのcompileコマンドを用いてコンパイルする。コンパイルは、Mac OS X環境とWindows環境とのどちらで行ってもよい。

Mac OS X環境
$ pwd
/Users/(中略)/2011-05-29
$ export PATH=${PATH}:/Applications/IzPack/bin
$ compile install.xml -o installer.jar
Windows環境
C:\>cd
C:\Documents and Settings\(中略)\2011-05-29
C:\>SET Path=%Path%;%ProgramFiles%\IzPack\bin
C:\>compile install.xml -o installer.jar

インストーラーを実行する

生成されたインストーラーを実行したのちに、追加・変更された環境変数を認識させるためにWindowsを再起動する。これでApache Antがインストールされたはず。正しくインストールされたかどうかを確認してみる。

C:\>ant -version
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li
b\tools.jar
Apache Ant(TM) version 1.8.2 compiled on December 20 2010

正しくインストールされた模様。

0 件のコメント:

コメントを投稿