Cookiecutterを使ってプロジェクトを生成する
Cookiecutterというプロジェクト生成ツールがある。 ツールは Python 製だけどテンプレートは言語問わず色々と準備されている。 ざっと眺めただけで使い方がわかるのでありがたい。
はじめにインストールする。
|
|
下みたいにURLを指定するとテンプレートをダウンロードして利用できる。 ダウンロードされたテンプレートは ~/.cookiecutters に置かれる。
|
|
一度ダウンロードしたテンプレートは直接使用できる。
|
|
また ~/.cookiecutter_replay/${template_name}.json に最後に利用したオプションが保存される。
テンプレートの構成
必須ファイルは cookiecutter.json と生成対象のテンプレートディレクトリの2つ。 生成対象のディレクトリには Jinja2 テンプレートを含める。
ファイル | 内容 |
---|---|
cookiecutter.json | 変数名:デフォルト値 or 選択肢(配列)になるマップを入れる |
{{cookiecutter.xxxx}} | ディレクトリ or ファイルで生成対象となる(変数名は cookiecutter.json で指定されている) |
|
|
各ファイルは Jinja2 テンプレートになっている。 ファイル名とかファイル内で変数展開するところは {{cookiecutter.foo}} って感じを使うっぽい。
まとめ
cargo とか mix みたいなツールのついてない言語だったら、これを使って準備するの楽になる場所が増えて良いと思った。