Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: hyperium/tonic
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.12.3
Choose a base ref
...
head repository: hyperium/tonic
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.13.0
Choose a head ref
Loading
Showing with 3,666 additions and 2,566 deletions.
  1. +41 −18 .github/workflows/CI.yml
  2. +2 −0 CHANGELOG.md
  3. +12 −0 Cargo.toml
  4. +1 −1 LICENSE
  5. +28 −68 README.md
  6. +4 −3 codegen/Cargo.toml
  7. +57 −18 codegen/src/main.rs
  8. +23 −11 deny.toml
  9. +23 −37 examples/Cargo.toml
  10. +0 −19 examples/LICENSE
  11. +2 −2 examples/helloworld-tutorial.md
  12. +8 −8 examples/routeguide-tutorial.md
  13. +1 −2 examples/src/dynamic_load_balance/client.rs
  14. +7 −3 examples/src/grpc-web/server.rs
  15. +5 −5 examples/src/h2c/client.rs
  16. +8 −9 examples/src/h2c/server.rs
  17. +2 −2 examples/src/health/server.rs
  18. +1 −4 examples/src/mock/mock.rs
  19. +5 −5 examples/src/routeguide/client.rs
  20. +1 −4 examples/src/streaming/server.rs
  21. +0 −28 examples/src/timeout/client.rs
  22. +0 −45 examples/src/timeout/server.rs
  23. +5 −2 examples/src/tls_rustls/client.rs
  24. +10 −5 examples/src/tls_rustls/server.rs
  25. +6 −8 examples/src/tower/client.rs
  26. +7 −14 examples/src/tower/server.rs
  27. +34 −0 examples/src/uds/client_standard.rs
  28. 0 examples/src/uds/{client.rs → client_with_connector.rs}
  29. +4 −5 interop/Cargo.toml
  30. +0 −19 interop/LICENSE
  31. +17 −17 interop/data/ca.pem
  32. +1 −2 interop/data/cert-generator/ca.tf
  33. +0 −2 interop/data/cert-generator/server_certs.tf
  34. +25 −25 interop/data/server1.key
  35. +18 −18 interop/data/server1.pem
  36. +2 −2 interop/src/lib.rs
  37. +12 −43 interop/src/server.rs
  38. +0 −8 prepare-release.sh
  39. +0 −1 rustfmt.toml
  40. +0 −2 tests/ambiguous_methods/Cargo.toml
  41. +0 −19 tests/ambiguous_methods/LICENSE
  42. +1 −0 tests/ambiguous_methods/src/lib.rs
  43. +0 −8 tests/ambiguous_methods/src/main.rs
  44. +3 −5 tests/compression/Cargo.toml
  45. +0 −19 tests/compression/LICENSE
  46. +3 −0 tests/compression/src/bidirectional_stream.rs
  47. +7 −0 tests/compression/src/client_stream.rs
  48. +9 −2 tests/compression/src/compressing_request.rs
  49. +14 −1 tests/compression/src/compressing_response.rs
  50. +3 −0 tests/compression/src/server_stream.rs
  51. +10 −9 tests/compression/src/util.rs
  52. +1 −2 tests/default_stubs/Cargo.toml
  53. +76 −10 tests/default_stubs/src/test_defaults.rs
  54. +0 −2 tests/deprecated_methods/Cargo.toml
  55. +0 −2 tests/disable_comments/Cargo.toml
  56. +0 −2 tests/extern_path/my_application/Cargo.toml
  57. +0 −19 tests/extern_path/my_application/LICENSE
  58. +0 −2 tests/extern_path/uuid/Cargo.toml
  59. +0 −19 tests/extern_path/uuid/LICENSE
  60. +0 −2 tests/included_service/Cargo.toml
  61. +0 −19 tests/included_service/LICENSE
  62. +3 −4 tests/integration_tests/Cargo.toml
  63. +0 −19 tests/integration_tests/LICENSE
  64. +10 −4 tests/integration_tests/tests/client_layer.rs
  65. +1 −1 tests/integration_tests/tests/complex_tower_middleware.rs
  66. +12 −4 tests/integration_tests/tests/connect_info.rs
  67. +29 −11 tests/integration_tests/tests/connection.rs
  68. +20 −10 tests/integration_tests/tests/extensions.rs
  69. +17 −6 tests/integration_tests/tests/http2_keep_alive.rs
  70. +4 −4 tests/integration_tests/tests/http2_max_header_list_size.rs
  71. +11 −4 tests/integration_tests/tests/interceptor.rs
  72. +2 −8 tests/integration_tests/tests/max_message_size.rs
  73. +12 −7 tests/integration_tests/tests/origin.rs
  74. +9 −3 tests/integration_tests/tests/routes_builder.rs
  75. +120 −12 tests/integration_tests/tests/status.rs
  76. +1 −1 tests/integration_tests/tests/streams.rs
  77. +9 −4 tests/integration_tests/tests/user_agent.rs
  78. +0 −2 tests/root-crate-path/Cargo.toml
  79. +0 −19 tests/root-crate-path/LICENSE
  80. +0 −5 tests/root-crate-path/src/{main.rs → lib.rs}
  81. +0 −2 tests/same_name/Cargo.toml
  82. +0 −19 tests/same_name/LICENSE
  83. +1 −2 tests/service_named_result/Cargo.toml
  84. +0 −19 tests/service_named_result/LICENSE
  85. +0 −2 tests/service_named_service/Cargo.toml
  86. +0 −19 tests/service_named_service/LICENSE
  87. +0 −2 tests/skip_debug/Cargo.toml
  88. +0 −2 tests/stream_conflict/Cargo.toml
  89. +0 −19 tests/stream_conflict/LICENSE
  90. +0 −4 tests/stream_conflict/src/{main.rs → lib.rs}
  91. +0 −2 tests/use_arc_self/Cargo.toml
  92. +0 −19 tests/use_arc_self/LICENSE
  93. +0 −2 tests/web/Cargo.toml
  94. +0 −19 tests/web/LICENSE
  95. +3 −3 tests/web/tests/grpc_web.rs
  96. +0 −2 tests/wellknown-compiled/Cargo.toml
  97. +0 −19 tests/wellknown-compiled/LICENSE
  98. +0 −2 tests/wellknown/Cargo.toml
  99. +0 −19 tests/wellknown/LICENSE
  100. +6 −3 tonic-build/Cargo.toml
  101. +4 −4 tonic-build/src/client.rs
  102. +1 −1 tonic-build/src/code_gen.rs
  103. +2 −9 tonic-build/src/lib.rs
  104. +1 −23 tonic-build/src/prost.rs
  105. +2 −2 tonic-build/src/server.rs
  106. +8 −12 tonic-health/Cargo.toml
  107. BIN tonic-health/src/generated/grpc_health_v1.bin
  108. +8 −6 tonic-health/src/generated/grpc_health_v1.rs
  109. +63 −0 tonic-health/src/generated/grpc_health_v1_fds.rs
  110. +3 −10 tonic-health/src/lib.rs
  111. +50 −32 tonic-health/src/server.rs
  112. +10 −8 tonic-reflection/Cargo.toml
  113. +8 −6 tonic-reflection/src/generated/grpc_reflection_v1.rs
  114. +8 −6 tonic-reflection/src/generated/grpc_reflection_v1alpha.rs
  115. BIN tonic-reflection/src/generated/reflection_v1.bin
  116. +161 −0 tonic-reflection/src/generated/reflection_v1_fds.rs
  117. BIN tonic-reflection/src/generated/reflection_v1alpha1.bin
  118. +153 −0 tonic-reflection/src/generated/reflection_v1alpha1_fds.rs
  119. +7 −13 tonic-reflection/src/lib.rs
  120. +0 −8 tonic-reflection/src/server/mod.rs
  121. +39 −5 tonic-reflection/src/server/v1.rs
  122. +39 −5 tonic-reflection/src/server/v1alpha.rs
  123. +2 −0 tonic-reflection/tests/server.rs
  124. +2 −0 tonic-reflection/tests/versions.rs
  125. +6 −3 tonic-types/Cargo.toml
  126. +1 −9 tonic-types/README.md
  127. BIN tonic-types/src/generated/types.bin
  128. +261 −0 tonic-types/src/generated/types_fds.rs
  129. +4 −11 tonic-types/src/lib.rs
  130. +8 −8 tonic-web/Cargo.toml
  131. +0 −7 tonic-web/README.md
  132. +55 −29 tonic-web/src/call.rs
  133. +8 −9 tonic-web/src/client.rs
  134. +2 −9 tonic-web/src/layer.rs
  135. +2 −107 tonic-web/src/lib.rs
  136. +89 −67 tonic-web/src/service.rs
  137. +18 −23 tonic/Cargo.toml
  138. +4 −2 tonic/benches/decode.rs
  139. +89 −17 tonic/src/body.rs
  140. +41 −52 tonic/src/client/grpc.rs
  141. +3 −3 tonic/src/client/service.rs
  142. +44 −12 tonic/src/codec/compression.rs
  143. +44 −52 tonic/src/codec/decode.rs
  144. +0 −2 tonic/src/codegen.rs
  145. +8 −12 tonic/src/lib.rs
  146. +2 −2 tonic/src/metadata/key.rs
  147. +41 −18 tonic/src/metadata/map.rs
  148. +6 −6 tonic/src/metadata/value.rs
  149. +9 −9 tonic/src/request.rs
  150. +7 −1 tonic/src/response.rs
  151. +40 −48 tonic/src/server/grpc.rs
  152. +102 −81 tonic/src/service/interceptor.rs
  153. +93 −0 tonic/src/service/layered.rs
  154. +6 −1 tonic/src/service/mod.rs
  155. +163 −0 tonic/src/service/recover_error.rs
  156. +52 −43 tonic/src/service/router.rs
  157. +69 −73 tonic/src/status.rs
  158. +169 −62 tonic/src/transport/channel/endpoint.rs
  159. +31 −24 tonic/src/transport/channel/mod.rs
  160. +3 −3 tonic/src/transport/channel/service/add_origin.rs
  161. +25 −22 tonic/src/transport/channel/service/connection.rs
  162. +14 −14 tonic/src/transport/channel/service/connector.rs
  163. +15 −18 tonic/src/transport/channel/service/discover.rs
  164. +3 −2 tonic/src/transport/channel/service/mod.rs
  165. +11 −12 tonic/src/transport/channel/service/reconnect.rs
  166. +35 −9 tonic/src/transport/channel/service/tls.rs
  167. +11 −1 tonic/src/transport/channel/tls.rs
  168. +80 −0 tonic/src/transport/channel/uds_connector.rs
  169. +5 −1 tonic/src/transport/error.rs
  170. +10 −13 tonic/src/transport/mod.rs
  171. +6 −6 tonic/src/transport/server/conn.rs
  172. +53 −193 tonic/src/transport/server/incoming.rs
  173. +183 −0 tonic/src/transport/server/io_stream.rs
  174. +197 −164 tonic/src/transport/server/mod.rs
  175. +93 −19 tonic/src/transport/server/service/io.rs
  176. +3 −6 tonic/src/transport/server/service/mod.rs
  177. +0 −125 tonic/src/transport/server/service/recover_error.rs
  178. +15 −8 tonic/src/transport/server/service/tls.rs
  179. +27 −8 tonic/src/transport/server/tls.rs
  180. +0 −1 tonic/src/transport/server/unix.rs
  181. +45 −46 tonic/src/transport/service/grpc_timeout.rs
  182. +1 −1 tonic/src/transport/service/mod.rs
  183. +14 −27 tonic/src/transport/service/tls.rs
59 changes: 41 additions & 18 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -7,6 +7,10 @@ on:
merge_group:
branches: [ "master" ]

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
RUSTFLAGS: "-D warnings"

@@ -21,12 +25,13 @@ jobs:
components: rustfmt
- run: cargo fmt --all --check

deny-check:
name: cargo-deny check
deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v2
- uses: hecrj/setup-rust-action@v2
- uses: taiki-e/install-action@cargo-deny
- run: cargo deny check

clippy:
runs-on: ubuntu-latest
@@ -38,8 +43,6 @@ jobs:
- uses: taiki-e/install-action@protoc
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --all-features --all-targets
env:
RUSTFLAGS: "-A warnings"

codegen:
runs-on: ubuntu-latest
@@ -51,21 +54,23 @@ jobs:
- run: git diff --exit-code

udeps:
name: Check unused dependencies
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-08-04
toolchain: nightly-2024-12-01
- uses: taiki-e/install-action@cargo-hack
- uses: taiki-e/install-action@cargo-udeps
- uses: taiki-e/install-action@protoc
- uses: Swatinem/rust-cache@v2
- run: cargo hack udeps --workspace --exclude-features tls --each-feature
- run: cargo udeps --package tonic --features tls,transport
- run: cargo udeps --package tonic --features tls,server
- run: cargo udeps --package tonic --features tls,channel
- run: cargo hack udeps --workspace --exclude-features=_tls-any,tls,tls-aws-lc,tls-ring --each-feature
- run: cargo udeps --package tonic --features tls-ring,transport
- run: cargo udeps --package tonic --features tls-ring,server
- run: cargo udeps --package tonic --features tls-ring,channel
- run: cargo udeps --package tonic --features tls-aws-lc,transport
- run: cargo udeps --package tonic --features tls-aws-lc,server
- run: cargo udeps --package tonic --features tls-aws-lc,channel

check:
runs-on: ${{ matrix.os }}
@@ -86,17 +91,24 @@ jobs:
run: cargo check --workspace --all-targets --all-features

msrv:
name: Check MSRV
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hecrj/setup-rust-action@v2
- name: Resolve MSRV aware dependencies
run: cargo update
env:
CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS: fallback
- name: Get MSRV from manifest file
id: msrv
run: echo "version=$(yq '.workspace.package.rust-version' Cargo.toml)" >> $GITHUB_OUTPUT
- uses: hecrj/setup-rust-action@v2
with:
rust-version: "1.71.1" # msrv
rust-version: ${{ steps.msrv.outputs.version }}
- uses: taiki-e/install-action@cargo-no-dev-deps
- uses: Swatinem/rust-cache@v2
- run: cargo no-dev-deps --no-private check --all-features
- run: cargo no-dev-deps --no-private doc --no-deps
- run: cargo no-dev-deps --no-private doc --no-deps --all-features
env:
RUSTDOCFLAGS: "-D warnings"

@@ -109,11 +121,22 @@ jobs:
- uses: actions/checkout@v4
- uses: hecrj/setup-rust-action@v2
- uses: taiki-e/install-action@protoc
- uses: taiki-e/install-action@cargo-hack
- uses: taiki-e/install-action@cargo-nextest
- uses: Swatinem/rust-cache@v2
- run: cargo test --workspace --all-features
- run: cargo nextest run --workspace --all-features
env:
QUICKCHECK_TESTS: 1000 # run a lot of quickcheck iterations

doc-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: hecrj/setup-rust-action@v2
- uses: taiki-e/install-action@cargo-hack
- uses: Swatinem/rust-cache@v2
- run: cargo hack --no-private test --doc --all-features

interop:
name: Interop Tests
runs-on: ${{ matrix.os }}
@@ -140,17 +163,17 @@ jobs:
with:
feature-group: all-features

check-external-types:
external-types:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-05-01
toolchain: nightly-2024-06-30
- name: Install cargo-check-external-types
uses: taiki-e/cache-cargo-install-action@v2
with:
tool: cargo-check-external-types@0.1.12
tool: cargo-check-external-types@0.1.13
- uses: taiki-e/install-action@cargo-hack
- uses: Swatinem/rust-cache@v2
- run: cargo hack --no-private check-external-types
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# NOTE: ths changelog is no longer used and from version `v0.13.0` onward we will be using github releases and the changes can be found [here](https://github.com/hyperium/tonic/releases).

# [0.12.3](https://github.com/hyperium/tonic/compare/v0.12.2...v0.12.3) (2024-08-29)

### Features
12 changes: 12 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -30,3 +30,15 @@ members = [
"tests/skip_debug",
]
resolver = "2"

[workspace.package]
rust-version = "1.75"

[workspace.lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
rust_2018_idioms = "warn"
unreachable_pub = "warn"

[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2020 Lucio Franco
Copyright (c) 2025 Lucio Franco

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
96 changes: 28 additions & 68 deletions README.md
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ RPC framework that puts mobile and HTTP/2 first.
[![Crates.io](https://img.shields.io/crates/l/tonic)](LICENSE)


[Examples] | [Website] | [Docs] | [Chat]
[Examples] | [Website] | [Docs] | [Chat][discord]

## Overview

@@ -33,86 +33,42 @@ contains the tools to build clients and servers from [`protobuf`] definitions.

## Getting Started

- The [`helloworld`][helloworld-tutorial] tutorial provides a basic example of using `tonic`, perfect for first time users!
- The [`routeguide`][routeguide-tutorial] tutorial provides a complete example of using `tonic` and all its features.

Examples can be found in [`examples`] and for more complex scenarios [`interop`]
may be a good resource as it shows examples of many of the gRPC features.

If you're using [rust-analyzer] we recommend you set `"rust-analyzer.cargo.buildScripts.enable": true` to correctly load
the generated code.

For IntelliJ IDEA users, please refer to [this](https://github.com/intellij-rust/intellij-rust/pull/8056) and enable
`org.rust.cargo.evaluate.build.scripts`
[experimental feature](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-faq.html#experimental-features).

### Rust Version

`tonic`'s MSRV is `1.71.1`.

```bash
$ rustup update
$ cargo build
```
`tonic`'s MSRV is `1.75`.

### Dependencies

In order to build `tonic` >= 0.8.0, you need the `protoc` Protocol Buffers compiler, along with Protocol Buffers resource files.

#### Ubuntu

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y protobuf-compiler libprotobuf-dev
```

#### Alpine Linux
[`tonic-build`] uses `protoc` [Protocol Buffers compiler] in some APIs which compile Protocol Buffers resource files such as [`tonic_build::compile_protos()`].

```sh
sudo apk add protoc protobuf-dev
```

#### macOS

Assuming [Homebrew](https://brew.sh/) is already installed. (If not, see instructions for installing Homebrew on [the Homebrew website](https://brew.sh/).)

```zsh
brew install protobuf
```

#### Windows

- Download the latest version of `protoc-xx.y-win64.zip` from [HERE](https://github.com/protocolbuffers/protobuf/releases/latest)
- Extract the file `bin\protoc.exe` and put it somewhere in the `PATH`
- Verify installation by opening a command prompt and enter `protoc --version`

### Tutorials

- The [`helloworld`][helloworld-tutorial] tutorial provides a basic example of using `tonic`, perfect for first time users!
- The [`routeguide`][routeguide-tutorial] tutorial provides a complete example of using `tonic` and all its
features.
[Protocol Buffers compiler]: https://protobuf.dev/downloads/
[`tonic_build::compile_protos()`]: https://docs.rs/tonic-build/latest/tonic_build/fn.compile_protos.html

## Getting Help

First, see if the answer to your question can be found in the API documentation.
If the answer is not there, there is an active community in
the [Tonic Discord channel][chat]. We would be happy to try to answer your
the [Tonic Discord channel][discord]. We would be happy to try to answer your
question. If that doesn't work, try opening an [issue] with the question.

[chat]: https://discord.gg/6yGkFeN
[issue]: https://github.com/hyperium/tonic/issues/new
[issue]: https://github.com/hyperium/tonic/issues/new/choose

## Project Layout

- [`tonic`](https://github.com/hyperium/tonic/tree/master/tonic): Generic gRPC and HTTP/2 client/server
implementation.
- [`tonic-build`](https://github.com/hyperium/tonic/tree/master/tonic-build): [`prost`] based service codegen.
- [`tonic-types`](https://github.com/hyperium/tonic/tree/master/tonic-types): [`prost`] based grpc utility types
including support for gRPC Well Known Types.
- [`tonic-health`](https://github.com/hyperium/tonic/tree/master/tonic-health): Implementation of the standard [gRPC
health checking service][healthcheck]. Also serves as an example of both unary and response streaming.
- [`tonic-reflection`](https://github.com/hyperium/tonic/tree/master/tonic-reflection): A tonic based gRPC
reflection implementation.
- [`examples`](https://github.com/hyperium/tonic/tree/master/examples): Example gRPC implementations showing off
tls, load balancing and bi-directional streaming.
- [`interop`](https://github.com/hyperium/tonic/tree/master/interop): Interop tests implementation.
- [`tonic`]: Generic gRPC and HTTP/2 client/server implementation.
- [`tonic-build`]: [`prost`] based service codegen.
- [`tonic-types`]: [`prost`] based grpc utility types including support for gRPC Well Known Types.
- [`tonic-health`]: Implementation of the standard [gRPC health checking service][healthcheck].
Also serves as an example of both unary and response streaming.
- [`tonic-reflection`]: A tonic based gRPC reflection implementation.
- [`examples`]: Example gRPC implementations showing off tls, load balancing and bi-directional streaming.
- [`interop`]: Interop tests implementation.

## Contributing

@@ -134,19 +90,23 @@ terms or conditions.


[gRPC]: https://grpc.io
[`tonic`]: https://github.com/hyperium/tonic
[`tonic`]: ./tonic
[`tonic-build`]: ./tonic-build
[`tonic-types`]: ./tonic-types
[`tonic-health`]: ./tonic-health
[`tonic-reflection`]: ./tonic-reflection
[`examples`]: ./examples
[`interop`]: ./interop
[`tokio`]: https://github.com/tokio-rs/tokio
[`hyper`]: https://github.com/hyperium/hyper
[`prost`]: https://github.com/tokio-rs/prost
[`protobuf`]: https://developers.google.com/protocol-buffers
[`protobuf`]: https://protobuf.dev/
[`rustls`]: https://github.com/rustls/rustls
[`examples`]: https://github.com/hyperium/tonic/tree/master/examples
[`interop`]: https://github.com/hyperium/tonic/tree/master/interop
[Examples]: https://github.com/hyperium/tonic/tree/master/examples
[Website]: https://github.com/hyperium/tonic
[Docs]: https://docs.rs/tonic
[Chat]: https://discord.gg/6yGkFeN
[discord]: https://discord.gg/6yGkFeN
[routeguide-tutorial]: https://github.com/hyperium/tonic/blob/master/examples/routeguide-tutorial.md
[helloworld-tutorial]: https://github.com/hyperium/tonic/blob/master/examples/helloworld-tutorial.md
[healthcheck]: https://github.com/grpc/grpc/blob/master/doc/health-checking.md
[rust-analyzer]: https://rust-analyzer.github.io
[healthcheck]: https://grpc.io/docs/guides/health-checking/
7 changes: 4 additions & 3 deletions codegen/Cargo.toml
Original file line number Diff line number Diff line change
@@ -3,10 +3,11 @@ name = "codegen"
authors = ["Lucio Franco <luciofranco14@gmail.com>"]
license = "MIT"
edition = "2021"
publish = false
version = "0.1.0"

[dependencies]
tempfile = "3.8.0"
protox = "0.7"
prettyplease = "0.2"
quote = "1"
syn = "2"
tempfile = "3.8.0"
tonic-build = {path = "../tonic-build", default-features = false, features = ["prost", "cleanup-markdown"]}
Loading