ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Embulk0.10プラグイン作成

2023-01-06 22:45:55 | PG(分散処理)

EmbulkプラグインをJava11で作りたいと思って、今年の正月はそれを試していました

Embulk0.11/1.0でプラグインの作り方が変わるらしいので、どうせならその新しい方法にしてみようと思ったんですが、情報が少なくて、いろいろハマりましたね^^;
新しいプラグインを作るための環境構築については説明があったんですが、以前使っていたメソッドが色々deprecatedになっているのに新しくどれを使えばいいのかの説明はほとんど無いしorz

JUnitでのテストについてはほぼ従来通りの方法で出来ました。(Embulk0.10向けのEmbulkPluginTesterを作りました)
EmbulkEmbedの使い方がだいぶ変わっていて、データ受け渡しも今までの方法では出来なかったので、EmbulkTestOutputPluginはstaticフィールド経由で受け渡すという苦肉の策になってしまいましたがorz

しかし最悪なのは、作ったプラグインをどうやって実行するかの方法が全く分からないことでした。
embulk runをリモートデバッグでデバッグ実行しながら内部構造を調べて、Mavenローカルリポジトリーから自作プラグインを読み込む方法があるのは分かりました。
しかし依存ライブラリーも全てMavenローカルリポジトリーに有る必要があって、しかもGradleを使っているとGradleのディレクトリーにダウンロードされているのでMavenローカルリポジトリーにコピーしないといけないけれどディレクトリー構造が違うのでそのままではコピーできないという罠があって面倒くさすぎる…orz
そこでMavenローカルリポジトリーにダウンロードする方法が何かあるだろうと思って調べていたら、joker1007さんのサイトを発見しました。これ、Embulkプラグインを実行する為に自分が調べていたのと全く同じことが書いてあるやんけ!orz
そんな訳で、なんとか実行するところまで漕ぎ着けました。ありがたや、ありがたや。

残ったのはJava11で実行する方法でしたが、これも何とかなりました。
とはいえ現時点では面倒な手順が色々必要なので、早いところ0.11/1.0版のプラグインのリリース方法・インストール方法・実行方法を確立してほしいですね。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Asakusa Frameworkアドベント... | トップ | OSC2023 Online/SpringでのTs... »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事