Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
JAVA素人がECLIPSEプラグインを
作るためにやったこと
@SYAKU (ルウシィ)
自己紹介
竹村 爵友揮
@syaku(ルウシィ)
株式会社ビズリーチ (7/1~)
エンジニア
プログラミング歴は15年くらい
Javaはその最初期(Ver1.0)に少し+α
今回のお話
jfluteさんの作ったSAStrutsのラッパーのSAFluteの新規プロ
ジェクト作成プラグインを作成。
その際の開発の進め方、ハマったこと、考え方なんかをつらつ
らと。
技術的になんかすごい話は無いです。
なにげにEclips...
まず最初にやったこと
とりあえず何か
アプリを作る!!
で、TWITTER作りました
アプリを作る理由
一度手作業で新規プロジェクトを作ることで自動化しないとい
けない作業について分かった気になる
そもそもEclipseをちゃんと使ったプログラミング自体初めてな
のでその練習台
Twitterアプリを作るのが伝統らしいので
DIFFを取る
めでたくアプリが出来たので変更内容をDiffを確認
新規にプロジェクトを作る際にどこを動的に生成するのかはっ
きりさせる
いざECLIPSEプラグ
イン開発!!
・・・の、前に
一旦落ち着いてJAVAティーを飲
む
基本戦略
基本はWizardで入力した名前と置換したサンプルプロジェクト
を生成する
テンプレートエンジンはVelocityで
そこから必要に応じてファイルを減らしてBlankプロジェクトを
作成
WizardでBlankプロジェクトを自動生成...
開発環境の構築にハマる
普通にJava開発用のEclipseを落とすとプラグインSDKが入っ
てなかった
どのプラグインをインストールすれば良いのか調べるも結局よ
く分からず
⇒最終的にプラグイン開発用のEclipseパッケージを落として
きて...
プロジェクト作成でハマる
Plug-in Developmentだけでも6つくらいWizardがある
Wizardの項目がやたらと多い
先人の知恵を借りる
詳細な解説があるサイトはバージョンが違ってAPIが違った
り・・・
⇒説明が詳細なサイト...
プラグイン作成のお作法にハ
マる
plugin.xmlのあの設定画面がそもそも分からない
同梱したリソースファイルが読めないとか
どうやったらJavaProjectになるのか
どうやったらMavenProjectに(ry
PLUGIN.XMLの設定がわからん
解説サイトを読む
ここでもバージョン違いで苦しむ
翻訳されてて項目名が変わってたりしてハマる
⇒結局は設定の意味よりやり方を先に調べてその後意味を調
べる方が速かった
⇒ただし前半だけで止めるとただのコピペ
リソースの読込でハマる
そもそも読み込むべきPathが分からない
プラグインの絶対Pathを取得するAPIがあるはずなのでその
方向で調べる
⇒xxxxがあるはずという考え方は結構役に立つ
⇒自分が欲しい物は大抵他人も欲しい
プロジェクトの設定とか
CLASSPATHの設定とか
最初はプロジェクトは真面目にコードで作ろうとしてた
ただclasspathの追加の仕方は分かったが大変
何故かコード上で追加できない設定がある
⇒テンプレート化してVelocityで生成
JAVAではハマらなかった
文法的にはJava1.0の頃から凄まじく変わったわけではない
出来る事は増えていたが思想的に仕事で使ってたC#とあんま
り変わらなかった
ノイマン型コンピュータの上で動くプログラミング言語なんてど
れも同じだと固く信...
番外編:スライド作成でハマる
PowerPoint持ってない
というか持ってても使いこなせない
markdownで書きたい
⇒今回はreveal.js + markdownで作成
今後の展開
Blankプロジェクトの作成
テンプレート生成の自動化
ドキュメント作成を人に押しつける
広く一般に公開
今回の成果物
gitBREAKにて公開中
リポジトリは
というわけで も宜しく願いします。
以上、宣伝終わり。
こちら
codebreak;
ご清聴ありがと
うございました
Upcoming SlideShare
Loading in …5
×

Java素人がeclipseプラグインを作るためにやったこと

1,553 views

Published on

渋谷Javaで発表したスライド

  • Be the first to comment

  • Be the first to like this

Java素人がeclipseプラグインを作るためにやったこと

  1. 1. JAVA素人がECLIPSEプラグインを 作るためにやったこと @SYAKU (ルウシィ)
  2. 2. 自己紹介 竹村 爵友揮 @syaku(ルウシィ) 株式会社ビズリーチ (7/1~) エンジニア プログラミング歴は15年くらい Javaはその最初期(Ver1.0)に少し+α
  3. 3. 今回のお話 jfluteさんの作ったSAStrutsのラッパーのSAFluteの新規プロ ジェクト作成プラグインを作成。 その際の開発の進め方、ハマったこと、考え方なんかをつらつ らと。 技術的になんかすごい話は無いです。 なにげにEclipseプラグイン初挑戦。
  4. 4. まず最初にやったこと とりあえず何か アプリを作る!!
  5. 5. で、TWITTER作りました
  6. 6. アプリを作る理由 一度手作業で新規プロジェクトを作ることで自動化しないとい けない作業について分かった気になる そもそもEclipseをちゃんと使ったプログラミング自体初めてな のでその練習台 Twitterアプリを作るのが伝統らしいので
  7. 7. DIFFを取る めでたくアプリが出来たので変更内容をDiffを確認 新規にプロジェクトを作る際にどこを動的に生成するのかはっ きりさせる
  8. 8. いざECLIPSEプラグ イン開発!!
  9. 9. ・・・の、前に 一旦落ち着いてJAVAティーを飲 む
  10. 10. 基本戦略 基本はWizardで入力した名前と置換したサンプルプロジェクト を生成する テンプレートエンジンはVelocityで そこから必要に応じてファイルを減らしてBlankプロジェクトを 作成 WizardでBlankプロジェクトを自動生成できるようにする
  11. 11. 開発環境の構築にハマる 普通にJava開発用のEclipseを落とすとプラグインSDKが入っ てなかった どのプラグインをインストールすれば良いのか調べるも結局よ く分からず ⇒最終的にプラグイン開発用のEclipseパッケージを落として きて解決
  12. 12. プロジェクト作成でハマる Plug-in Developmentだけでも6つくらいWizardがある Wizardの項目がやたらと多い 先人の知恵を借りる 詳細な解説があるサイトはバージョンが違ってAPIが違った り・・・ ⇒説明が詳細なサイトを参考に作ってAPIが変わってるところ は勘とEclipseの警告を元に修正する方針で進める
  13. 13. プラグイン作成のお作法にハ マる plugin.xmlのあの設定画面がそもそも分からない 同梱したリソースファイルが読めないとか どうやったらJavaProjectになるのか どうやったらMavenProjectに(ry
  14. 14. PLUGIN.XMLの設定がわからん 解説サイトを読む ここでもバージョン違いで苦しむ 翻訳されてて項目名が変わってたりしてハマる ⇒結局は設定の意味よりやり方を先に調べてその後意味を調 べる方が速かった ⇒ただし前半だけで止めるとただのコピペ
  15. 15. リソースの読込でハマる そもそも読み込むべきPathが分からない プラグインの絶対Pathを取得するAPIがあるはずなのでその 方向で調べる ⇒xxxxがあるはずという考え方は結構役に立つ ⇒自分が欲しい物は大抵他人も欲しい
  16. 16. プロジェクトの設定とか CLASSPATHの設定とか 最初はプロジェクトは真面目にコードで作ろうとしてた ただclasspathの追加の仕方は分かったが大変 何故かコード上で追加できない設定がある ⇒テンプレート化してVelocityで生成
  17. 17. JAVAではハマらなかった 文法的にはJava1.0の頃から凄まじく変わったわけではない 出来る事は増えていたが思想的に仕事で使ってたC#とあんま り変わらなかった ノイマン型コンピュータの上で動くプログラミング言語なんてど れも同じだと固く信じる プログラミング言語はチューリング完全なので(ry
  18. 18. 番外編:スライド作成でハマる PowerPoint持ってない というか持ってても使いこなせない markdownで書きたい ⇒今回はreveal.js + markdownで作成
  19. 19. 今後の展開 Blankプロジェクトの作成 テンプレート生成の自動化 ドキュメント作成を人に押しつける 広く一般に公開
  20. 20. 今回の成果物 gitBREAKにて公開中 リポジトリは というわけで も宜しく願いします。 以上、宣伝終わり。 こちら codebreak;
  21. 21. ご清聴ありがと うございました

×