:warning: This repo is not actively maintained.
A Leiningen plugin to compile Google Protocol Buffers to Java
This plugin provides seamless support for building projects that include
.proto files. There
is no need to pre-download the
protoc compiler. The plugin will manage the dependency for you
with cross-platform support. The plugin will work out of the box in Linux, MacOSX, and Windows
[com.circleci/lein-protoc "0.6.0"] into the
:plugins vector of your project.clj.
The following options can be configured in the project.clj:
:protoc-version the Protocol Buffers Compiler version to use. Defaults to
:proto-source-paths vector of absolute paths or paths relative to the project root that contain the .proto files to be compiled. Defaults to
:proto-target-path the absolute path or path relative to the project root where the sources should be generated. Defaults to
:protoc-grpc true (or empty map) to generate interfaces for gRPC service definitions with default settings. Defaults to
false. Can optionally provide a map with the following configs:
:version version number for gRPC codegen. Defaults to
:target-path absolute path or path relative to the project root where the sources should be generated. Defaults to the
:protoc-timeout timeout value in seconds for the compilation process. Defaults to
:proto-source-deps vector of project dependencies to include proto files from. Can optionally include a prefix path with the dependency. Defaults to
:proto-source-deps [[foo.bar/lib "/resources/proto"] [zip/ping-lib].
The plugin hooks to the
javac task so that sources will be generated prior to java compilation.
Alternatively, the sources can be generated independently with:
$ lein protoc
lein-protoc is pushed to clojars.
The following should be updated on the
main branch if there are new releases:
project.clj - version
README.md - dependency coordinates
CHANGELOG.md - summary of changes
Distributed under the Eclipse Public License either version 1.0 or (at
your option) any later version.