※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

開発環境

はじめに

  • http://jdownloader.org/knowledge/wiki/development/get-started に従って開発環境を整える。
  • svn から取得できる本体ソースコードは alpha で JDownloader 2 のベータ版としてビルドリリースされている。安定版 last09(stable) や nightly と同一の svn ツリーであるものの、branch を設定せずに途中から大きくファイル構成を変えている為に把握しにくいプロジェクトになっている。

hoster/decrypter プラグイン

  • hoster/decrypter は対象サービスの仕様に左右されるのが殆どであり、概ねソース互換といえる。alpha で開発したものを last09(stable)/nightly に持ち込むことは可能である。
  • 但し、alpha でのデバッグや JDownloader 2 での利用ならそのままでよいが、last09(stable) では logger の仕様に互換性が無いため、ビルド時には以前の class を導入しておく必要がある。
alpha - src/jd/plugins/Plugin.java:17402
public abstract class Plugin implements ActionListener {

   /* to keep 0.95xx comp */
   /* switch this on every stable update */
   // protected static Logger logger = jd.controlling.JDLogger.getLogger();

   /* afer 0.95xx */
   protected Logger           logger           = LogController.TRASH;

last09(stable) - jd.controlling.JDLogger.java:9508 及び jd.controlling.JDLogHandler.java:7988 を svn 管理外としてプロジェクトにインポートした上で、logger の宣言文をコメントで差し替える。

     public void publish(LogRecord logRecord) {
        this.buffer.add(logRecord);
//        if (JDUtilities.getController() != null) {
//            JDUtilities.getController().fireControlEvent(ControlEvent.CONTROL_LOG_OCCURED, logRecord);
//        }
    }

public abstract class Plugin implements ActionListener {

   /* to keep 0.95xx comp */
   /* switch this on every stable update */
   protected static Logger logger = jd.controlling.JDLogger.getLogger();

   /* afer 0.95xx */
   // protected Logger           logger           = LogController.TRASH;

  • コンパイル/ビルドに成功すれば bin/jd/plugins/ 以下のサブディレクトリに *.class ファイルが出来ているので、そのファイルを実行するJDownloader の同ディレクトリにコピーして差し替えればよい。

optional プラグイン(Addon/Extension とも呼称)

  • 基本的に last09(stable) と nightly/alpha で別物であり、インターフェースバージョンで区別される。開発するプラグインの仕様によっては JDownloader の内部仕様に密接に関係することになるため、夫々の本体ソースを揃えていなければ開発に支障が伴う。
  • 配布されている jdownloader.jar 内の jd.utils.JDUtilities に svn リビジョン番号が挿入されているので、これを基準として本体ソースを取得してみる。
  • 複数の JDownloader リビジョンを開発プロジェクトとして扱う場合、実行/デバッグ用のホームディレクトリは個別に用意した方がよい。src/Utilities/JDUtilities.java の ".jd_home" をプロジェクト間で重複しないように適当な名前に変えておく。
最終更新:2012年09月09日 00:54