🗻
自作コマンドを作ってHomebrewで公開してみた話
自作コマンドを作ってHomebrewで公開してみた話
自作コマンドを作ってHomebrewで公開したので、作り方をまとめてみました。
きっかけ
私は普段、仕事のPCを開いたら最初に「君が代」を聴いています。
いつもは Spotify を開き、「海上自衛隊 東京音楽隊」による君が代を再生しています
ただ、Spotifyに依存する形だとネット接続やアプリの状態に左右されるし何よりステップが多いため
CLIからサッと実行して、確実に君が代が流れる環境を作れたら便利だな と思うようになりました。
そこで、自作のBashスクリプトでMP3ファイルを再生し、縦書きで歌詞も表示できるCLIツール kimigayo
を作りました。
やったこと
リポジトリの作成
スクリプトの作成
- bin/kimigayo に処理内容を記載
- 今スクリプトはMP3ファイルを流すためMP3ファイルが必要ですが、自作コマンドに実質的に必要なファイルは bin/kimigayo のみです
- その他、 README.md などを追加
タグをつけてリリース
git tag v0.1.0
git push origin v0.1.0
hashの取得
❯ curl -L -o kimigayo.tar.gz https://github.com/politive/kimigayo/archive/refs/tags/v0.1.0.tar.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1348k 0 1348k 0 0 1652k 0 --:--:-- --:--:-- --:--:-- 1652k
❯ shasum -a 256 kimigayo.tar.gz
55b201c39596c0ff34738202f2acff21b0f2a8938f4b6eee7e449852bc716f74 kimigayo.tar.gz
ここで得られたハッシュを控えておきます。
Homebrew公開用リポジトリの作成
brew tap した時に Homebrewに見つけてもらうためのリポジトリです。
- https://github.com/politive/homebrew-kimigayo を作成(homebrew-*の命名が必要)
処理を追加
Formula/kimigayo.rb というファイルを作って以下のように編集
class Kimigayo < Formula
desc "Play Japan’s national anthem in your terminal"
# スクリプトのリポジトリ
homepage "https://github.com/politive/kimigayo"
# GitHub がタグごとに生成するgzファイルを指定
url "https://github.com/politive/kimigayo/archive/refs/tags/v0.1.0.tar.gz"
# 先ほど得られたハッシュ
sha256 "55b201c39596c0ff34738202f2acff21b0f2a8938f4b6eee7e449852bc716f74"
license "MIT"
# 依存ライブラリはここに記載しておく
depends_on "mpg123"
def install
bin.install "bin/kimigayo"
pkgshare.install "mp3"
end
test do
system "true"
end
end
内容をpushしておく
git add .
git comment -m 'お好きなコミットメッセージ'
git push origin main
動作確認
# HomebrewがGitHubからpolitive/kimigayoを探してくれる
brew tap politive/kimigayo
# 依存ライブラリもここでインストールされる
brew install kimigayo
動作確認
kimigayo
以下のような歌詞とともに、君が代の音源が流れたらOK。
まだできていないこと
- Windows, Linux対応
-
国旗が絵文字であることや、等幅フォントでないターミナルでの検証歌詞の囲いの表示が少しズレる可能性がある
終わりに
他にも自動化したいことがいくつかあるので、それらも時間を見つけてコマンドにしたいなと思っています。
Discussion