自作プラグインでembulk-input-jdbcのJdbcInputPluginを継承したりなんだりしてみようとして試行錯誤した
embulk-input-jdbcがgemで配付されているので中の jar ファイルを使うのが面倒だった
正しい方法ではなさそうな気がするけど、build.gladleを以下のようにして解決した
dependencies {
compile "org.embulk:embulk-core:0.5.0"
provided "org.embulk:embulk-core:0.5.0"
// compile "YOUR_JAR_DEPENDENCY_GROUP:YOUR_JAR_DEPENDENCY_MODULE:YOUR_JAR_DEPENDENCY_VERSION"
gems "rubygems:embulk-input-jdbc:0.3.0"
testCompile "junit:junit:4.+"
}
task loadJdbcInputPlugin(type: Copy, dependsOn: ["jrubyPrepareGems"]) {
from(fileTree("${project.buildDir}/vendor/gems/embulk-input-jdbc-0.3.0/src/main/java/org/embulk/input/"))
into "${project.rootDir}/src/main/java/org/embulk/input/"
}
compileJava.dependsOn << "loadJdbcInputPlugin"
dependenciesにgemファイルを含めるにはgems "rubygems:embulk-input-jdbc:0.3.0"のようにする
compile "rubygems:embulk-input-jdbc:0.3.0"でもコンパイルは通るけど、どこにファイルが配置されるのかイマイチ不明だった
jrubyPrepareGemsタスクの実行時、build/vendor/以下にソースファイル等が展開されるようなので、必要なものをsrc/main/java以下へ、compileJava時にコピーするようにした
いろいろ教えて下さった @hiroysato さん、ありがとうございました。