sbt-cppp alternatives and similar packages
Based on the "Sbt plugins" category.
Alternatively, view sbt-cppp alternatives based on common mentions on social networks and blogs.
-
sbt-ensime
DISCONTINUED. Generates .ensime config files for SBT projects http://ensime.org/build_tools/sbt -
sbt-dependency-check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow: -
sbt-unidoc
sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects. -
sbt-classfinder
SBT plugin for retrieving runtime information about the classes and traits in a project
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of sbt-cppp or a related project?
README
sbt-cppp
sbt-cppp (Sbt Cross-Project Protobuf Plugin) is a Sbt plugin to support Protocol Buffers, especially in multi-project builds.
Features
sbt-cppp
compiles *.proto
into .java
files. In addition, sbt-cppp
provides some features missed in sbt-protobuf or other protobuf plugins:
- Jar packaging from
.proto
files. - Cross-project
protoc
include path dependency management in multi-project builds. - Cross-library
protoc
include path dependency management by auto-unzipping.proto
files from jar packages. - Support for custom code generator to
.proto
files.
Usage
Step 1: Install sbt-cppp
into your project
Add the following line to your project/plugins.sbt
:
addSbtPlugin("com.dongxiguo" % "sbt-cppp" % "0.1.4")
And add protobufSettings
and protobuf-java
dependency to your build.sbt
:
protobufSettings
libraryDependencies += "com.google.protobuf" % "protobuf-java" % "2.5.0"
Step 2: Install protoc
into $PATH
For windows, download at http://code.google.com/p/protobuf/downloads/detail?name=protoc-2.5.0-win32.zip. For most linux distributions, look for protobuf-compiler
package.
Step 3: Create your .proto
files.
Create src/protobuf/sample_proto.proto
message SampleMessage {
optional int32 sample_field = 1;
}
Step 4: Use the .proto
files in your source files.
Create src/main/scala/SampleMain.scala
:
object SampleMain {
def main(args: Array[String]) {
println(SampleMessage.newBuilder.setSampleField(123).build)
}
}
Step 5: Run it!
$ sbt
> run-main SampleMain
Further information
sbt-cppp
is for sbt 0.12 or 0.13- If
project-foo
depends onproject-bar
,project-bar/src/protobuf/
will be added as aprotoc
include path when the plugin convertsproject-foo/src/protobuf/*.proto
into.java
files. - If you want to generate
.proto
files by some tools (instead of creating them manually), putsourceGenerators in Protobuf += yourGenerator
in yourbuild.sbt
.