Skip to content

Commit

Permalink
style: format all toml with taplo
Browse files Browse the repository at this point in the history
  • Loading branch information
Kladki committed May 6, 2024
1 parent 08485ea commit e2d91e2
Show file tree
Hide file tree
Showing 9 changed files with 155 additions and 73 deletions.
136 changes: 92 additions & 44 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,24 +1,22 @@
# Keep alphabetically sorted
[workspace.lints.rust]
explicit_outlives_requirements = "warn"
unused_qualifications = "warn"

# Keep alphabetically sorted
[workspace.lints.clippy]
cloned_instead_of_copied = "warn"
dbg_macro = "warn"
str_to_string = "warn"

[package]
name = "conduit"
description = "A Matrix homeserver written in Rust"
license = "Apache-2.0"
authors = ["timokoesters <[email protected]>"]
description = "A Matrix homeserver written in Rust"
edition = "2021"
homepage = "https://conduit.rs"
repository = "https://gitlab.com/famedly/conduit"
license = "Apache-2.0"
name = "conduit"
readme = "README.md"
repository = "https://gitlab.com/famedly/conduit"
version = "0.8.0-alpha"
edition = "2021"

# See also `rust-toolchain.toml`
rust-version = "1.78.0"
Expand All @@ -30,14 +28,40 @@ workspace = true

[dependencies]
# Web framework
axum = { version = "0.6.18", default-features = false, features = ["form", "headers", "http1", "http2", "json", "matched-path"], optional = true }
axum = { version = "0.6.18", default-features = false, features = [
"form",
"headers",
"http1",
"http2",
"json",
"matched-path",
], optional = true }
axum-server = { version = "0.5.1", features = ["tls-rustls"] }
tower = { version = "0.4.13", features = ["util"] }
tower-http = { version = "0.4.1", features = ["add-extension", "cors", "sensitive-headers", "trace", "util"] }
tower-http = { version = "0.4.1", features = [
"add-extension",
"cors",
"sensitive-headers",
"trace",
"util",
] }

# Used for matrix spec type definitions and helpers
#ruma = { version = "0.4.0", features = ["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-pre-spec", "unstable-exhaustive-types"] }
ruma = { git = "https://github.com/ruma/ruma", rev = "5495b85aa311c2805302edb0a7de40399e22b397", features = ["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-msc2448", "unstable-msc3575", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" ] }
ruma = { git = "https://github.com/ruma/ruma", rev = "5495b85aa311c2805302edb0a7de40399e22b397", features = [
"appservice-api-c",
"client-api",
"compat",
"federation-api",
"push-gateway-api-c",
"rand",
"ring-compat",
"state-res",
"unstable-exhaustive-types",
"unstable-msc2448",
"unstable-msc3575",
"unstable-unspecified",
] }
#ruma = { git = "https://github.com/timokoesters/ruma", rev = "4ec9c69bb7e09391add2382b3ebac97b6e8f4c64", features = ["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-msc2448", "unstable-msc3575", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" ] }
#ruma = { path = "../ruma/crates/ruma", features = ["compat", "rand", "appservice-api-c", "client-api", "federation-api", "push-gateway-api-c", "state-res", "unstable-msc2448", "unstable-msc3575", "unstable-exhaustive-types", "ring-compat", "unstable-unspecified" ] }

Expand Down Expand Up @@ -65,11 +89,18 @@ rand = "0.8.5"
rust-argon2 = "2"
# Used to send requests
hyper = "0.14.26"
reqwest = { version = "0.11.18", default-features = false, features = ["rustls-tls-native-roots", "socks"] }
reqwest = { version = "0.11.18", default-features = false, features = [
"rustls-tls-native-roots",
"socks",
] }
# Used for conduit::Error type
thiserror = "1.0.40"
# Used to generate thumbnails for images
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "gif"] }
image = { version = "0.25", default-features = false, features = [
"gif",
"jpeg",
"png",
] }
# Used to encode server public key
base64 = "0.22"
# Used when hashing the state
Expand All @@ -81,15 +112,17 @@ regex = "1.8.1"
# jwt jsonwebtokens
jsonwebtoken = "9.2.0"
# Performance measurements
tracing = { version = "0.1.37", features = [] }
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }
tracing-flame = "0.2.0"
opentelemetry = { version = "0.18.0", features = ["rt-tokio"] }
opentelemetry-jaeger = { version = "0.17.0", features = ["rt-tokio"] }
tracing = { version = "0.1.37", features = [] }
tracing-flame = "0.2.0"
tracing-opentelemetry = "0.18.0"
tracing-subscriber = { version = "0.3.17", features = ["env-filter"] }

lru-cache = "0.1.2"
rusqlite = { version = "0.31", optional = true, features = ["bundled"] }
parking_lot = { version = "0.12.1", optional = true }
rusqlite = { version = "0.31", optional = true, features = ["bundled"] }

# crossbeam = { version = "0.8.2", optional = true }
num_cpus = "1.15.0"
threadpool = "1.8.1"
Expand All @@ -102,42 +135,47 @@ thread_local = "1.1.7"
hmac = "0.12.1"
sha-1 = "0.10.1"
# used for conduit's CLI and admin room command parsing
clap = { version = "4.3.0", default-features = false, features = ["std", "derive", "help", "usage", "error-context", "string"] }
clap = { version = "4.3.0", default-features = false, features = [
"derive",
"error-context",
"help",
"std",
"string",
"usage",
] }
futures-util = { version = "0.3.28", default-features = false }
# Used for reading the configuration from conduit.toml & environment variables
figment = { version = "0.10.8", features = ["env", "toml"] }

# Validating urls in config
url = { version = "2", features = ["serde"] }

tikv-jemallocator = { version = "0.5.0", features = ["unprefixed_malloc_on_supported_platforms"], optional = true }
async-trait = "0.1.68"
tikv-jemallocator = { version = "0.5.0", features = [
"unprefixed_malloc_on_supported_platforms",
], optional = true }

sd-notify = { version = "0.4.1", optional = true }

[dependencies.rocksdb]
features = ["lz4", "multi-threaded-cf", "zstd"]
optional = true
package = "rust-rocksdb"
version = "0.25"
optional = true
features = [
"multi-threaded-cf",
"zstd",
"lz4",
]

[target.'cfg(unix)'.dependencies]
nix = { version = "0.28", features = ["resource"] }

[features]
default = ["conduit_bin", "backend_sqlite", "backend_rocksdb", "systemd"]
default = ["backend_rocksdb", "backend_sqlite", "conduit_bin", "systemd"]
#backend_sled = ["sled"]
backend_persy = ["persy", "parking_lot"]
backend_persy = ["parking_lot", "persy"]
backend_sqlite = ["sqlite"]
#backend_heed = ["heed", "crossbeam"]
backend_rocksdb = ["rocksdb"]
jemalloc = ["tikv-jemallocator"]
sqlite = ["rusqlite", "parking_lot", "tokio/signal"]
conduit_bin = ["axum"]
jemalloc = ["tikv-jemallocator"]
sqlite = ["parking_lot", "rusqlite", "tokio/signal"]
systemd = ["sd-notify"]

[[bin]]
Expand All @@ -150,35 +188,45 @@ name = "conduit"
path = "src/lib.rs"

[package.metadata.deb]
name = "matrix-conduit"
maintainer = "Paul van Tilburg <[email protected]>"
assets = [
[
"README.md",
"usr/share/doc/matrix-conduit/",
"644",
],
[
"debian/README.md",
"usr/share/doc/matrix-conduit/README.Debian",
"644",
],
[
"target/release/conduit",
"usr/sbin/matrix-conduit",
"755",
],
]
conf-files = ["/etc/matrix-conduit/conduit.toml"]
copyright = "2020, Timo Kösters <[email protected]>"
license-file = ["LICENSE", "3"]
depends = "$auto, ca-certificates"
extended-description = """\
A fast Matrix homeserver that is optimized for smaller, personal servers, \
instead of a server that has high scalability."""
section = "net"
priority = "optional"
assets = [
["debian/README.md", "usr/share/doc/matrix-conduit/README.Debian", "644"],
["README.md", "usr/share/doc/matrix-conduit/", "644"],
["target/release/conduit", "usr/sbin/matrix-conduit", "755"],
]
conf-files = [
"/etc/matrix-conduit/conduit.toml"
]
license-file = ["LICENSE", "3"]
maintainer = "Paul van Tilburg <[email protected]>"
maintainer-scripts = "debian/"
name = "matrix-conduit"
priority = "optional"
section = "net"
systemd-units = { unit-name = "matrix-conduit" }

[profile.dev]
lto = 'off'
incremental = true
lto = 'off'

[profile.release]
lto = 'thin'
codegen-units = 32
incremental = true
codegen-units=32
lto = 'thin'
# If you want to make flamegraphs, enable debug info:
# debug = true

Expand Down
5 changes: 2 additions & 3 deletions book.toml
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
[book]
title = "Conduit"
description = "Conduit is a simple, fast and reliable chat server for the Matrix protocol"
language = "en"
multilingual = false
src = "docs"
title = "Conduit"

[build]
build-dir = "public"
create-missing = true

[output.html]
git-repository-url = "https://gitlab.com/famedly/conduit"
edit-url-template = "https://gitlab.com/famedly/conduit/-/edit/next/{path}"
git-repository-icon = "fa-git-square"
git-repository-url = "https://gitlab.com/famedly/conduit"

[output.html.search]
limit-results = 15

[output.html.code.hidelines]
json = "~"

4 changes: 2 additions & 2 deletions conduit-example.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
# YOU NEED TO EDIT THIS
#server_name = "your.server.name"

database_backend = "rocksdb"
# This is the only directory where Conduit will save its data
database_path = "/var/lib/matrix-conduit/"
database_backend = "rocksdb"

# The port Conduit will be running on. You need to set up a reverse proxy in
# your web server (e.g. apache or nginx), so all requests to /_matrix on port
Expand All @@ -44,8 +44,8 @@ allow_registration = true
# - Start the line with '#' to remove the condition
registration_token = ""

allow_federation = true
allow_check_for_updates = true
allow_federation = true

# Enable the display name lightning bolt on registration.
enable_lightning_bolt = true
Expand Down
29 changes: 17 additions & 12 deletions engage.toml
Original file line number Diff line number Diff line change
@@ -1,48 +1,48 @@
interpreter = ["bash", "-euo", "pipefail", "-c"]

[[task]]
name = "engage"
group = "versions"
name = "engage"
script = "engage --version"

[[task]]
name = "rustc"
group = "versions"
name = "rustc"
script = "rustc --version"

[[task]]
name = "cargo"
group = "versions"
name = "cargo"
script = "cargo --version"

[[task]]
name = "cargo-fmt"
group = "versions"
name = "cargo-fmt"
script = "cargo fmt --version"

[[task]]
name = "rustdoc"
group = "versions"
name = "rustdoc"
script = "rustdoc --version"

[[task]]
name = "cargo-clippy"
group = "versions"
name = "cargo-clippy"
script = "cargo clippy -- --version"

[[task]]
name = "lychee"
group = "versions"
name = "lychee"
script = "lychee --version"

[[task]]
name = "cargo-fmt"
group = "lints"
name = "cargo-fmt"
script = "cargo fmt --check -- --color=always"

[[task]]
name = "cargo-doc"
group = "lints"
name = "cargo-doc"
script = """
RUSTDOCFLAGS="-D warnings" cargo doc \
--workspace \
Expand All @@ -52,18 +52,23 @@ RUSTDOCFLAGS="-D warnings" cargo doc \
"""

[[task]]
name = "cargo-clippy"
group = "lints"
name = "cargo-clippy"
script = "cargo clippy --workspace --all-targets --color=always -- -D warnings"

[[task]]
name = "lychee"
group = "lints"
name = "taplo-fmt"
script = "taplo fmt --check --colors always"

[[task]]
group = "lints"
name = "lychee"
script = "lychee --offline docs"

[[task]]
name = "cargo"
group = "tests"
name = "cargo"
script = """
cargo test \
--workspace \
Expand Down
10 changes: 8 additions & 2 deletions nix/shell.nix
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
, mkShell
, olm
, system
, taplo
, toolchain
}:

Expand All @@ -29,10 +30,15 @@ mkShell {
# `$PATH` will have stable rustfmt instead.
inputs.fenix.packages.${system}.latest.rustfmt

# Keep sorted
engage
# rust itself
toolchain

# CI tests
engage

# format toml files
taplo

# Needed for producing Debian packages
cargo-deb

Expand Down
Loading

0 comments on commit e2d91e2

Please sign in to comment.