EclipseのPlugin開発するためのMavenがないわけを考えてみた。Lunaこの広告は、90日以上更新していないブログに表示しています。2008-01-29EclipseのPlugin開発するためのMavenがないわけを考えてみた。maven今から二年近く前。RCPを作ろうと思い立ったとき、当時は自分も便利そうだし、使った事のなかったMaven2を使ってプラグインの開発環境を作ろうと思いました。その当時もどーしてもやれませんでした。今に至ってもMaven2を使ってプラグインを開発しているという話は聞いたことがありません。この程一通り自動ビルド、テスト環境を作ってみて、なんでMaven2のプラグインにEclipseビルド用のプラグインがないか、語れそうな気がしてきたので、書いてみます。Maven2を使う理由は主に、pom.xmlにライブラリ名を書くと、依存するライブラリを自動で引っ張ってきてくれるという機能ではないでしょうか。この仕組みの相性がそもそもよろしくないです。Eclipseのプラグインに組み込むライブラリは、各プラグインの中に入れることもできますが、他のプラグインからも利用できるように別のプラグインとして切り出しておく事が多いです。IDEにはAntやluceneなどApacheプロジェクトの成果物がプラグインが組み込まれていますが、これらは特定のプラグインにライブラリとして導入されているわけではありません。IDEの開発者以外の開発者からも同じライブラリをプラグイン開発に利用できるように開放しています。Eclipseの各プロジェクトで利用するライブラリを管理するためのプロジェクトとしてOrbitがあります。プラグイン同士の依存はマニフェストファイル(META-INF/MANIFEST.MF)に記述しますが、pom.xmlにも記述しないとならないとなると情報が重複します。pom.xmlに記述している情報とマニフェストファイルに記述している内容を管理する必要が出てきます。これだけで全然うれしくないですよね。Maven2に用意されているゴールですが、ほぼすべてのものが既存の環境、つまりアプリケーションを構成するクラスローダーが一つの環境で動作するものばかりではないでしょうか。OSGiのように、プラグイン(Bundle)ごとにクラスローダーが用意されている環境で動作できるゴールを僕は知りません。PluginっていうOSGi環境を構築するためのMaven2プラグインがあるってことは知ってますが、使ったことありません。OSGi環境といってもFelixであって、Equinoxではないのでプラグイン開発環境に使えるかは、未知数です。)Testや、Packageなどのゴールを使えないのだとしたらMaven2を使う理由はどこなんでしょうか。ProjectというEclipseプラットフォーム上で動作するアプリケーションを構築するためのプロジェクトがあります。このプロジェクトには10年以上びるだーの仕事を経験したまいすたーがたくさんいるわけですよ。ShellスクリプトやらAntスクリプトやらバッチなどが書けるメンバーだらけなわけなので、Maven2を使わないでも全然いけちゃうメンバーだらけな訳です。それにプラグイン開発者からしてみればEclipse上でほとんどすべての作業ができる(自動化除く)ので、Maven2みたいなコンソールを叩く作業が流行らなかったのかなと思います。Plugin開発が行われないのかなと思いました。Provisioning(通称p2)というプロジェクトが現在走ってます。このプロジェクトでは特定のリポジトリにつないで、利用したいライブラリを選択すると、自動的にそれに付随するライブラリをダウンロードできる環境を目指して開発が進んでいるようなので、Maven2を使った場合よりも便利な環境が出きるんじゃないかと僕は期待してます。(今のところ中を追っかけてみたい気もしてますが、そこまで手を回せてません。22:27EclipseのPlugin開発するためのMavenがないわけを考えてみた。Tweet広告を非表示にする関連記事2010-01-21OSGiがエンタープライズアプリケーションに与えるインパクトEclipseベースのツールを開発し始めてから3年近く立ちました。Exam、ということで試してみました。2008が開催されていますね。開催しましたTracの変更をIdobataに通知するプラグインデブサミ2014に参加した!(2日目)デブサミ2014に参加した!(1日目)月別アーカイブはてなブログをはじめよう!kompiroさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。