speakeasy-schemas
Local Setup
- Follow the quickstart guide to install
protoc
and the golang plugins: https://grpc.io/docs/languages/go/quickstart/- Just be aware newer versions broke JS/TS support so you need to for now make sure you are on version
3.20.1
- Install via
brew install protobuf@3 && brew link protobuf@3
(or another method if you prefer)
- Just be aware newer versions broke JS/TS support so you need to for now make sure you are on version
- Make sure you are using JDK 8
- Install gradle so its usable from the command line: https://gradle.org/install/
- Run
npm install
inspeakeasy-schemas/grpc/ts
to install the typescript compiler (if you're using an M1, add the--target_arch=x64
flag to the install command) - Setup
protolint
in your IDE. (vscode: https://marketplace.visualstudio.com/items?itemName=Plex.vscode-protolint)
Linting
- Run
make lint
from the root of the project.
Generate schemas
Golang
- Run
make generate
from the root of the project.
This will generate to golang files in /grpc/go
. Then this repo just needs to be pushed to github and the golang files can be included in other projects.
Java
- Run
make generate
from the root of the project.
This will generate the java library in /grpc/java/lib/build/libs/lib.jar
which can be copied to the lib/
directory of another project.
Rust
- Run
make generate
from the root of the project.
This will generate the rust library in /grpc/rust/lib/src
which can be copied to the src/
directory of another project.