プラグイン(13) jar packaging

めも。

あまりにinternalすぎて卒倒しそうになる。

とりあえず起点がorg.eclipse.jdt.ui.jarpackager.JarPackageDataクラス。パッケージングするデータをここに登録しておくと、自動的にいろいろやってくれるイメージ。こいつを継承してカスタムする予定。

  • areJavaFilesExported, areClassFilesExported
    • .java, .class をexport対象とするか
  • findClassfilesFor, isBuildingIfNeeded
    • クラスファイルの位置と、必要に応じてビルド
    • findClassfilesForでnullを返すと、プロジェクトから自動的に計算してくれる模様
  • createJarExportRunnable
    • エクスポートするタスクを返す。IRunnableWithProgressを実装してる
  • createJarWriter3
    • createJarExportRunnableが返す実装から呼ばれてる。
    • ここいじれば普段は存在しないファイルを横から追加できそう
    • 実装依存すぎるのがどうするか

ここまでinternalなし。ただし互換性がまずそう…