IV. 開発者のための Simlate

目次

  • リリース手順
  • make test
  • デバッグログ

リリース手順

ソースコード中の define 定義されている VERSION を修正します。

  1. #define VERSION "X.Y.Z"

ChangeLog を記述し、make、make test を実行して最終確認したらコミットします。

  1. $ make
  2. $ make test
  3. $ sudo make install
  4. $ php -i | grep -i 'simplate' -A 1
  5. $ svn ci -m 'X.Y.Z release'

続いてタグ付けをします。

  1. $ svn copy https://svn.sourceforge.jp/svnroot/simplate/trunk https://svn.sourceforge.jp/svnroot/simplate/tags/simplate-X.Y.Z -m 'Release X.Y.Z'

http://sourceforge.jp/projects/simplate/svn/view/tags/simplate-X.Y.Z にアクセスし、tag の内容を確認した上で Download GNU tarball をクリックし、simplate-X.Y.Z.tar.gz をダウンロードします。 ダウンロードした tarball を使用して インストール手順 に従い、コンパイル & インストール & バージョンの確認をします。

SourceForge のメニュ「ダウンロード」→「管理」を開き、リリース一覧の「新規作成」をクリックします。

入力項目名 入力内容
バージョン X.Y.Z
リリースノート 今回のリリースの内容を簡潔に 1 行程度で
変更履歴 ChangeLog の内容コピペで OK
ファイル tarball を指定

上記内容で「リリースの作成」ボタンをクリックすればリリース完了です!

make test

Makefile の 126 行目辺りを以下のように変更すると make test が正しく実行できます。

変更前

... $(top_srcdir)/run-tests.php -U -d extension_dir=modules/ ...

変更後

... $(top_srcdir)/run-tests.php -n -U -d extension_dir=modules/ ...

これは、make test の際に、extension_dir ディレクティブの値が "modules/" (カレントディレクトリにある modules ディレクトリ) で上書きされるので、php.ini の extension ディレクティブで拡張モジュールを読み込むようにしていると、モジュールが読み込めなかった旨のエラーが出力されてテストが失敗するためです。

参考:http://gihyo.jp/dev/serial/01/php-module/0002?page=2

php.ini の extension ディレクティブをすべてコメントアウトしても make test が可能ですが、上述のように Makefile を書き換えた方が楽です。

デバッグログ

プリコンパイル済みフラグ SIMPLATE_DEBUG を定義するとでバッグログを出力します。デバッグログはカレントディレクトリの debug.log に出力します。デバッグログを出力したい場合は DEBUG_PRINTF マクロを使用することができます。

#define DEBUG_PRINTF(format, ...)

DEBUG_PRINTF は printf 系の format 構文が使用できます。

DEBUG_PRINTF("variable = (%s)", variable);

のようにログに出力する文字列を整形してマクロに与えてください。