exocore 0.1.21

Distributed applications framework
Documentation
[package]
authors = ["Andre-Philippe Paquet <appaquet@gmail.com>"]
categories = ["database-implementations", "command-line-interface", "wasm", "web-programming"]
description = "Distributed applications framework"
edition = "2021"
exclude = ["examples", "tools"]
keywords = ["networking", "mobile", "webassembly", "storage", "database"]
license = "Apache-2.0"
name = "exocore"
repository = "https://github.com/appaquet/exocore"
version = "0.1.21"

[features]
default = [
  "apps-sdk",
  "client",
  "logger",
  "web",
]

# Top level features
apps-sdk = ["exocore-apps-sdk", "exocore-store", "protos"]
client = ["core-runtime", "transport-p2p", "store-remote", "protos", "anyhow"]
logger = ["core-logger"]
tests-utils = ["exocore-core/tests-utils", "exocore-transport/tests-utils", "exocore-store/tests-utils"]
web = ["transport-p2p-web", "protos", "exocore-core/web"]

# Underlying crates features
chain-directory-chain = ["exocore-chain/directory-chain"]
chain-engine = ["exocore-chain/engine"]
chain-memory-pending = ["exocore-chain/memory-pending"]
core-logger = ["exocore-core/logger"]
core-runtime = ["exocore-core/runtime"]
discovery-server = ["exocore-discovery/server"]
protos = ["exocore-protos"]
store-local = ["exocore-store/local"]
store-remote = ["exocore-store/remote"]
transport-http-server = ["exocore-transport/http-server"]
transport-p2p = ["exocore-transport/p2p-full"]
transport-p2p-web = ["exocore-transport/p2p-web"]

[dependencies]
anyhow = { version = "1.0.57", optional = true }
exocore-apps-sdk = {version = "0.1.21", path = "./apps/sdk", default-features = false, optional = true}
exocore-chain = {version = "0.1.21", path = "./chain", default-features = false, optional = true}
exocore-core = {version = "0.1.21", path = "./core", default-features = false, optional = true}
exocore-discovery = {version = "0.1.21", path = "./discovery", default-features = false, optional = true}
exocore-protos = {version = "0.1.21", path = "./protos", default-features = false, optional = true}
exocore-store = {version = "0.1.21", path = "./store", default-features = false, optional = true}
exocore-transport = {version = "0.1.21", path = "./transport", default-features = false, optional = true}
log = "0.4.16"

[dev-dependencies]
exocore-core = {version = "0.1.21", path = "./core", features = ["tests-utils"]}

[workspace]
exclude = [
  "3rd",
]
members = [
  "core",
  "protos",
  "transport",
  "store",
  "chain",
  "apps/host",
  "apps/macros",
  "apps/sdk",
  "apps/example",
  "discovery",
  "exo",
  "clients/web",
  "clients/android",
  "clients/c",
]

[profile.production]
inherits = "release"
codegen-units = 1
lto = "thin"