Flutterでの開発体験をよくする小技を紹介します。
Flutterで開発していてターミナルで打ち込むコマンドがルーチン化してはいませんか?
今回はルーチン化しているコマンドをシェルスクリプトを使って一纏めに実行する方法について紹介します。
Mac端末での紹介となりますこと、ご了承ください。
課題##
GitHubへのコミット前に、ターミナルで複数コマンドを打ち込む場合があると思います。
CI手法で、コードのフォーマットのチェックを行なっている場合や、
プルリクエストを行う前にできるだけコードを綺麗にしたい場合です。
具体例として、自分がGitHubへのコミット前に行なっている作業を紹介します。
実行するコマンドは以下の3つです。
# importのパスを相対パス(もしくは絶対パス)に揃える、import_path_converterの導入が必要
flutter pub run import_path_converter:main
# importのソートを実行する、import_sorterの導入が必要
flutter pub run import_sorter:main
# コード全体のフォーマット
flutter format -l 80 --fix lib
これをコミット前に毎回ターミナルに打ち込んで実行していたのですが、
3回もコマンドを打つのって手間ですよね。
シェルスクリプトを使って、一括で実行できるようにしたいと思います。
解決方法##
シェルスクリプトとは、複数のコマンドをまとめて実行するためのプログラムのことです。
作成、実行の手順は以下の通りです。
以下を記載したファイルを、ファイル名.shとしてフォルダルート(コマンドをターミナルで実行するディレクトリ)に置きます。
# !/usr/bin/zsh
# 実行したいコマンドを記載
exit 0
#!/usr/bin/zsh
はコメントではなくお決まりの定型文ですので、削除しないようにしてください。
上の私の例だと、以下のようになります。
# !/usr/bin/zsh
flutter pub run import_path_converter:main
flutter pub run import_sorter:main
flutter format -l 80 --fix lib
exit 0
あとは、zsh ファイル名.sh
とターミナルに打ち込んで実行するだけです。
めちゃくちゃ簡単ですよね。
これで、複数コマンドを打ち込んでいた作業が、一回で済むようになりました。
まとめ##
Flutterでの開発体験をよくする小技として、
ルーチン化しているコマンドをシェルスクリプトを使って一纏めに実行する方法について紹介しました。
自分はGit関係をSorcetreeを使っているため行いませんでしたが、
Git関連のコマンドをシェルスクリプトに組み込んで楽をするのも良いかもしれません。
自分専用にカスタマイズして実行してみてください。
本記事でFlutterの開発体験が良くなれば幸いです。
参考##