
Eclipseプラグインの作り方基本編
- 2011/12/12
- uchida
- Eclipseプラグイン開発
Eclipseのプラグインの作り方基本編
1.注意
Eclipseはプラグイン開発用に新しくダウンロードしたEclipseにしたほうがいいです。
仕事で使っている色々入っているEclipseだとめんどくさいことになりがちです。
とりあえず、ここに書いてある内容がならない場合は新しく入れた方がいいです。
今回はEclipseをダウンロードして日本語化しただけのものを使います。
2.プラグインプロジェクトを作る
1)パッケージエクスプローラ上で右クリック→新規→その他を選択
2)プラグイン開発からプラグイン・プロジェクトを選択
3)プロジェクト名に「HelloWorld」と入力します。Eclipseバージョンは書いてある通りターゲットとするEclipseのバージョンになります。
今回はそのままにしておきます。
4)ここは今回は変更しませんが、重要ポイントになります。
①実行環境はターゲットとなるJavaのバージョンになります。これを高くしすぎているといろんな人に使ってもらえなくなります。
(Eclipseのバージョンもそうです。)
②リッチクライアントプリケーションを作成を「はい」にすると、Eclipse内で動くPluginと違い独立したソフトウェアになります。
5)ここは普通は何も選択する必要はないのですが、どうやって作るのかわからないときのサンプルとしてや
さっさと作りたい場合に使うといいと思います。
今回はHello,Worldを選択します。
6)ここはHello,Worldのアクションクラスの設定です。ここはこのままで問題ありません。完了ボタンを押します。
7)パースペクティブを変更しますか?と出てくると思いますが、「はい」でいいです。
プラグイン開発のパースペクティブのほうが便利です。
以上でプラグインは完成です。
3.実行してみる
1)赤わく部分を押します。
2)もう一つEclipseが立ち上がって、メニューに「サンプルメニュー」というのがついていたら成功です。
4.最後に説明
重要なファイルはActivator.javaとplugin.xmlとbuild.propertiesになります。
①Activator.javaはプラグインそのものを表すクラスになります。
②plugin.xmlはある意味最も重要でここに書く設定で既存プラグインに機能を追加したりしていきます。
③build.propertiesはプラグインにはライブラリーを伴うことが多いのでその設定を書いたりします。






PHPUnit_Storyで振舞駆動開発なテストを書いてみた
テスト対象としてEntryクラスを作成しました。
- ステータス(下書き・公開済・削除)を持つ。
- 初期ステータスは下書き
- ステータスはメソッドを通じて変更できる。
$ phpunit --debug EntryTest.php
PHPUnit 3.6.2 by Sebastian Bergmann.
Starting test 'EntryTest::testStatus'.
.
Time: 0 seconds, Memory: 5.50Mb
OK (1 test, 3 assertions)
これを振舞駆動開発なテストで書きなおしてみました。PHPUnit_Extensions_Story_TestCaseをextendsし、runGiven、runWhen、runThenを実装する必要があります。
$ phpunit --debug --verbose --printer PHPUnit_Extensions_Story_ResultPrinter_Text EntrySpec.php
PHPUnit 3.6.2 by Sebastian Bergmann.
EntrySpec
[x] Status for new entry is draft
Given New Entry
Then Status should be draft
[x] Status after publish entry is published
Given Some Entry
When publish Entry
Then Status should be published
[x] Status after delete entry is deleted
Given Some Entry
When delete Entry
Then Status should be deleted
Scenarios: 3, Failed: 0, Skipped: 0, Incomplete: 0.
パッと見、コード量が多くなってしまいましたが、テスト対象がサンプル程度なので。実装が増えてきたときに、runGiven、runWhen、runThenを良い感じに使いまわせるようにすると、効果大きそうです。
ちなみにPHPUnit、PHPUnit_StoryともにPEARでサクッとインストール可能です。






OSC2011 Fukuoka ありがとうございました
12/3(土)に筑紫女学園大学で行われた『オープンソースカンファレンス 2011 Fukuoka』に出展して参りました。
今回、福岡ということで知った顔が多くて(福岡のコミュニティ、Rubyビジネスコモンズのスタッフをしていたり、他の勉強会やイベントにもちょくちょく参加してますので)心強かったです。
また、今年は各地のOSCに参加していますので遠方から来られた方々にも見慣れた顔が増えて参りました。
今回はセミナーも私が話させていただきました。スライドにちょっとした(まど☆マギ)ネタを入れているのですが、今回、ついに元ネタを知っている方がいないという状況が発生!
「いいかげんあきらめようか。いやしかし」
と葛藤中です(このネタのせいでスライド公開できなかったりするしなぁ。いやしかし)
そんなわたしの悲しみを表現するだれもいないブースの写真。
中央に赤くみえる梅ヶ枝餅がおしゃれポイントです。
まぁ、ブースの準備が終わったときにとった写真なのでだれもいないのは当然なんですが。
今回、現地は私一人でしたので写真がこれしかないのでした。
通常、あまり入れないような会場でいろいろとおもしろかったのですが、ライトニングトーク・閉会式の会場が礼拝堂(らいはいどう)であまりの神々しさに度肝をぬかれたのはいい思い出です。
ただ、女子大の学食を体験できなかったのは心残り(一人だったのでブースを離れるわけにもいかず昼食は梅ヶ枝餅をパクつきました)
それから、出展してるとセミナーを見れないのがつらいなぁとか、ライトニングトークネタもつくろうかなぁとか思いました。






OSC2011 Tokyo/Fall はじまりました
今回、土日の二日間(11/19〜20)です。展示 A(405)にブースをだしております。
明日は弊社のセミナーもあります。よろしくおねがいします。
28号館404教室「OSC. Government OSSと政府・自治体」のトラックです。
https://www.ospn.jp/osc2011-fall/modules/eguide/event.php?eid=41
ブースの準備が終わったらおもむろにコードを書き始めた人を激写。
Firefoxのぬいぐるみがかわいすぎる。でかすぎる。勝てね〜
とか言ってたらコード書いてた人が「うちのにゃんこ達を連れてくるしかない!」
と言いながらネコ画像を表示しはじめました。にゃんこ写真みたい方もどうぞ。






HomebrewでApache2.2+MySQL5.1+PHP5.3環境を構築
残念ながらHomebrewのリポジトリにはApache、PHPがなく、MySQLは5.5となっています。もっともApacheとPHPに関しては、システムに入ってるものはインストールしないというHomebrewの方針なんだろうと思いますが。で探し回っているとこんなものを見つけました。
Alternate formulae repos for Homebrew
https://github.com/adamv/homebrew-alt/
homebrewのリポジトリにはないものを野良的に公開してくださっています。上記利用させていただいて、MAMP環境を構築します。
PHP5.3のインストール
HomebrewはFomulaの直URL指定でもインストールすることができます。
brew install https://raw.github.com/adamv/homebrew-alt/master/duplicates/php.rb --with-mysql
ちなみにduplicatesディレクトリに入っているFomulaは、OS Xに標準で入っているものが集められています。
MySQL5.1のインストール
brew install https://raw.github.com/adamv/homebrew-alt/master/versions/mysql51.rb --with-utf8-default --use-gcc
初期設定
unset TMPDIR
mysql_install_db
起動・停止
私は、自動起動はさせたくなかったので、launchdには登録しませんでした。
mysql.server start
mysql.server stop
Apache2.2のインストール
brew install https://raw.github.com/adamv/homebrew-alt/master/duplicates/httpd.rb
httpd.conf等は/usr/local/Cellar/httpd/2.2.21/etc/apache2にあります。
PHPなどの設定
私の場合は、extra/php.confを作成し、httpd.confにてIncludeするようにしています。
vi /usr/local/Cellar/httpd/2.2.21/etc/apache2/extra/php.conf
LoadModule php5_module /usr/local/Cellar/php/5.3.8/libexec/apache2/libphp5.so
AddType application/x-httpd-php .php .php5 .phtml
その他に、DocumentRootを/Users/dataich/Sitesという風にユーザーホームのSitesディレクトリを使用するようにしました。この辺りはお好みで。
起動・停止
sudo apachectl start
sudo apachectl stop
あとは、phpinfo()で出力してみたりして確認すればOKです。
追記 – 2011/11/08
Homebrewで入れたPHPのpearでpermissionエラーが出ましたので、下記でもろもろ設定しました。
chmod -R ug+w /usr/local/Cellar/php/5.3.8/lib/php
pear config-set php_ini /usr/local/etc/php.ini






CEATEC JAPAN 2011 完走しました
10/8(土)に無事に終了いたしました。ありがとうございました。
技術者向けのイベントというわけでもありませんし、OpenCOBOLを使用してのダウンサイジングという相当にコアな内容の展示ですので多くの方に興味をもっていただくというわけにはいきませんでしたが深い興味をもった方々に来ていただきました。うれしかったです。
午前にご説明さしあげた方から午後にジュースを差し入れていただいてホッコリしたりも。
夜は疲れて「唐辛子だばー」したりもしたけどボクは元気です(どうでもいい)。
ちゃんと食べましたよ。カプサイシン!カプサイシン!
参加させていただいた長崎県ブースの展示、最終的にはこんな感じになりました。
特にご注目いただきたいのが左端の弊社のディスプレイの下の電光掲示板(ちょっと見えにくいですが)。
木曜日から応援に来てもらったスタッフのお手製です!(キット使用)
今後も各地で展示やセミナー等を行なっていく予定です。よろしくお願いいたします。






CEATEC JAPAN 2011 出展の事前準備できた〜
来週の CEATEC JAPAN 2011 の長崎県ブースに出展させて頂きます。
本日、展示パネルの発送など事前準備が一通り終わりました。
相変わらずギリギリって感じです。
弊社は今年もOpenCOBOLメインの展示です。
OpenCOBOL大好きっコは幕張メッセにあつまれ〜。
特別招待日 10月4日(火)
公開日 10月5日(水)~ 7日(金)
無料公開日 10月8日(土)
ですよ。
公開日は当日登録だと入場料が一般1,000円・学生500円ですが
Web事前登録してると無料だそうですよ。 おとく。




