ユニットテスト用にテスト用のprotoファイルを用意してJavaファイルを自動生成したかったのですが、いくつかハマリポイントがあったのでここにまとめておきます。
テスト用protoファイルの配置場所
テスト用のprotoファイルは以下に配置します。
以下に配置すればbuild.gradleでsourceSetsなどを記述しなくても自動で読み取ってくれるようになります。
src/test/proto
テスト用protoからJavaコードの生成
src/main/protoに配置されたprotoファイルの場合は./gradlew buildや./gradlew generateProtoで自動生成することができますが、test配下のprotoからはこれらタスクでは生成できません。
代わりに
./gradlew generateTestProto
を実行することでtestディレクトリのprotoから自動生成することができます。
生成されたJavaファイルは以下のように/build/generated/source/proto/test配下に出力されます。