-
Notifications
You must be signed in to change notification settings - Fork 123
Expand file tree
/
Copy pathCargo.toml
More file actions
114 lines (108 loc) · 3.38 KB
/
Cargo.toml
File metadata and controls
114 lines (108 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[package]
name = "temporalio-common"
version = "0.3.0"
edition = "2024"
authors = ["Temporal Technologies Inc. <sdk@temporal.io>"]
license-file = { workspace = true }
description = "Common functionality for the Temporal SDK Core, Client, and Rust SDK"
homepage = "https://temporal.io/"
repository = "https://github.com/temporalio/sdk-rust"
keywords = ["temporal", "workflow"]
categories = ["development-tools"]
exclude = ["protos/*/.github/*"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
history_builders = ["dep:rand"]
otel = ["dep:opentelemetry", "dep:opentelemetry_sdk", "dep:opentelemetry-otlp"]
prometheus = [
"dep:prometheus",
"dep:hyper",
"dep:hyper-util",
"dep:http-body-util",
"dep:tokio",
]
envconfig = ["dep:toml", "dep:dirs"]
serde_serialize = []
test-utilities = ["history_builders"]
core-telemetry-bridge = ["dep:ringbuf", "dep:futures-channel"]
core-based-sdk = ["core-telemetry-bridge", "prometheus", "envconfig"]
[dependencies]
anyhow = "1.0"
async-trait = "0.1"
base64 = "0.22"
bon = { workspace = true }
crc32fast = "1"
dirs = { version = "6.0", optional = true }
derive_more = { workspace = true }
erased-serde = "0.4"
futures = { version = "0.3", default-features = false, features = ["alloc"] }
futures-channel = { version = "0.3", default-features = false, features = [
"std",
], optional = true }
http-body-util = { version = "0.1", optional = true }
hyper = { version = "1.7", optional = true }
hyper-util = { version = "0.1", features = [
"server",
"http1",
"http2",
"tokio",
], optional = true }
opentelemetry = { workspace = true, features = ["metrics"], optional = true }
opentelemetry_sdk = { version = "0.31", default-features = false, features = [
"rt-tokio",
"metrics",
"spec_unstable_metrics_views",
], optional = true }
opentelemetry-otlp = { version = "0.31", default-features = false, features = [
"tokio",
"metrics",
"tls-roots",
"http-proto",
"grpc-tonic",
"reqwest-blocking-client",
"reqwest-rustls",
], optional = true }
parking_lot = { version = "0.12" }
prometheus = { version = "0.14", optional = true, default-features = false }
prost = { workspace = true }
prost-wkt = "0.7"
prost-types = { workspace = true }
rand = { version = "0.10", optional = true }
ringbuf = { version = "0.4", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = { workspace = true }
thiserror = { workspace = true }
tokio = { version = "1.47", default-features = false, features = [
"io-util",
"net",
"rt",
], optional = true }
toml = { version = "1.0", optional = true }
tonic = { workspace = true, default-features = false, features = [
"transport",
"codegen",
] }
tonic-prost = { workspace = true }
tracing = "0.1"
# TODO [rust-sdk-branch]: Is it reasonable to make this optional?
tracing-subscriber = { version = "0.3", default-features = false, features = [
"parking_lot",
"env-filter",
"registry",
"ansi",
] }
tracing-core = "0.1"
url = "2.5"
uuid = { version = "1.18", default-features = false, features = ["v4"] }
pbjson = { workspace = true }
[build-dependencies]
prost = { workspace = true }
prost-types = "0.14"
tonic-prost-build = { workspace = true }
pbjson-build = { workspace = true }
[lints]
workspace = true
[dev-dependencies]
futures-util = { version = "0.3", default-features = false }
tempfile = "3.21"
tokio = { version = "1.47", features = ["macros", "rt"] }