[workspace] resolver = "2" members = ["martin", "martin-tile-utils", "mbtiles"] [workspace.package] edition = "2021" license = "MIT OR Apache-2.0" repository = "https://github.com/maplibre/martin" rust-version = "1.74" readme = "README.md" homepage = "https://martin.maplibre.org/" [workspace.lints.rust] unused_qualifications = "warn" # Lints inheritance from workspace is not yet supported # Crate mbtiles uses unsafe code, so we can't forbid it here # unsafe_code = "forbid" [workspace.lints.clippy] pedantic = { level = "warn", priority = -1 } derive_partial_eq_without_eq = "allow" implicit_hasher = "allow" missing_errors_doc = "allow" missing_panics_doc = "allow" module_name_repetitions = "allow" [workspace.dependencies] actix-cors = "0.6" actix-http = "3" actix-rt = "2" actix-web = "4" anyhow = "1.0" approx = "0.5.1" async-trait = "0.1" bit-set = "0.5.3" brotli = ">=5, <7" cargo-husky = { version = "1", features = ["user-hooks"], default-features = false } clap = { version = "4", features = ["derive"] } criterion = { version = "0.5", features = ["async_futures", "async_tokio", "html_reports"] } ctor = "0.2" deadpool-postgres = "0.12" enum-display = "0.1" env_logger = "0.11" flate2 = "1" futures = "0.3" indoc = "2" insta = "1" itertools = "0.13" json-patch = "2.0" lambda-web = { version = "0.2.1", features = ["actix4"] } libsqlite3-sys = { version = ">=0.27", features = ["bundled"] } log = "0.4" martin-tile-utils = { path = "./martin-tile-utils", version = "0.4.0" } mbtiles = { path = "./mbtiles", version = "0.9.0" } moka = { version = "0.12", features = ["future"] } num_cpus = "1" pbf_font_tools = { version = "2.5.1", features = ["freetype"] } pmtiles = { version = "0.10", features = ["http-async", "mmap-async-tokio", "tilejson", "reqwest-rustls-tls-native-roots"] } postgis = "0.9" postgres = { version = "0.19", features = ["with-time-0_3", "with-uuid-1", "with-serde_json-1"] } postgres-protocol = "0.6" pprof = { version = "0.13", features = ["flamegraph", "criterion"] } pretty_assertions = "1" regex = "1" rstest = "0.20" rustls = "0.23.9" # ring feature does not require NASM windows executable, but works slower #rustls = { version = "0.23", default-features = false, features = ["logging", "std", "tls12", "ring"] } rustls-native-certs = "0.7" rustls-pemfile = "2" semver = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" serde_with = "3" serde_yaml = "0.9" size_format = "1.0.2" spreet = { version = "0.11", default-features = false } sqlite-hashes = { version = "0.7.2", default-features = false, features = ["md5", "aggregate", "hex"] } sqlx = { version = "0.7", features = ["sqlite", "runtime-tokio"] } subst = { version = "0.3", features = ["yaml"] } thiserror = "1" tile-grid = "0.6" tilejson = "0.4" tokio = { version = "1", features = ["macros"] } tokio-postgres-rustls = "0.12" url = "2.5" [profile.dev.package] # See https://github.com/launchbadge/sqlx#compile-time-verification sqlx-macros.opt-level = 3 # See https://docs.rs/insta/latest/insta/#optional-faster-runs insta.opt-level = 3 similar.opt-level = 3 #[patch.crates-io] #enum-display = { path = "../enum-display" } #pmtiles = { path = "../pmtiles-rs" } #sqlite-hashes = { path = "../sqlite-hashes" } #tilejson = { path = "../tilejson" } #pmtiles = { git = "https://github.com/nyurik/pmtiles-rs", branch = "override" } #tilejson = { git = "https://github.com/nyurik/tilejson", branch = "btreemap" }