塩焼きブログ

塩焼きに関しての研究内容を公開しています

protoc-jarを使ってopenrtb.protoからOpenRtb.javaを生成する

まずは下記の手順で適当なディレクトリを作ります。

mkdir -p hoge/proto

openrtb.protoを上記で作成したディレクトリ./hoge/protoに配置し、fitsさんが紹介しているビルドスクリプトをプロジェクトルート./hogeに配置します。配置したコードは、今回のディレクトリ構成に合わせて修正したのと、最新のバージョンにしてみました。

apply plugin: 'application'

def protoDestDir = 'proto/generated'
def protoFile = 'proto/openrtb.proto'

mainClassName = 'OpenRtb'

repositories {
    jcenter()
}

configurations {
    protoc
}

dependencies {
    protoc 'com.github.os72:protoc-jar:3.2.0'
    compileOnly 'org.projectlombok:lombok:1.16.10'
    compile 'com.google.protobuf:protobuf-java:3.2.0'
}

task protoc << {
    mkdir(protoDestDir)
    javaexec {
        main = 'com.github.os72.protocjar.Protoc'
        classpath = configurations.protoc
        args = [ protoFile, "--java_out=${protoDestDir}" ]
    }
}

compileJava {
    dependsOn protoc
    source protoDestDir
}

clean {
    delete protoDestDir
}