既存のEclipseプラグインプロジェクトを自身でビルド,インストールするまでの手順

#内容
既存のEclipseプラグインプロジェクトを自身でビルドしインストールするまでの手順をまとめます。
プロジェクトはあるはずなのにお目当てのプラグインがマーケットプレースでの検索でヒットしない場合や、既存のプラグインを修正して利用したい場合等を念頭においています。

#環境
- Windows8.1
- Jdk11
- ビルドに利用するEclipseのVersion: 2019-03
- プラグインをインストールするEclipseのVersion: 2018-12
- ビルドするプラグイン: [DBViewer Plugin](https://github.com/azusa/dbviewer)


#プラグイン開発用プラグインのインストール
[Eclipse PDE](https://www.eclipse.org/pde/)をインストールします。
Java用の[Pleiades All in One Eclipse](http://mergedoc.osdn.jp/)を利用している場合など、インストール済みの場合はこのステップは飛ばします。
![eclipse_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/d5d6393f-05ef-7c98-4538-ad4a079da72e.jpeg)


#既存のEclipseプラグインプロジェクトのダウンロード
任意のプロジェクトをダウンロード or Pullし、任意のディレクトリに展開します。
今回はGitHub上の[DBViewer Plugin](https://github.com/azusa/dbviewer)を使用しています。
zipファイルをダウンロードし「C:\app\project\dbviewer-master」に解凍しました。
![eclipse_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/bd330989-bfd3-3ad6-8219-81fb923b641b.jpeg)


#既存のEclipseプラグインプロジェクトのインポート
先ほどのステップで入手したプロジェクトをEclipseにインポートします。

1. 「File > Import > General > Existing Project into Workspace」を選択し「Next >」。
![eclipse_3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/047bbba0-9e40-f954-649e-21b499c77794.jpeg)

2. 「Select root directory:」にて先ほどの手順でプロジェクトを展開したディレクトリを指定し「Finish」。
![eclipse_4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/27068599-22b0-5cda-f066-d7099c664dbf.jpeg)

「Project Explorer」でインポートしたプロジェクトを確認できるようになります。
プロジェクト直下「plugin.xml」の「Overview」にて「Testing > Launch an Eclipse application」を実行するなどしてプラグインの動作確認が行えます。
![eclipse_a1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/b1e7ec52-2bf5-591d-b0d0-f4b716ea563c.jpeg)


#プロジェクトのビルド
ここから先は、基本的に「Help > Welcome」にて表示されるページ「Tutorials > Create an Eclipse plug-in」の以下「赤枠」の順に作業すればＯＫです。
![eclipse_5.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/dd0d9af3-abe5-d1ef-42ef-74658bef688a.jpeg)


### featureを作成する
「Plug-in Development」パースペクティブにて「feature」を作成します。

1. 「File > New > Feature Project」にて必要事項を入力し「Next > 」。赤枠以外はデフォルトとしました。
![eclipse_6.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/ea15c316-bfbb-cc17-3110-ce4c807bc535.jpeg)


2. 対象のプラグインを選択し「Finish」。
![eclipse_7.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/10b99d79-3340-60e6-cf91-19e8e83736cd.jpeg)


「Project Explorer」で追加した「feature」を確認できるようになります。
「feature.xmlをダブルクリック > Information」にて、任意で「Feature Description」や「License Agreement」を記入し、保存します。
![eclipse_8.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/24b81b4a-f8a6-fceb-e829-5b0607e69f5a.jpeg)


### update siteを作成する
「Plug-in Development」パースペクティブにて「update site」を作成します。
ここではファイルサーバー上の共有ディレクトリ等を「update site」とすることを想定しています。

1. 「File > New > Project > Plug-in Development > Update Site Project」にて「Project Name:」と「Location:」を記入し「Finish」。
![eclipse_9.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/f23828ab-bfd3-6516-a767-a6f042b3a2c5.jpeg)

2. 「Project Explorer」で追加した「update site」を確認できます。「site.xmlをダブルクリック > Archives」にて、任意で「Description:」等を記入し、保存します。
![eclipse_10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/5f645bd2-ccbd-37d9-c20c-5aa8b60017ae.jpeg)


3. 「site.xml」の「Site Map」にて、「New Category」をクリックします。追加されたcategoryに対して任意の「ID」「Name」を記入し、保存します。
![eclipse_11.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/8c9b1f19-7a2c-d778-05db-d0cf25e67efd.jpeg)


4. 引き続き「site.xml」の「Site Map」にて、先ほど追加したcategoryを選択し、「Add Feature」をクリックします。ポップアップ上で「featureを作成する」手順にて作成した「feature」を選択し「Add」の後、保存します。
![eclipse_12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/ed163cbf-8ddd-164a-fbe1-e6e016c4dd5c.jpeg)


### ビルド&update siteへの公開
いよいよビルドです。「update siteを作成する」手順４で作成した「site.xml > Site Map」の「feature」を選択し「Build All」。
![eclipse_13.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/4bae79d4-278e-e368-a51f-caa93101db7a.jpeg)



ビルドが完了すると以下のように「update site」の「features」ディレクトリと「plugins」ディレクトリにjarが作成されます。
![eclipse_14.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/c886d435-df26-e38d-9898-3170077c422e.jpeg)





#インストール
対象のEclipseを起動しプラグインをインストールします。

1. 「Help > Install New Software」において「update site」のURLを記入し、「Add」をクリックすると、先ほどビルドしたプラグインが表示されます。チェックを付けて「Next >」
![eclipse_15.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/495e1c19-ddb6-d35d-3585-2af49659823d.jpeg)


2. 「Install Detail」にて「Next >」
![eclipse_16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/a462767a-16df-1b9f-cae6-f06b15961002.jpeg)


3. ライセンスを確認し「I accept ～」を選択し「Finish」（今回はインストールできることの確認のみ行うためライセンスは記入していません。）
![eclipse_17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/0d16d817-0da2-3c6b-6603-5556cfd3554d.jpeg)


インストール完了後に再起動すると、インストールしたプラグインが使用できるようになっています。
![eclipse_18.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/338425/d7cce9ad-5243-1357-399f-ceb85e5c02e2.jpeg)


# 参考資料
Eclipseにおいて「Help > Welcome」にて表示されるページ「Tutorials > Create an Eclipse plug-in」