Skip to content
Snippets Groups Projects
Cargo.toml 3.43 KiB
Newer Older
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed
[package]
name = "picodata"
version = "24.7.0"
edition = "2021"
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed
autotests = false
rust-version = "1.76.0"
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
clap = { version = "3", features = ["derive", "env"] }
either = "1.13.0"
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed
libc = "0.2.108"
md5 = "0.7.0"
nix = { version = "0.29", features = ["fs", "term", "process", "signal"] }
pgwire = { version = "0.24.1", default-features = false, features = [
    "server-api",
] }
postgres-types = { version = "0.2.6", features = [
    "with-uuid-0_8",
    "array-impls",
    "with-serde_json-1",
    "with-time-0_3",
] }
raft = "0.7.0"
rand = "0.8.5"
rmp = "*"
rmp-serde = "1.0"
rmpv = { version = "1.0.0", features = ["with-serde"] }
rust_decimal = { version = "1.35.0", features = ["db-postgres"] }
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed
serde = "1.0"
sqlparser = { version = "0.40.0", features = ["visitor"] }
time = { version = "0.3", features = ["parsing", "formatting", "macros"] }
uuid = { version = "0.8", features = ["v4"] } # TODO: update to 1.0
# Link- and ABI- related stuff
# Bundled modules e.g. picodata SDK
pico_proc_macro = { path = "./pico_proc_macro" }
picodata-plugin = { path = "./picodata-plugin", features = ["internal_test"] }
[dependencies.protobuf]
version = "2.27"
features = ["bytes", "with-bytes"]
[dependencies.sbroad-core]
version = "0.1"
path = "sbroad/sbroad-core"

[dependencies.slog]
version = "2.7.0"
features = ["max_level_trace", "release_max_level_trace"]
[dependencies.tarantool]
Yaroslav Dynnikov's avatar
Yaroslav Dynnikov committed
path = "./tarantool/tarantool"
version = "5.0"
features = ["picodata", "test"]
[dev-dependencies]
nix = { version = "0.26.4", features = ["fs"] }
syn = { version = "^1.0", features = ["full", "extra-traits", "printing"] }
[patch.crates-io]
nix = { git = "https://git.picodata.io/picodata/picodata/nix.git", branch = "fix-memfd-create-for-older-libc-backport-26-4" }

[patch."https://git.picodata.io/picodata/picodata/tarantool-module.git"]
tarantool = { path = "./tarantool/tarantool" }

dynamic_build = []
error_injection = []
webui = []
Georgy Moshkin's avatar
Georgy Moshkin committed
doctest = true
[[test]]
name = "inner"
path = "test/inner.rs"
harness = false

[workspace]
members = [
    ".",
    "pico_proc_macro",
    "gostech/gostech-audit-log",
godzie44's avatar
godzie44 committed
    "test/testplug",
    "test/plug_wrong_version",

# For releases, we prioritize performance over compilation time.
# As demonstrated in https://git.picodata.io/picodata/picodata/picodata/-/issues/1026#note_107222,
# these options can result in a performance improvement of 16.89%.
# However, it dramatically increases compilation time, so in CI on non-master
# branches a faster profile is used - fast-release.
[profile.release]
debug = 1
lto = "fat"
codegen-units = 1

# A faster release build that is used in CI on non-master branches.
[profile.fast-release]
inherits = "release"
debug = "line-tables-only"
lto = "off"
codegen-units = 64