2012-12-06 [長年日記]

Aptana上でtracを動かす

昨日に引き続き、tracプラグイン Step by Step を書くよ。

Tracのソースを展開しておく

あとでいろいろ読むので、bitnami Trac に入っている trac のソースアーカイブを展開しておく。

インストールフォルダ(C:\Program files\Bitnami) の下の、apps\trac\Lib\site-packages に Trac-1.0-py2.7.egg というファイルがあるので、拡張子を .egg.zip に変更して、その場で展開しておく。こうすることで、あとで統合開発環境からソースを確認できるようになる。

Aptanaを起動する

まず Aptana を初回起動する前に、なにかあったときのため、インストールフォルダの configurationフォルダを別フォルダにコピーするなりしてバックアップしておく。

起動するとワークスペースを聞かれる。ワークスペースが深いと面倒なので、初回起動時にワークスペースを C:\workspace を指定しておく。

起動するとこんな感じ。「セキュリティの重要な警告」ダイアログが出ることがあるので、名前とパスが意図したとおりであることを確認して「アクセスを許可する」をクリックしておく。

IDEが使うPythonインタプリタを設定する

Window - Preferences で PyDev - Interpreter - Python を選択し、右側で「Auto Config」をクリックする。OSの実行パスにあるPythonランタイムとそのライブラリ群を自動的に見つけるので、python27.zip や Trac-1.0-py2.7.egg が含まれていることを確認して OK しておく。

Pythonプロジェクトの入れ物を作る

File - New - Project... を選択し、PyDev Project を作る。名前は trac としよう。ほかの設定はそのままにウィザードを進めると、最後にパースペクティブを切り替えるか聞かれるので、Yesを選択してPyDevパースペクティブに移動しておく。下図参照

Tracのプロジェクトを作る

まず、いま作ったtracフォルダを右クリックし、New - Folder で projects というフォルダを生成する。

次に、Window - Show View - Other... で Terminal を開いて、以下のように trac-adminコマンドを実行してtracプロジェクトを作る:

$ "C:\Program files\bitnami\apps\trac\Scripts\trac-admin" ../trac/projects/1.0 initenv
Project Name [My Project]>
Database connection string [sqlite:db/trac.db]>

Congratulations! が表示されればOK。

adminユーザにTRAC_ADMIN権限を付与する

そのまま、そのターミナルで以下を実行して、adminユーザに管理権限を付与しておく:

"C:\Program files\bitnami\apps\trac\Scripts\trac-admin" ../trac/projects/1.0 permission add admin TRAC_ADMIN

なにも応答がないけど、あとでログインしたときに、管理メニューがでているはず。

認証用ファイルを作る

tracフォルダの直下に、認証用のファイル htpasswd を準備しておく。内容は以下の一行:

admin:$apr1$tLtrvLwu$RgbbU7vh1PtQc3D9nP2qW1
こいつは ユーザ名 admin、パスワード admin を意味している。

trac起動スクリプトを用意し、起動設定を作ってtracを起動する

Bitnamiインストールフォルダの apps\trac\Scripts に tracd-script.py というファイルがあるので、エクスプローラからAptanaの PyDev package explorerビューの tracフォルダに ドラッグ&ドロップする。コピーするかリンクするか聞かれるので、どっちでもよいけれどリンクすることとする。
で、右クリックして Run as - Python run を一回実行しておき(これは実行エラーになる)、その起動設定を Run - Run configurations ... から編集する。

編集する場所は、Argumentsタブの Program arguments: のところ。以下のようにしておく:

-p 8080 --basic-auth="1.0,htpasswd,realm"
--env-parent-dir ${workspace_loc:/trac/projects}

そのまま Run すると tracが起動する。Webブラウザから http://localhost:8080/ にアクセスすると、Available Projects のページが表示され、My Project をクリックして tracトップにアクセスし、admin/admin でログインできることを確認しよう。

ステップ実行してみる

起動したtracをいったん run - terminate で停止し、Run - Debug History - 1 trac tracd-script.py を選択して trac をデバッグモードで起動する。
ブレークポイントを置いて、止めてみよう。PyDev package explorer で trac - python - System Libs - site-packages/Trac-1.0.py2.7.egg - trac - about.py と降りていって about.py をダブルクリックしてエディタで開き、60行目あたりの def process_request の行番号を右クリックして Add Breakpoint を選んでブレークポイントを置いておく。

この状態でWebブラウザから、trac画面の右上「tracについて」をクリックすると、Aptanaがピカピカしてブレークポイントで止まった状態になっている。必要に応じてデバッグパースペクティブに切り替えて、Variablesビューを使ってその時点の変数の内容を見たり、Debugビューのボタンを使ってステップ実行したり、ソース上の変数を右クリックして値をWatchしたりできる。


«前の日記(2012-12-05) 最新 次の日記(2012-12-07)»