NetBeansでプラグイン開発 » 履歴 » リビジョン 9
リビジョン 8 (Takashi Takebayashi, 2010/03/31 14:59) → リビジョン 9/11 (Takashi Takebayashi, 2010/03/31 14:59)
h1. NetBeansでプラグイン開発 {{>toc}} Redmineのプラグイン開発をWindows PC + NetBeansIDE 6.8 + Ruby 1.8.7 + Redmine 0.9.3 + SQLite3で開発する手順です。 h1. 環境構築 h2. Rubyのインストール NetBeans付属のJRubyを使っても良いのですが、ここでは最新のRuby 1.8.7を使うことにします。 注) Redmine 0.9.3 はRuby 1.9.xでは動きません。1.8系の最新を使ってください。 [[WindowsにRuby 1.8.7をインストールする]] h2. SQLite3をインストールする。 "SQLite3のサイト":http://www.sqlite.org/ からsqlite3.dllをダウンロードします。 "ダウンロードページ":http://www.sqlite.org/download.html のsqlitedll-3_6_22.zipをダウンロードして開くと * sqlite3.def * sqlite3.dll という2つのファイルがあるのでsqlite3.dllの方をC:\ruby\binにコピーします。 次に以下のコマンドを実行します。 <pre> C:\>gem install sqlite3-ruby </pre> h1. Redmineのインストール プラグイン開発に使用するRedmineをインストールします。"Redmineのダウンロードサイト":http://rubyforge.org/frs/?group_id=1850 からredmine-0.9.3.zipをダウンロードして展開します。ここでは例としてC:\直下に展開します。C:\redmine-0.9.3というフォルダができているはずです。 h2. SQLite3を使う設定にする。 RedmineのDBとしてSQLite3を使う設定をします。C:\redmine-0.9.3\config\database.ymlというファイルを新規に作成し、以下の内容を記述します。 <pre> production: adapter: sqlite3 database: db/redmine.db development: adapter: sqlite3 database: db/redmine_dev.db test: adapter: sqlite3 database: db/redmine_test.db </pre> 次に以下のコマンドを実行します。 <pre> C:\>cd C:\redmine-0.9.3 C:\redmine-0.9.3>rake db:migrate RAILS_ENV=development </pre> エラーが表示されず、C:\redmine-0.9.3\db\redmine_dev.db というファイルができていれば完了です。 h1. NetBeansIDEのインストール "NetBeansのサイト":http://ja.netbeans.org/ からNetBeansIDEをダウンロードします。"ダウンロードページ":http://netbeans.org/downloads/index.html?pagelang=ja には使用する機能によっていくつかのダウンロードパッケージがあります。「Ruby」 もしくは「すべて」をダンロードしてください。 ダウンロードしたファイルを実行するとインストールが始まります。質問に適当に答えてインストール完了です。 h1. プロジェクト作成 NetBeansIDE上にRedmineのプラグイン開発用プロジェクトを作成します。 [[NetBeansIDEにRedmineのプラグイン開発用プロジェクトを作成]] h1. Redmine を起動する。 h2. セッションデータの作成 最初の一回だけ以下の手順でセッションデータを作成する必要があります。 プロジェクトを右クリックし現れるメニューから「Rakeタスクを実行/デバッグ」を選択すると次の画面が現れます。 !session.png! ここでconfig/initializers/sessions_store.rbを選択して実行します。 h2. 起動する。 プロジェクトを選択し、ツールバーの再生ボタンを押します。 !execute.png! するとRedmineが起動し、ブラウザが勝手に開いてRedmineの初期画面が表示されるはずです。 !redmine.png! NetBeansIDE 下部の出力ウィンドウにはRedmineのコンソール出力が表示されます。 !console.png! 出力ウィンドウが無い場合にはメニューバーからウィンドウ→出力→出力と選ぶと表示されます。 h2. 停止 出力ウィンドウの左端にある停止ボタンを押すとRedmineを停止することができます。 !stop.png! h1. プラグインを作る では実際にNetBeansIDEからRedmineのプラグインを作ってみましょう。ここでは[[プラグイン チュートリアル]]で説明しているPollプラグインを作ってみます。 [[NetBeansIDEからプラグインを作成する]] h1. デバッグする h2. 準備 NetBeansIDEからRedmineをステップ実行したり実行中の変数を参照、変更したりすることができます。そのためには予めRubyに以下の2つのgemをインストールしておく必要があります。 * ruby-debug-base * ruby-debug-ide ただし普通にgemからインストールしようとするとWindows上では上手くいきません。以下の手順で行います。 h3. ruby-debug-base "rubyforgeのダウンロードページ":http://rubyforge.org/frs/?group_id=5040&release_id=22842 からlinecache-0.43-mswin32をダウンロードします。そしてダウンロードしたlinecache-0.43-mswin32をgemでインストールします。 <pre> C:\tmp>gem install -l linecache-0.43-mswin32 Successfully installed linecache-0.43-x86-mswin32 1 gem installed Installing ri documentation for linecache-0.43-x86-mswin32... Installing RDoc documentation for linecache-0.43-x86-mswin32... C:\tmp> </pre> "rubyforgeのダウンロードページ":http://rubyforge.org/frs/?group_id=1900&release_id=28306 からruby-debug-base-0.10.3-mswin32.gemをダウンロードします。そしてダウンロードしたruby-debug-base-0.10.3-mswin32.gemをgemでインストールします。 <pre> C:\tmp>gem install -l ruby-debug-base-0.10.3-mswin32.gem -lruby-debug-base-0.10.3-mswin32.gem Successfully installed ruby-debug-base-0.10.3-x86-mswin32 1 gem installed Installing ri documentation for ruby-debug-base-0.10.3-x86-mswin32... Installing RDoc documentation for ruby-debug-base-0.10.3-x86-mswin32... C:\tmp> </pre> h3. ruby-debug-ide おなじく"rubyforgeのダウンロードページ":http://rubyforge.org/frs/?group_id=3085&release_id=38858 からruby-debug-ide-0.4.6.gemをダウンロードしてインストールします。 <pre> C:\tmp>gem install -l ruby-debug-ide-0.4.6.gem Successfully installed ruby-debug-ide-0.4.6 1 gem installed Installing ri documentation for ruby-debug-ide-0.4.6... Installing RDoc documentation for ruby-debug-ide-0.4.6... C:\tmp> </pre> h2. デバッガを実行する プロジェクトを右クリックして「デバッグ」を選択するとRedmineが起動しデバッガを開始します。 プロジェクトを右クリックして「デバッグ」を選択するとRedmineが起動しデバッガを開始ます。 !debug.png! h3. ブレークポイント NetBeansIDEのエディタ上でブレークポイントを設定したい行番号をクリックするとその行にブレークポイントが設定されます。 !breakpoint.png! すると実行中に処理がブレークポイントに達した場合、そこで処理が一時中断します。 !break.png! もちろんステップ実行で1行ずつ処理を進めることもできます。また、下部の変数ウィンドウでその時点で設定されている変数の中身を確認することもできます。 !values.png!