GetIt に登録してみた

# GetIt とは
Delphi XE8 から導入されたパッケージマネージャです。
例えば Visual Studio なんかだと [NuGet](https://ja.wikipedia.org/wiki/NuGet) とかに当たるモノです。

![getit.png](https://qiita-image-store.s3.amazonaws.com/0/12977/fa5cbe86-1689-3086-7d34-382cef22d5f6.png)

# GetIt に登録する方法は？

登録方法はここに！
ただし英語！

[Submitting Libraries to the GetIt Package Manager](https://community.embarcadero.com/index.php/article/news/16027-submitting-libraries-to-getit)

今回は登録してもらった ScriptGate を例に取って日本語で手順を解説します。

## 準備
登録する前にいくつか準備がいります。

1. リポジトリを用意する
1. ソース一式のダウンロード先の用意
1. ライセンスの選定
1. サンプルプロジェクトの用意
1. ロゴ画像の用意

### 1. リポジトリの用意
GetIt への登録にはそのライブラリのホームページが必要になります。
個人でライブラリを公開している人はホームページとしてリポジトリを使っているようです。
ScriptGate でもそれに習って BitBucket にリポジトリを用意しました。

ScriptGate のリポジトリ
[ScriptGate](https://bitbucket.org/freeonterminate/scriptgate)

### 2. ソース一式のダウンロード先の用意
GetIt の担当者にチェックしてもらうため、および、GetIt からダウンロードされるファイルとして、必要なソースファイル一式の zip ファイルをどこかに置かなければなりません。
ScriptGete では、BitBucket のダウンロード部にアップしました。

[ScriptGate ダウンロード部](https://bitbucket.org/freeonterminate/scriptgate/downloads/)

### 3. ライセンスの選定
GetIt ではライブラリのライセンスが必要です。
マウスカーソルをライブラリにオーバーしたり、ダウンロードしてインストールするときに EULA（End User License Agreement: 使用許諾契約書）として表示されます。

![GetItScript2.png](https://qiita-image-store.s3.amazonaws.com/0/12977/a508dbc2-230f-6dea-2ebd-1c6ad18ade2b.png)
![eula.png](https://qiita-image-store.s3.amazonaws.com/0/12977/8e3539ff-8a64-01c5-8ba1-71f43eb8211e.png)

ScriptGate では [MIT License](https://ja.wikipedia.org/wiki/MIT_License) を採用しました。
最も寛容なライセンスの一つとされています。

### 4. サンプルプロジェクトの用意
GetIt で担当者がチェックするため、および、インストールすると最初に開くプロジェクト用にサンプルプロジェクトが必要です。
ScriptGate では、これも BitBucket にアップしました。
上記のダウンロード部にある "ScriptGateSample.zip" がそうです。

### 5. ロゴ画像の用意
GetIt はライブラリの画像を表示するので、その画像が必要です。
画像のサイズは 154x154 の png とされています。

![ScriptGate.png](https://qiita-image-store.s3.amazonaws.com/0/12977/732f9319-c0aa-d942-0ffe-3917c2d8acc4.png)

この png は登録後、↓のように右上に DX などの対象となる製品のロゴが入るので、このあたりは余白を用意した方が良いかもしれません。

![GetItScript1.png](https://qiita-image-store.s3.amazonaws.com/0/12977/04811323-5e52-7570-8040-0b24efd32734.png)


## 申請書の記入

[上記の英語のページ]((https://community.embarcadero.com/index.php/article/news/16027-submitting-libraries-to-getit))の最後にある申請用の docx をダウンロードします（Acrobat ユーザーなら pdf でも）。

![doc.png](https://qiita-image-store.s3.amazonaws.com/0/12977/f144c893-0604-152c-a12f-8c618bd84555.png)

ダウンロードした docx の中身を記入します。
２ページしかないので詰まるところはないと思います。
一応、ScriptGate の申請書の中身を貼っておきます。

![docsample.png](https://qiita-image-store.s3.amazonaws.com/0/12977/9042f99e-6715-da6c-5359-5681e6a5ea53.png)

## 登録申請

上記の申請書をマルコ・カントゥ( marco.cantu@embarcadero.com )当てに送ります。
件名は「GetIt Submission Information (ScriptGate)」とします（ScriptGate のところは適切な名前に置き換えてください）。

本文は Google 翻訳を駆使して下記のようにしました。

> Hello, Marco
> 
> I made ScriptGate Library that realizes mutual calling of JavaScript and Delphi code on TWebBrowser.
> I'd like to register the ScriptGate Library with GetIt.
> I wrote a GetIt application document.
> Would you please check the application form.
> 
> ScriptGate Repository
> https://bitbucket.org/freeonterminate/scriptgate/

このメールに申請書を添付して送ると、数日以内にマルコから返事がきます。
もしもオッケーだった場合は、担当者に回したから後は担当者とやりとりしてね！と言われるので、担当者と英語でやりとりします。
英語が苦手な人は Google 翻訳がないと死にます。
Google 様々です。

## 登録

担当者とやりとりして最終的にオッケーが出ると、即日 GetIt に反映されます。
あとは GetIt で確認して終わりです。

## 終わり！と思ったら甘かったでござる

GetIt からインストールするとインストール完了後にサンプルプロジェクトが開きますが、基本的に動作しません。
というのは GetIt から読み込まれたプロジェクトはライブラリパスがおかしくなるようでファイルが見つからないとエラーになります。
プロジェクトを閉じて再度開くとうまくビルド出来るのですが GetIt からダウンロードした一発目はビルドが通らないことになります。
（幾人かに試してもらったので、ビルドが通らないのは個人の環境の問題ではなさそうです）

困惑を招くと思ったので、ScriptGate では担当者に「サンプルプロジェクトは GetIt から開くとビルド出来ないから開かないようにして！」と言ってサンプルを開かないようにしてもらいました。
なお、担当者にも確認してもらったのですが、彼の環境ではビルド通るみたいです。謎。

# まとめ
GetIt への登録手続きはルーチン化されているので、英語さえ書ければ特に問題なく申請できます！
申請はただなので、何か自慢のライブラリがあったら申請してみると良いと思います！

※2017/12/1 現在、有料のライブラリの申請はまだ出来ないみたいです。