reproto 0.0.18

Rethinking Protocol Generators
Documentation

ReProto Compiler

Build Status crates.io

The ReProto project is a language-neutral protocol specification, aimed towards describing and generating code for handling messages exchanged through JSON-based APIs.

See Specification for details on what the syntax of .reproto files is. See Examples for some example API specifications.

Note: This project is in an Alpha-stage.

Example

Make you have gotten started with Rust.

Install reproto through cargo:

$> cargo install reproto

This will install the command into ~/.cargo/bin, make sure it is in your $PATH.

Using the FasterXML backend for Java:

$> reproto --debug compile -b java -m fasterxml -o target/java \
  --path examples \
  --package heroic.v1

Multiple paths can be included, and the same declarations will extend each other:

$> reproto --debug compile -b java -m fasterxml -o target/java \
  --path examples \
  --path examples/ext \
  --package heroic.v1

This will generate code for the plain python backend:

$> reproto --debug compile -b python -o target/python \
  --path examples \
  heroic.v1

Maven Plugin

A Maven plugin that integrates reproto into the build lifecycle of a maven project.

VIM Plugin

A VIM plugin that provides syntax highlighting.