最終回 プラグインを配布してみんなに使ってもらおう
      萩原 巧
リトルソフト株式会社
      2006/12/13
        
       
        
            | 
          作ったプラグインをみんなに配布しよう!              | 
        
      
	   すべての実装が終了した田中君。ここからは、作成したプラグインを配布できるようにします。
	  
        
          | 長尾君 | 
          「せっかく作ったプラグインなんだから、みんなに使ってほしいよね。ここからは、田中君が作成したHSQLDBプラグインの配布イメージを作成しよう」 | 
        
        
          | 田中君 | 
          「配布イメージの作成って難しいの?」 | 
        
       
          | 長尾君 | 
          「今回作成したレベルのプラグインならば、簡単に配布イメージを作成できるよ。プラグインを配置する方法は、大まかに分けて、EclipseのPluginフォルダに直接フォルダやJarファイルを配置する方法と、ネットワーク上から配置する方法の2種類があるのだけど、今回は、Jarファイルを作成してPluginフォルダに直接配置するやり方を説明するよ」 | 
        
         
          | 田中君 | 
          「JarファイルをPluginフォルダに配置する方式のプラグインは使ったことあるからよく分かるよ」 | 
        
       
          | 長尾君 | 
          「まずは、[plugin.xml]の[概要]タブを開いてみよう」 | 
        
      
	  
	  
        
            | 
        
        
          | Plugin.xml 概要タブエクスポート欄  | 
        
      
      
      
        
          | 長尾君 | 
          「[plugin.xml]には、[エクスポート]欄があるよね。この欄は文字通り、プラグインの配布イメージを作成(エクスポート)するために必要な作業がまとめられているんだ。エクスポート欄の[ビルド構成]のリンクをクリックしよう」 | 
        
      
      
      
        
            | 
        
        
          | Plugin.xml ビルドタブ  | 
        
      
      
      
        
          | 長尾君 | 
          「[plugin.xml]の[ビルド構成]タブは、配布イメージに含まれるファイル構成を定義することができるんだ。ランタイム情報の[ライブラリーの追加]をクリックすると、ダイアログが表示されるよ」 | 
        
      
      
      
        
            | 
        
        
          | ライブラリーの追加をクリックすると、[エントリーの追加]ダイアログが表示される  | 
        
      
      
      
         
          | 田中君 | 
          「このダイアログの役目は?」 | 
        
        
          | 長尾君 | 
          「ここの入力欄にライブラリ名(jarファイル名)を入力することによって、田中君が作成したJavaクラスを入力した名前でライブラリ化(jarファイル化)することができるんだ。この欄には[HSQLDBControlPlugin.jar]と入力しよう」 | 
        
      
      
      
        
            | 
        
        
          | ライブラリ[HSQLDBControlPlugin.jar]の定義  | 
        
      
      
      
        
          | 長尾君 | 
          「バイナリー・ビルド欄では、このプラグインに含むファイルを選択できるんだ。[META-INF]フォルダと[plugin.xml]ファイルはすでにチェックが付いているから、それらに加えて、[icons]フォルダ(このプラグインのアイコンが格納されているフォルダ)と[lib]フォルダ(hsqldb.jarが格納されているフォルダ)にチェックを入れよう」 | 
        
      
      
      
        
            | 
        
        
          | バイナリー・ビルド欄の[icons]フォルダと[lib]フォルダにチェックを入れる  | 
        
      
      
      
        
          | 長尾君 | 
          最後に[ランタイム]タブを開いて、クラスパスの設定を行おう。この設定を行わないと、プラグインのビルド時にエラーが起きてしまうから注意しよう」 | 
        
      
      
      
        
            | 
        
        
          | [ランタイム]タブでのクラスパスの設定  | 
        
      
       クラスパスの[新規]ボタンをクリックして、[hsqldb.jar]と[HSQLDBControlPlugin.jar]の2つのファイルをクラスパスとして設定してください。
      
        
          | 長尾君 | 
          「これですべての準備は終わったよ。[概要]タブのエクスポート欄に戻って、[エクスポートウィザード]のリンクをクリックしよう」 | 
        
      
      
      
        
            | 
        
        
          | プラグインエクスポートウィザード  | 
        
      
      
      
        
          | 長尾君 | 
          「エクスポートウィザードを使用することによって、プラグインの配布イメージを作成することができるんだ」 | 
        
      
       エクスポートウィザードには以下の項目があります。
      
        
          
              
                | 項目名称 | 
                内容 | 
               
              
                | エクスポート宛先 | 
                生成したプラグインの保存先を設定します。
                    
                  - [アーカイブ・ファイル]:指定したフォルダにzip形式で圧縮してプラグインを保存します
 
                    - [ディレクトリー]:指定したフォルダにプラグインを圧縮をせずに保存します
 
                  | 
               
              
                | コンパイラオプション | 
                Javaコンパイラーの互換性の設定を行います。お使いのJDKに合わせて設定してください | 
               
              
                | エクスポートオプション | 
                プラグインの生成時に以下のオプションを設定できます。
                  
  - [ソース・コードを組み込む]
:プラグインの構成ファイルにプラグインのソースを付加できます
 - [個々のJARアーカイブとしてをプラグインパッケージ]
:チェックすると、1つのJarファイルとしてプラグインが生成されます(当プラグインでは、チェック入れると正常に動作しないので注意してください)
 
  - [Antスクリプトとして保管]
:チェックすると指定したフォルダにAntスクリプトが生成され、Antスクリプトからプラグインを生成することができるようになります
 
                  | 
               
            | 
        
      
      
      
        
          | 長尾君 | 
          「[終了]ボタンをクリックすると、指定したフォルダにプラグインが生成されるよ。今回は、このプラグインのフォルダが作成されるから、田中君確認してみて」 | 
        
      
       田中君は指定したフォルダにプラグインが生成されたことを確認した。
      
        
            | 
        
        
          | 指定したフォルダにプラグインのフォルダが生成  | 
        
      
      
      
        
          | 田中君 | 
          「ちゃんと、プラグインのフォルダファイルができたね。このフォルダ名称の命名の規約ってあるのかな?」 | 
        
        
          | 長尾君 | 
          「フォルダ名は、[プラグインのID_プラグインのバージョン] として作成されるよ。このフォルダ名称を変えてしまうと、プラグインが動作しなくなるから注意しよう。ちなみにこのフォルダの内部は、[plugin.xml]の[ビルド構成]タブで設定した構成になっているから興味があったら中身をのぞいてみてね」 | 
        
      
       ついに完成したHSQLDBプラグイン、最後にほかのマシンにこのプラグインを配置して動作の確認を行う。
      
        
          | 長尾君 | 
          「このプラグインは作りが単純だから、作成されたプラグインのフォルダを、Eclipseの[plugins]フォルダにそのままコピーすれば使用できるようになるよ」 | 
        
      
      
      
        
            | 
        
        
          | Eclipseの[plugins]フォルダにコピー  | 
        
      
      
      
        
          | 長尾君 | 
          「プラグインをコピーしたら、Eclipseを起動しよう!」 | 
        
      
       田中君は作成したプラグインフォルダのコピーを行って、Eclipseを起動した。
      
        
            | 
        
        
          | EclipseにHSQLDBプラグインのコンポーネントが組み込まれました  | 
        
      
      
      
        
          | 田中君 | 
          「やった! ちゃんと、表示されたよ!!」 | 
        
        
          | 長尾君 | 
          「よかったね。これでほかのマシンには配布し放題だね!」 | 
        
      
      
      
        
            | 
          おわりに ― プラグインを自作する意義とは? ―   | 
        
      
      
      
        
          | 田中君 | 
          「ふぅーー、やっと完成したね」 | 
        
        
          | 長尾君 | 
          「田中君、お疲れさま」 | 
        
        
          | 田中君 | 
          「ちょっと難しいところがあったけど、ほとんどは理解できたよ、丁寧に教えてくれてありがとう」 | 
        
        
          | 長尾君 | 
          「どういたしまして、これで、プラグイン開発は一通りできるようになったと思うから、これからは自分の力でどんどん作れるね、例えば[XMLエディタ]、[データベース管理プラグイン]とかさっ」 | 
        
        
          | 田中君 | 
          「そうだね、難しそうだけど、作ってみるよ。」 | 
        
      
       長尾君と田中君で進めてきた当連載も今回が最後です、長い連載に最後までお付き合いいただき本当にありがとうございました。
       有償、無償にかかわらず、出来合いのツールを使用して開発を進めることが多い昨今、田中君のように、「欲しい機能は頑張って自分で作成する」というある種の気位をもって日々の仕事に取り組んでいくのも悪くないことと考えております。
       忙しい毎日の中で、長い時間を割いてまで……、と思われる方もいるかと思いますが、ツールを自作するという経験を通じて、プログラム設計やプログラミングのスキルが向上するのはもちろんのこと、「より良いアプリケーション、ツールとはどういうものなのか」「みんなに受け入れられるようにするには、どのようなモノに仕上げればよいか」と自問することにより、より高いレベルの技術者への第一歩を踏み出すことができる、と筆者は信じております。
       今回の連載で作成したプログラムはここからダウンロードできます。連載中では実装しなかった部分や抽象クラスを活用した部分を含む、少しクールなバージョンです。業務等で活用していただければ幸いです。      
      
         
            | 
           
             3/3            | 
           | 
        
      
 
 
   
     | Index | 
   
   
     | 第6回 プラグインを配布してみんなに使ってもらおう | 
   
   
     |   | 
     Page1 
       HSQLDB起動、停止ダイアログの作成 
     HSQLDB起動、停止ダイアログの表示 
     HSQLDatabaseManager起動処理の作成 | 
   
   
     |   | 
     Page2 
       HSQLDBを起動するために必須プラグインを使う 
     HSQLDB起動、停止メソッドの作成 | 
   
   
       | 
     Page3 
       作ったプラグインをみんなに配布しよう! 
     おわりに ― プラグインを自作する意義とは? ―  |