gradleプロジェクトにProtobufプラグインを追加する方法

gradleプロジェクトにProtobufプラグインを追加する方法

gradleプロジェクトにProtobufプラグインを追加する手順です。

https://plugins.gradle.org/plugin/com.google.protobuf

6つのタスクが追加されています。(gradlew.bat tasks --all)

protoファイルの場所指定

protoファイルのデフォルトの配置場所はsrc/main/protoですが、この場所に加えてprotoファイルの場所を追加指定したい場合は以下のように記述します。

※デフォルトのsrc/main/protoを指定するとduplicate~~というエラーになります

Protocol BuffersからJavaファイルを自動生成する

protoファイルからjavaファイルを自動生成してみます。

これで、build\generated\source\proto\main配下にJavaソースが自動生成されます。

自動生成ソースの出力先変更(generatedFilesBaseDir)

protoファイルから自動生成されるされるファイルのデフォルトはbuild\generated\source\proto\配下ですが、これを変更することができます。protobuf{}内にgeneratedFilesBaseDirで出力先を記述します。

By default generated Java files are under $generatedFilesBaseDir/$sourceSet/$builtinPluginName, where $generatedFilesBaseDir is $buildDir/generated/source/proto by default, and is configurable. E.g.,

タスク実行します。

出力先変更されています。
gradleプロジェクトにProtobufプラグインを追加する方法

gradlew.bat installDistタスクでもbuild配下に自動生成されたJavaソースがコンパイルされることを確認しました。

自動生成ソースを認識させる

自動生成したソースを認識させるためにsourceSets.main.java内に生成したjavaソース先を指定しておきます。この指定がないとJavaソースが見つからずエラーとなりますので指定が必要です。

src\generated配下にする例です。

gradleプロジェクトにProtobufプラグインを追加する方法

参考サイト

https://github.com/google/protobuf-gradle-plugin

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA