# # Copyright (c) 2023 ZettaScale Technology # # This program and the accompanying materials are made available under the # terms of the Eclipse Public License 2.0 which is available at # http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0 # which is available at https://www.apache.org/licenses/LICENSE-2.0. # # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 # # Contributors: # ZettaScale Zenoh Team, # [package] rust-version = { workspace = true } name = "zenoh" version = { workspace = true } repository = { workspace = true } homepage = { workspace = true } authors = { workspace = true } edition = { workspace = true } license = { workspace = true } categories = { workspace = true } description = { workspace = true } readme = "../README.md" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [badges] maintenance = { status = "actively-developed" } [features] auth_pubkey = ["zenoh-transport/auth_pubkey"] auth_usrpwd = ["zenoh-transport/auth_usrpwd"] default = [ "auth_pubkey", "auth_usrpwd", "transport_multilink", "transport_compression", "transport_quic", "transport_tcp", "transport_tls", "transport_udp", "transport_unixsock-stream", "transport_ws" ] internal = ["zenoh-keyexpr/internal", "zenoh-config/internal"] plugins = [] runtime_plugins = ["plugins"] shared-memory = [ "zenoh-shm", "zenoh-protocol/shared-memory", "zenoh-transport/shared-memory", "zenoh-buffers/shared-memory", ] stats = ["zenoh-transport/stats", "zenoh-protocol/stats"] transport_multilink = ["zenoh-transport/transport_multilink"] transport_compression = ["zenoh-transport/transport_compression"] transport_quic = ["zenoh-transport/transport_quic"] transport_serial = ["zenoh-transport/transport_serial"] transport_unixpipe = ["zenoh-transport/transport_unixpipe"] transport_tcp = ["zenoh-transport/transport_tcp", "zenoh-config/transport_tcp"] transport_tls = ["zenoh-transport/transport_tls"] transport_udp = ["zenoh-transport/transport_udp"] transport_unixsock-stream = ["zenoh-transport/transport_unixsock-stream"] transport_ws = ["zenoh-transport/transport_ws"] transport_vsock = ["zenoh-transport/transport_vsock"] unstable = ["internal_config", "zenoh-keyexpr/unstable", "zenoh-config/unstable"] internal_config = [] [dependencies] tokio = { workspace = true, features = ["rt", "macros", "time"] } tokio-util = { workspace = true } ahash = { workspace = true } async-trait = { workspace = true } bytes = { workspace = true } flume = { workspace = true } futures = { workspace = true } git-version = { workspace = true } itertools = { workspace = true } json5 = { workspace = true } lazy_static = { workspace = true } tracing = { workspace = true } paste = { workspace = true } petgraph = { workspace = true } phf = { workspace = true } rand = { workspace = true, features = ["default"] } ref-cast = { workspace = true } serde = { workspace = true, features = ["default"] } serde_json = { workspace = true } socket2 = { workspace = true } uhlc = { workspace = true, features = ["default"] } vec_map = { workspace = true } zenoh-buffers = { workspace = true, features = ["std"] } zenoh-codec = { workspace = true } zenoh-collections = { workspace = true, features = ["std"] } zenoh-config = { workspace = true } zenoh-core = { workspace = true } zenoh-keyexpr = { workspace = true } zenoh-link = { workspace = true } zenoh-macros = { workspace = true } zenoh-plugin-trait = { workspace = true } zenoh-protocol = { workspace = true, features = ["std"] } zenoh-result = { workspace = true } zenoh-shm = { workspace = true, optional = true } zenoh-sync = { workspace = true } zenoh-transport = { workspace = true } zenoh-util = { workspace = true } zenoh-runtime = { workspace = true } zenoh-task = { workspace = true } once_cell = { workspace = true } [dev-dependencies] tokio = { workspace = true } [build-dependencies] rustc_version = { workspace = true } [lib] name = "zenoh" # For doc generation on docs.rs, activate the "unstable" and "shared-memory" feature to generate their documentation # NOTE: if you change this, also change it in .github/workflows/release.yml in "doc" job. [package.metadata.docs.rs] features = ["unstable", "shared-memory"] rustdoc-args = ["--cfg", "doc_auto_cfg"] [package.metadata.deb] name = "zenoh" maintainer = "zenoh-dev@eclipse.org" copyright = "2024 ZettaScale Technology" section = "net" license-file = ["../LICENSE", "0"] depends = "zenohd (=1.1.0), zenoh-plugin-rest (=1.1.0), zenoh-plugin-storage-manager (=1.1.0)" maintainer-scripts = ".deb" assets = [["../README.md", "README.md", "644"]] [lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(doc_auto_cfg)'] }