RAD Studioのアップデートや再インストールの必要が場合に、自身のブロジェクトで利用しているGetItパッケージを検索して、手動で再インストールすることは非常に面倒な作業ですが、 これを軽減するコンセプトで作成されたソフトウェアが「AutoGetIt」というオープンソースのプロジェクトです。
AutoGetItは、以下のような機能を持っています。
- GetItから利用可能なパッケージを取得してリストに表示
- 取得するGeiItパッケージリストのフィルタ(ソート/検索)
- パッケージのインストール済/未インストールなどの管理
などが可能で、Delphiのパッケージインストールプロセスを自動化することができます。 (但し、一部の製品の中には認証が必要なパッケージも存在するため、完全に自動で操作できるわけではありません。)
以下の節では、AutoGetItを利用するために必要な準備と簡単な操作方法について説明いたします。
Table of Contents
AutoGetItを利用するためのセットアップ
AutoGetItは、Delphiコードで作成されているオープンソースのプロジェクトです。 事前にビルドされたバイナリは存在せず、使用するためには自身でビルドする必要があります。とは言っても、AutoGetIt自身は非常に小さなプログラムなので、ビルド作業はとても簡単です。
ここでは、AutoGetItをビルドするために必要な環境を構築する手順について説明いたします。
DosCommandコンポーネントのインストール
AutoGetItでは、RAD Studioが提供しているGetItコマンドラインツールをプログラムから呼び出して実行します。
外部コマンドを呼び出すために、GetItで提供されているTurboPack DOSCommandというコンポーネントを事前にインストールしておく必要があります。TurboPack DOSCommandのインストールは、GetItパッケージマネージャを開いて、検索ボックスから”DOSCommand”というキーワードで検索すると見つかりますので、これを選択してインストールすることができます。
インストール後、必ず IDEを再起動してください。
TurboPack DOSCommandコンポーネントは、オープンソースのプロジェクトで、DelphiおよびC++BuilderのWin32/Win64環境にて無償で利用可能です。インストールすると、設計時/実行時パッケージとして提供されます。DOSCommandコンポーネントは、DOSプログラムに入力を送ることもでき、その出力を1行ずつ得ることができます。 なお、このコンポーネントはMozilla Public License 1.1 (MPL 1.1)のライセンスで規定されています。
AutoGetItプロジェクトをダウンロード
AutoGetItのブロジェクトは、GitHub経由でこちらからダウンロードできます。
上図のように[Code]-[Download ZIP]を選択してください。ダウンロードされるファイル名は「AutoGetIt-master.zip」で、ダウンロードした後、任意のパスへ展開してください。
AutoGetItプロジェクトをDelphiでビルドする
任意のパスに展開されたフォルダ内のAutoGetItVCL.dprojというプロジェクトファイルをDelphi IDEで開いてください。
※DOSCommandコンポーネントを事前にインストールしていない場合は、プロジェクトを開いた時にエラーが発生しますので、ご注意ください。
下図は、AutoGetItVCLプロジェクトをDelphi IDEで開いた画面です。
AutoGetItVCLプロジェクトを開いた後、通常の操作と同様にビルドできます。 下図は、AutoGetItVCLプロジェクトのビルド後の画面です。
ビルドが成功していれば、AutoGetItVCL.exeという名前の実行ファイルが作成されているので、それを実行してください。
AutoGetItの起動
AutoGetItを実行したら、画面の左上の[Refresh Package List]ボタンをクリックしてください。
[Refresh Package List]ボタンを押すと、GetItコマンドラインツールを外部コマンドで実行し、GetItサーバーへ問い合わせてパッケージリストを下図のように更新します。
パッケージの一覧から個別にインストール製品のチェックが行え、チェック済の製品は後からまとめてインストールすることができます。
またインストールにチェックした製品のリストのインポート/エクスポートも行えます。
AutoGetItは、オープンソースプロジェクトで、こちらから入手できます。なお、エンバカデロではこの製品に関するテクニカルサポートサービスは提供しておりません。