プロジェクト

全般

プロフィール

NetBeansでプラグイン開発 » 履歴 » バージョン 11

Takashi Takebayashi, 2010/05/12 21:30

1 1 Haru Iida
h1. NetBeansでプラグイン開発
2
3
{{>toc}}
4
5
Redmineのプラグイン開発をWindows PC + NetBeansIDE 6.8 + Ruby 1.8.7 + Redmine 0.9.3 + SQLite3で開発する手順です。
6
7
8
h1. 環境構築
9
10
h2. Rubyのインストール
11
12
NetBeans付属のJRubyを使っても良いのですが、ここでは最新のRuby 1.8.7を使うことにします。
13
注) Redmine 0.9.3 はRuby 1.9.xでは動きません。1.8系の最新を使ってください。
14
15
[[WindowsにRuby 1.8.7をインストールする]]
16
17
18
h2. SQLite3をインストールする。
19
20
"SQLite3のサイト":http://www.sqlite.org/ からsqlite3.dllをダウンロードします。
21
"ダウンロードページ":http://www.sqlite.org/download.html のsqlitedll-3_6_22.zipをダウンロードして開くと
22
23
* sqlite3.def
24
* sqlite3.dll
25
26
という2つのファイルがあるのでsqlite3.dllの方をC:\ruby\binにコピーします。
27
次に以下のコマンドを実行します。
28
29
<pre>
30
C:\>gem install sqlite3-ruby
31
</pre>
32
33
h1. Redmineのインストール
34
35
プラグイン開発に使用するRedmineをインストールします。"Redmineのダウンロードサイト":http://rubyforge.org/frs/?group_id=1850 からredmine-0.9.3.zipをダウンロードして展開します。ここでは例としてC:\直下に展開します。C:\redmine-0.9.3というフォルダができているはずです。
36
37
h2. SQLite3を使う設定にする。
38
39
RedmineのDBとしてSQLite3を使う設定をします。C:\redmine-0.9.3\config\database.ymlというファイルを新規に作成し、以下の内容を記述します。
40
41
<pre>
42
production:
43
  adapter: sqlite3
44
  database: db/redmine.db
45
 
46
development:
47
  adapter: sqlite3
48
  database: db/redmine_dev.db
49
50
test:
51
  adapter: sqlite3
52
  database: db/redmine_test.db
53
</pre>
54
55
次に以下のコマンドを実行します。
56
57
<pre>
58
C:\>cd C:\redmine-0.9.3
59
C:\redmine-0.9.3>rake db:migrate RAILS_ENV=development
60
</pre>
61
62
エラーが表示されず、C:\redmine-0.9.3\db\redmine_dev.db というファイルができていれば完了です。
63
64
h1. NetBeansIDEのインストール
65
66
"NetBeansのサイト":http://ja.netbeans.org/ からNetBeansIDEをダウンロードします。"ダウンロードページ":http://netbeans.org/downloads/index.html?pagelang=ja には使用する機能によっていくつかのダウンロードパッケージがあります。「Ruby」 もしくは「すべて」をダンロードしてください。
67
ダウンロードしたファイルを実行するとインストールが始まります。質問に適当に答えてインストール完了です。
68
69
h1. プロジェクト作成
70
71
NetBeansIDE上にRedmineのプラグイン開発用プロジェクトを作成します。
72
73
[[NetBeansIDEにRedmineのプラグイン開発用プロジェクトを作成]]
74
75
h1. Redmine を起動する。
76
77
h2. セッションデータの作成
78
79
最初の一回だけ以下の手順でセッションデータを作成する必要があります。
80
プロジェクトを右クリックし現れるメニューから「Rakeタスクを実行/デバッグ」を選択すると次の画面が現れます。
81
82
!session.png!
83
84
ここでconfig/initializers/sessions_store.rbを選択して実行します。
85
86
h2. 起動する。
87
88
プロジェクトを選択し、ツールバーの再生ボタンを押します。
89
90
!execute.png!
91
92
するとRedmineが起動し、ブラウザが勝手に開いてRedmineの初期画面が表示されるはずです。
93
94
!redmine.png!
95 2 Haru Iida
96 3 Haru Iida
NetBeansIDE 下部の出力ウィンドウにはRedmineのコンソール出力が表示されます。
97
98
!console.png!
99
100
出力ウィンドウが無い場合にはメニューバーからウィンドウ→出力→出力と選ぶと表示されます。
101
102
h2. 停止
103
104
出力ウィンドウの左端にある停止ボタンを押すとRedmineを停止することができます。
105
106
!stop.png!
107
108 2 Haru Iida
h1. プラグインを作る
109 1 Haru Iida
110 3 Haru Iida
では実際にNetBeansIDEからRedmineのプラグインを作ってみましょう。ここでは[[プラグイン チュートリアル]]で説明しているPollプラグインを作ってみます。
111
[[NetBeansIDEからプラグインを作成する]]
112 4 Haru Iida
113
h1. デバッグする
114
115
h2. 準備
116
117
NetBeansIDEからRedmineをステップ実行したり実行中の変数を参照、変更したりすることができます。そのためには予めRubyに以下の2つのgemをインストールしておく必要があります。
118
119
* ruby-debug-base
120
* ruby-debug-ide
121
122
ただし普通にgemからインストールしようとするとWindows上では上手くいきません。以下の手順で行います。
123
124
h3. ruby-debug-base
125
126 10 Takashi Takebayashi
"rubyforgeのダウンロードページ":http://rubyforge.org/frs/?group_id=5040&release_id=22842 からlinecache-0.43-mswin32.gemをダウンロードします。そしてダウンロードしたlinecache-0.43-mswin32.gemをgemでインストールします。
127 8 Takashi Takebayashi
128
<pre>
129 10 Takashi Takebayashi
C:\tmp>gem install -l linecache-0.43-mswin32.gem
130 8 Takashi Takebayashi
Successfully installed linecache-0.43-x86-mswin32
131
1 gem installed
132
Installing ri documentation for linecache-0.43-x86-mswin32...
133
Installing RDoc documentation for linecache-0.43-x86-mswin32...
134
135
C:\tmp>
136
</pre>
137
138 4 Haru Iida
"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でインストールします。
139
140 1 Haru Iida
<pre>
141 9 Takashi Takebayashi
C:\tmp>gem install -l ruby-debug-base-0.10.3-mswin32.gem
142 4 Haru Iida
Successfully installed ruby-debug-base-0.10.3-x86-mswin32
143
1 gem installed
144
Installing ri documentation for ruby-debug-base-0.10.3-x86-mswin32...
145
Installing RDoc documentation for ruby-debug-base-0.10.3-x86-mswin32...
146
147
C:\tmp>
148
</pre>
149
150
h3. ruby-debug-ide
151
152 10 Takashi Takebayashi
おなじく"rubyforgeのダウンロードページ":http://rubyforge.org/frs/?group_id=3085&release_id=38858 からruby-debug-ide-0.4.6.gemをダウンロードします。そしてダウンロードしたruby-debug-ide-0.4.6.gemをgemでインストールします。
153 1 Haru Iida
154 4 Haru Iida
<pre>
155 8 Takashi Takebayashi
C:\tmp>gem install -l ruby-debug-ide-0.4.6.gem
156 4 Haru Iida
Successfully installed ruby-debug-ide-0.4.6
157
1 gem installed
158
Installing ri documentation for ruby-debug-ide-0.4.6...
159
Installing RDoc documentation for ruby-debug-ide-0.4.6...
160
161
C:\tmp>
162
</pre>
163 5 Haru Iida
164
h2. デバッガを実行する
165
166 9 Takashi Takebayashi
プロジェクトを右クリックして「デバッグ」を選択するとRedmineが起動しデバッガを開始します。
167 5 Haru Iida
168 6 Haru Iida
!debug.png!
169
170 5 Haru Iida
h3. ブレークポイント
171 7 Haru Iida
172
NetBeansIDEのエディタ上でブレークポイントを設定したい行番号をクリックするとその行にブレークポイントが設定されます。
173
174
!breakpoint.png!
175
176
すると実行中に処理がブレークポイントに達した場合、そこで処理が一時中断します。
177
178
!break.png!
179
180
もちろんステップ実行で1行ずつ処理を進めることもできます。また、下部の変数ウィンドウでその時点で設定されている変数の中身を確認することもできます。
181
182 1 Haru Iida
!values.png!
183 11 Takashi Takebayashi
184
h1. 単体テストする
185
186
h2. 準備
187
188
NetBeansIDEからテストを実行することができます。そのためには予めRubyに以下の3つのgemをインストールしておく必要があります。
189
190
* mocha
191
* edavis10-object_daddy
192
* thoughtbot-shoulda
193
194
それぞれ以下のコマンドを実行して、インストールします。
195
196
<pre>
197
C:\>gem install mocha
198
</pre>
199
200
<pre>
201
C:\>gem install edavis10-object_daddy
202
</pre>
203
204
<pre>
205
C:\>gem install thoughtbot-shoulda --source=http://gems.github.com
206
</pre>
207
208
h2. 単体テストを実行する
209
210
単体テストを記述したファイルを開き、右クリックして「ファイルをテスト」を選択すると単体テストを開始します。