Home

Awesome

Gradle Protobuf Plugin

What is it?

This is a plugin for Gradle that enables compiling Google Protocol Buffer .proto files into data access classes. It generates Java, CPP, and Python source files from the .proto files in src/main/proto.

This plugin adds a dependency on the Java plugin so that it can compile the generated Java source files.

This plugin generates a sources jar that contains all of the Java sources (including those generated from the .proto files) in this project.

The Protocol Buffer compiler must be on the path for the plugin to work. If the protocol buffer is in a different location then specify the full path to the compiler in your build.gradle file using protobuf.compiler = '/full/path/protoc'.

Usage

apply plugin: 'protobuf'

The plugin JAR needs to be defined in the classpath of your build script. It is available from maven central.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.andrewkroh.gradle:gradle-protobuf-plugin:0.5.0'
    }
}

The plugin automatically adds a dependency on the google protobuf jars so all you need to do is specify what repository(s) to use.

repositories {
    mavenCentral()
}

Project Layout

Simply put your .proto files in src/main/proto.

Tasks

The protobuf plugin defines the following task:

Extensions

The protobuf plugin adds a protobuf extension to the project which allows you to override the default configuration of the plugin.

Example

See the example directory in this repository.