Skip to content

Commit

Permalink
Add empty rust crates for protobufs
Browse files Browse the repository at this point in the history
  • Loading branch information
nick-mobilecoin committed Feb 13, 2023
1 parent 95dfd92 commit 1d59e93
Show file tree
Hide file tree
Showing 15 changed files with 252 additions and 0 deletions.
10 changes: 10 additions & 0 deletions crates/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Generated by Cargo
# will have compiled files and executables
/target/

# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
Cargo.lock

# These are backup files generated by rustfmt
**/*.rs.bk
28 changes: 28 additions & 0 deletions crates/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
[workspace]
members = [
"grpcio",
"messages",
"tonic",
]

# We need to explicitly specify resolver 2.
# We shouldn't have to per https://doc.rust-lang.org/edition-guide/rust-2021/default-cargo-resolver.html, but that does not appear to be the case
resolver = "2"

[profile.release]
lto = "thin"

[workspace.metadata.release]
shared-version = true
dev-version-ext = "beta.0"
consolidate-commits = true
consolidate-pushes = true
tag-name = "v{{version}}"

# The file names in this key are relative to the each crate that gets released.
# So we only need one `README.md` entry if all the README's follow a
# common format and are always next to the Cargo.toml for their respective
# package.
pre-release-replacements = [
{file="README.md", search="mc-probufs-[a-z-]+/[0-9.]+", replace="{{crate_name}}/{{version}}"},
]
12 changes: 12 additions & 0 deletions crates/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Rust crates for gRPC interfaces

This is composed of 3 crates:

1. `mc-probufs-tonic`: A crate providing a
[Tonic](https://docs.rs/tonic/latest/tonic/) implementation of gRPC client
and server services.
2. `mc-probufs-grpcio`: A crate providing a
[grpcio](https://docs.rs/grpcio/latest/grpcio/) implementation of gRPC client
and server services.
3. `mc-probufs-messages`: A crate providing gRPC messages. This is used by
both of the service implementations, `mc-probufs-tonic` and `mc-probufs-grpcio`.
55 changes: 55 additions & 0 deletions crates/deny.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
targets = []

[advisories]
db-path = "~/.cargo/advisory-db"
db-urls = ["https://github.com/rustsec/advisory-db"]
vulnerability = "deny"
unmaintained = "warn"
yanked = "warn"
notice = "warn"
ignore = []

[licenses]
unlicensed = "deny"
allow = [
"Apache-2.0",
"Apache-2.0 WITH LLVM-exception",
"BSD-3-Clause",
"ISC",
"MIT",
"Unicode-DFS-2016",
]
deny = []
copyleft = "deny"
allow-osi-fsf-free = "neither"
default = "deny"
confidence-threshold = 0.8
exceptions = []

[bans]
multiple-versions = "warn"
# Lint level for when a crate version requirement is `*`
wildcards = "deny"
highlight = "all"
allow = []
deny = [
# https://github.com/briansmith/ring/issues/774
{ name = "ring" },
]
skip = [
# Workaround for path only dependencies,
# https://github.com/EmbarkStudios/cargo-deny/issues/241
# { name = "some/dev/only/path" },
]
skip-tree = [ ]

[sources]
unknown-registry = "warn"
unknown-git = "warn"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []

[sources.allow-org]
github = []
gitlab = []
bitbucket = []
15 changes: 15 additions & 0 deletions crates/grpcio/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "mc-probufs-grpcio"
version = "0.1.0"
edition = "2021"
authors = ["MobileCoin"]
rust-version = "1.65"
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/mobilecoinfoundation/probufs"
description = "grpcio protobufs client and server"
categories = ["api-bindings", "encoding"]
keywords = ["grpc", "protobuf", "rpc"]

[dependencies]
mc-probufs-messages = { path = "../messages", version = "0.1.0" }
21 changes: 21 additions & 0 deletions crates/grpcio/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MobileCoin: grpcio protobufs services

[![Project Chat][chat-image]][chat-link]<!--
-->![License][license-image]<!--
-->![Target][target-image]<!--
-->[![Crates.io][crate-image]][crate-link]<!--
-->[![Docs Status][docs-image]][docs-link]<!--
-->[![Dependency Status][deps-image]][deps-link]

[grpcio](https://docs.rs/grpcio/latest/grpcio/) implementation of protobufs services.

[chat-image]: https://img.shields.io/discord/844353360348971068?style=flat-square
[chat-link]: https://mobilecoin.chat
[license-image]: https://img.shields.io/crates/l/mc-probufs-grpcio?style=flat-square
[target-image]: https://img.shields.io/badge/target-x86__64-blue?style=flat-square
[crate-image]: https://img.shields.io/crates/v/mc-probufs-grpcio.svg?style=flat-square
[crate-link]: https://crates.io/crates/mc-probufs-grpcio
[docs-image]: https://img.shields.io/docsrs/mc-probufs-grpcio?style=flat-square
[docs-link]: https://docs.rs/crate/mc-probufs-grpcio
[deps-image]: https://deps.rs/crate/mc-probufs-grpcio/0.1.0/status.svg?style=flat-square
[deps-link]: https://deps.rs/crate/mc-probufs-grpcio/0.1.0
12 changes: 12 additions & 0 deletions crates/grpcio/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright (c) 2023 The MobileCoin Foundation

#![doc = include_str!("../README.md")]
#![deny(missing_docs, missing_debug_implementations, unsafe_code)]

#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}
14 changes: 14 additions & 0 deletions crates/messages/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[package]
name = "mc-probufs-messages"
version = "0.1.0"
edition = "2021"
authors = ["MobileCoin"]
rust-version = "1.65"
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/mobilecoinfoundation/probufs"
description = "Common grpc messages"
categories = ["encoding"]
keywords = ["protobuf"]

[dependencies]
21 changes: 21 additions & 0 deletions crates/messages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MobileCoin: Common protobuf messages

[![Project Chat][chat-image]][chat-link]<!--
-->![License][license-image]<!--
-->![Target][target-image]<!--
-->[![Crates.io][crate-image]][crate-link]<!--
-->[![Docs Status][docs-image]][docs-link]<!--
-->[![Dependency Status][deps-image]][deps-link]

Common protobuf messages. [prost](https://docs.rs/prost/latest/prost/) is used for the message format.

[chat-image]: https://img.shields.io/discord/844353360348971068?style=flat-square
[chat-link]: https://mobilecoin.chat
[license-image]: https://img.shields.io/crates/l/mc-probufs-messages?style=flat-square
[target-image]: https://img.shields.io/badge/target-x86__64-blue?style=flat-square
[crate-image]: https://img.shields.io/crates/v/mc-probufs-messages.svg?style=flat-square
[crate-link]: https://crates.io/crates/mc-probufs-messages
[docs-image]: https://img.shields.io/docsrs/mc-probufs-messages?style=flat-square
[docs-link]: https://docs.rs/crate/mc-probufs-messages
[deps-image]: https://deps.rs/crate/mc-probufs-messages/0.1.0/status.svg?style=flat-square
[deps-link]: https://deps.rs/crate/mc-probufs-messages/0.1.0
12 changes: 12 additions & 0 deletions crates/messages/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright (c) 2023 The MobileCoin Foundation

#![doc = include_str!("../README.md")]
#![deny(missing_docs, missing_debug_implementations, unsafe_code)]

#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}
3 changes: 3 additions & 0 deletions crates/rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[toolchain]
channel = "stable"
components = [ "clippy", "rustfmt" ]
1 change: 1 addition & 0 deletions crates/rustfmt.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
edition = "2021"
15 changes: 15 additions & 0 deletions crates/tonic/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "mc-probufs-tonic"
version = "0.1.0"
edition = "2021"
authors = ["MobileCoin"]
rust-version = "1.65"
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/mobilecoinfoundation/probufs"
description = "Tonic protobufs client and server"
categories = ["api-bindings", "encoding"]
keywords = ["grpc", "protobuf", "rpc"]

[dependencies]
mc-probufs-messages = { path = "../messages", version = "0.1.0" }
21 changes: 21 additions & 0 deletions crates/tonic/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# MobileCoin: Tonic protobufs services

[![Project Chat][chat-image]][chat-link]<!--
-->![License][license-image]<!--
-->![Target][target-image]<!--
-->[![Crates.io][crate-image]][crate-link]<!--
-->[![Docs Status][docs-image]][docs-link]<!--
-->[![Dependency Status][deps-image]][deps-link]

[Tonic](https://docs.rs/tonic/latest/tonic/) implementation of gRPC client

[chat-image]: https://img.shields.io/discord/844353360348971068?style=flat-square
[chat-link]: https://mobilecoin.chat
[license-image]: https://img.shields.io/crates/l/mc-probufs-tonic?style=flat-square
[target-image]: https://img.shields.io/badge/target-x86__64-blue?style=flat-square
[crate-image]: https://img.shields.io/crates/v/mc-probufs-tonic.svg?style=flat-square
[crate-link]: https://crates.io/crates/mc-probufs-tonic
[docs-image]: https://img.shields.io/docsrs/mc-probufs-tonic?style=flat-square
[docs-link]: https://docs.rs/crate/mc-probufs-tonic
[deps-image]: https://deps.rs/crate/mc-probufs-tonic/0.1.0/status.svg?style=flat-square
[deps-link]: https://deps.rs/crate/mc-probufs-tonic/0.1.0
12 changes: 12 additions & 0 deletions crates/tonic/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// Copyright (c) 2023 The MobileCoin Foundation

#![doc = include_str!("../README.md")]
#![deny(missing_docs, missing_debug_implementations, unsafe_code)]

#[cfg(test)]
mod tests {
#[test]
fn it_works() {
assert_eq!(2 + 2, 4);
}
}

0 comments on commit 1d59e93

Please sign in to comment.