www.flickr.com
|
2010年07月14日
SConsとYAMLを組み合わせる
SConsでは依存性を記述するためにファイル名のリストを作るわけですが、
- pythonの文法に従うと、'やら,やらが入って書くのが面倒
- 1個の文字列をSplit関数に渡す方法だと、特定ファイルを一時的に取り除いたり するときにコメントアウト等ができなくて面倒
という問題が。
YAMLを使ってみる
PyYAML(http://pyyaml.org/)はYAML形式の文字列をリストや辞書に変換できる。 これを使うと、
files = yaml.load(""" - file1.cpp - file2.cpp - file3.cpp """)
でリストができる。
files = yaml.load(""" - file1.cpp #- file2.cpp - file3.cpp """)
でfile2.cppだけ取り除ける。この#はYAMLのコメントアウトとして処理される。 これで解決。
YAMLを使ったビルドツール?
ビルドツールの仕事の半分くらいは
- ファイル名などのリスト
- コンパイルオプションなどの辞書(ハッシュ)
の構築なので、YAMLを使った読みやすく書きやすい何かが ありそうな気がするのですが、どこかにありませんか?