lua-resty-woothee というモジュールをメンテナンスしているのですが
ありがたいことに割と利用されているようですし、LuaのパッケージマネージャーであるLuaRocksに登録しておくと利用者がもっと便利に使えるかな〜と思いましたので対応してみました。
以下その手順メモです。
Ref: モジュールを公開する手順に関するドキュメント
手順サマリー
- rockspecを書く
- ローカルでテスト
- Githubなどにソースコード公開
- LuaRocksにアカウント登録
- LuaRocksにrockファイルをアップロード
1. rockspecを書く
rockspecとはモジュールの情報、ビルド方式、ソースの場所などを書いたspecファイルです。
手動で書くでも良いですし、 luarocks write_rockspec コマンドを利用する、でも良いです。
他のモジュールを参考にコピペでも良いかも。ちなみにlua-resty-wootheeではこんな感じです。
rockspecの詳しい説明については公式ドキュメントを御覧ください。
2. ローカルでテスト
luarocks make
コマンドでビルドしてみましょう。
エラーが出なければOKです。
3. Githubなどにソースコード公開
公開されていれば、GithubではなくBitbucketなどでも良いでしょう。
4. LuaRocksにアカウントを登録
こちらのURLから情報を入力してアカウント登録を行います。
5. LuaRocksにソースコードアップロード
.rockspecファイルと.rockファイルの両方をアップロードするとLuaRocksに公開されます。
アップロードはファイルを作成して管理画面から登録する方法と、
uploadコマンドを利用する方法があります。
.rockファイルは packコマンド で作成できます。
uploadコマンドを利用する場合はpackコマンドも自動で実行されるため前もってファイルを作っておく必要はありませんが、テストのために実行しておきましょう。
luarocks pack <rockspecファイル>
そして uploadコマンド でLuaRocksにアップロードされます。
APIキーは管理画面から入手可能です。
luarocks upload <rockspecファイル> --api-key=<your API key>
以上!簡単ですね。
補足: バージョン管理について
Wikiを見る限り、基本的にはrockspecファイル内のバージョンとソースコードを更新する手順が推奨されているようです。
githubのtagを利用する方法がわかりやすくて良いですね。
また、rockspec内のバージョンとファイルに含まれるバージョンが一致している必要があるためファイル名も毎回更新することになります。1
たとえばバージョン2.0-1に更新したい場合、以下のような記述にすればよいでしょう。
package = "hogelib"
version = "2.0-1"
source = {
url = "git://github.com/hogesan/hogelib",
tag = "v2.0.1"
}
...
-
ただ、公開されているモジュールを見るとrockspecファイル変えずにバージョン上げる方法もありそうなんですよね。どうやってるんだろう。 ↩