開発環境
はじめに
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