Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/laysakura/beam-proto-rs
Rust codes generated from apache/beam .proto
https://github.com/laysakura/beam-proto-rs
Last synced: 17 days ago
JSON representation
Rust codes generated from apache/beam .proto
- Host: GitHub
- URL: https://github.com/laysakura/beam-proto-rs
- Owner: laysakura
- License: apache-2.0
- Created: 2022-09-04T23:41:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-09-05T20:34:20.000Z (about 2 years ago)
- Last Synced: 2024-09-15T22:44:23.887Z (2 months ago)
- Language: Rust
- Size: 153 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# beam-proto-rs
Rust codes generated from protocol buffer files in the [apache/beam](https://github.com/apache/beam) repository.
This repository also provides a build script to compile the protobuf into Rust codes.
## Versioning
This crate basically follows the beam's versions.
- `v2.41.0` is generated from `.proto`s from [apache/beam](https://github.com/apache/beam) tag:v2.41.0.
- Some versions may have build numbers like `v2.41.0+N`, which means the N-th build (N > 1) generated from beam's tag:v2.41.0. 2nd and later builds are typically for bugfixes.## Development
### Build
Generating `.rs` from beam's `.proto` requires `build-proto` feature flag.
```bash
cargo build --features build-proto -vv
````-vv` is to show `eprintln!()` strings to your terminal.
### Updating Beam
`beam/` is a git submodule.
```console
cd beam
git fetch --tags
git checkout v
cd ..
git commit -am 'build: bump up beam to v'
```### Deployment
1. Change version in `Cargo.toml`.
2. Update Beam.
3. Shrink submodule size to avoid 413 error from crates.io: `cd beam; git sparse-checkout set model; cd ..`
4. In the `main` branch: `cargo publish`.## License
Licensed under [Apache License, Version 2.0](LICENSE).
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in beam-proto-rs by you, as defined in the Apache-2.0 license, shall be
licensed as above, without any additional terms or conditions.Copyright (c) 2022 Sho Nakatani \.