forked from matrix-org/matrix-authentication-service
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCargo.toml
141 lines (118 loc) · 4.27 KB
/
Cargo.toml
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
[workspace]
default-members = ["crates/cli"]
members = ["crates/*"]
resolver = "2"
# Updated in the CI with a `sed` command
package.version = "0.7.0"
package.license = "Apache-2.0"
package.authors = ["Quentin Gliech <quenting@element.io>"]
package.edition = "2021"
package.homepage = "https://matrix-org.github.io/matrix-authentication-service/"
package.repository = "https://github.com/matrix-org/matrix-authentication-service/"
[workspace.lints.rust]
unsafe_code = "forbid"
[workspace.lints.clippy]
all = "deny"
pedantic = "warn"
str_to_string = "deny"
[workspace.lints.rustdoc]
broken_intra_doc_links = "deny"
[workspace.dependencies]
# Workspace crates
# TODO: we need to automate the publishing of the workspace crates and version bumps
mas-axum-utils = { path = "./crates/axum-utils/", version = "=0.7.0" }
mas-cli = { path = "./crates/cli/", version = "=0.7.0" }
mas-config = { path = "./crates/config/", version = "=0.7.0" }
mas-data-model = { path = "./crates/data-model/", version = "=0.7.0" }
mas-email = { path = "./crates/email/", version = "=0.7.0" }
mas-graphql = { path = "./crates/graphql/", version = "=0.7.0" }
mas-handlers = { path = "./crates/handlers/", version = "=0.7.0" }
mas-http = { path = "./crates/http/", version = "=0.7.0" }
mas-i18n = { path = "./crates/i18n/", version = "=0.7.0" }
mas-i18n-scan = { path = "./crates/i18n-scan/", version = "=0.7.0" }
mas-iana = { path = "./crates/iana/", version = "=0.7.0" }
mas-iana-codegen = { path = "./crates/iana-codegen/", version = "=0.7.0" }
mas-jose = { path = "./crates/jose/", version = "=0.7.0" }
mas-keystore = { path = "./crates/keystore/", version = "=0.7.0" }
mas-listener = { path = "./crates/listener/", version = "=0.7.0" }
mas-matrix = { path = "./crates/matrix/", version = "=0.7.0" }
mas-matrix-synapse = { path = "./crates/matrix-synapse/", version = "=0.7.0" }
mas-oidc-client = { path = "./crates/oidc-client/", version = "=0.7.0" }
mas-policy = { path = "./crates/policy/", version = "=0.7.0" }
mas-router = { path = "./crates/router/", version = "=0.7.0" }
mas-spa = { path = "./crates/spa/", version = "=0.7.0" }
mas-storage = { path = "./crates/storage/", version = "=0.7.0" }
mas-storage-pg = { path = "./crates/storage-pg/", version = "=0.7.0" }
mas-tasks = { path = "./crates/tasks/", version = "=0.7.0" }
mas-templates = { path = "./crates/templates/", version = "=0.7.0" }
mas-tower = { path = "./crates/tower/", version = "=0.7.0" }
oauth2-types = { path = "./crates/oauth2-types/", version = "=0.7.0" }
# High-level error handling
[workspace.dependencies.anyhow]
version = "1.0.75"
# UTF-8 paths
[workspace.dependencies.camino]
version = "1.1.6"
# Time utilities
[workspace.dependencies.chrono]
version = "0.4.31"
default-features = false
features = ["serde", "clock"]
# CLI argument parsing
[workspace.dependencies.clap]
version = "4.4.8"
features = ["derive"]
# HTTP request/response
[workspace.dependencies.http]
version = "0.2.11"
# Templates
[workspace.dependencies.minijinja]
version = "1.0.10"
# Random values
[workspace.dependencies.rand]
version = "0.8.5"
# Serialization and deserialization
[workspace.dependencies.serde]
version = "1.0.193"
features = ["derive"] # Most of the time, if we need serde, we need derive
# JSON serialization and deserialization
[workspace.dependencies.serde_json]
version = "1.0.108"
# Custom error types
[workspace.dependencies.thiserror]
version = "1.0.50"
# Logging and tracing
[workspace.dependencies.tracing]
version = "0.1.40"
[workspace.dependencies.tracing-subscriber]
version = "0.3.18"
# OpenTelemetry
[workspace.dependencies.opentelemetry]
version = "0.21.0"
features = ["trace", "metrics"]
[workspace.dependencies.opentelemetry-semantic-conventions]
version = "0.13.0"
[workspace.dependencies.tracing-opentelemetry]
version = "0.22.0"
default-features = false
# URL manipulation
[workspace.dependencies.url]
version = "2.5.0"
features = ["serde"]
# ULID support
[workspace.dependencies.ulid]
version = "1.1.0"
features = ["serde"]
# A few profile opt-level tweaks to make the test suite run faster
[profile.dev.package]
num-bigint-dig.opt-level = 3
sqlx-macros.opt-level = 3
cranelift-codegen.opt-level = 3
regalloc2.opt-level = 3
argon2.opt-level = 3
pbkdf2.opt-level = 3
bcrypt.opt-level = 3
sha2.opt-level = 3
digest.opt-level = 3
block-buffer.opt-level = 3
generic-array.opt-level = 3