[package] name = "tina" version = "0.0.2" edition = "2021" description = "Tina platform" license = "MIT" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] default = ["client-nacos", "client-tonic", "server-axum", "server-tonic", "database-mongodb", "database-mysql", "database-redis"] client-nacos = ["tina-core/client-nacos"] client-tonic = ["tina-core/client-tonic"] server-actix-web = ["tina-core/server-actix-web"] server-axum = ["tina-core/server-axum"] server-ntex = ["tina-core/server-ntex"] server-tonic = ["tina-core/server-tonic"] database-mongodb = ["tina-core/database-mongodb"] database-mysql = ["tina-core/database-mysql"] database-redis = ["tina-core/database-redis"] [dependencies] tina-core = {workspace = true} [dev-dependencies] criterion = {workspace = true} prost = {workspace = true} tonic = {workspace = true} tokio = {workspace = true} [patch.crates-io] tina-core = {path = "./tina-core"} tina-macro = {path = "./tina-macro"} [workspace] members = [ "tina-core", "tina-macro", ] [workspace.package] rust-version = "1.67" [workspace.dependencies] tina-core = {version = "=0.0.2", default-features = false} tina-macro = {version = "=0.0.2"} actix-codec = {version = "0.5.0"} actix-http = {version = "3.3.1"} actix-router = {version = "0.5.1"} actix-rt = {version = "2.8.0"} actix-server = {version = "2.2.0"} actix-service = {version = "2.0.2"} actix-web = {version = "4.3.1", default-features = false, features = ["cookies", "compress-gzip"]} anyhow = {version = "1.0.70", features = ["backtrace", "std"]} async-recursion = "1.0.4" async-trait = "0.1.68" axum = {version = "0.6.15", features = ["multipart"]} axum-core = {version = "0.3.4"} base64 = {version = "0.21.0"} bigdecimal = {version = "0.3.0", features = ["serde"]} bincode = "1.3.3" bson = "2.6.1" bytes = {version = "1.4.0", features = ["serde"]} bytestring = "1.3.0" calamine = "0.19.1" chrono = {version = "0.4.24", features = ["serde"]} config = "0.13.3" criterion = "0.4.0" cron = "0.12.0" dashmap = "5.4.0" deadpool = {version = "0.9.5", features = ["rt_tokio_1", "serde"]} default-boxed = "0.2.0" either = {version = "1.8.1", features = ["serde"]} firestorm = "0.5.1" fluent-bundle = "0.15.2" futures = "0.3.28" futures-util = {version = "0.3.28", features = ["sink", "alloc"], default-features = false} fxhash = "0.2.1" garde = "0.11.2" garde_derive = "0.11.2" google-authenticator = {version = "=0.3.0", features = ["with-qrcode"]} heck = "0.4.1" hex = {version = "0.4.3"} hound = "3.5.0" hostname = "0.3.1" html_parser = "0.6.3" http = {version = "0.2.9"} http-body = {version = "0.4.5"} httpdate = "1.0.2" httparse = "1.8.0" hyper = "0.14.25" if_chain = "1" image = "0.24.6" indexmap = {version = "1.9.3", features = ["serde-1"]} intl-memoizer = "0.5.1" itertools = "0.10.5" jsonwebtoken = "8.3.0" language-tags = "0.3.2" local-waker = "0.1.3" lodepng = "3.7.2" log = {version = "0.4", features = ["serde"]} log-mdc = {version = "0.1.0"} log4rs = {version = "1.2.0", features = ["gzip", "background_rotation", "config_parsing", "console_writer", "ansi_writer"]} md5 = "0.7.0" memchr = "2.5.0" mime = "0.3.17" mongodb = {version = "2.4.0", default-features = false, features = ["tokio-runtime"]} mongodb-gridfs = {version = "0.2.5", default-features = false, features = ["tokio-runtime"]} nacos-macro = {version = "0.1.0"} nacos-sdk = {version = "0.2.5", features = ["async"]} new_mime_guess = {version = "4.0.1"} num-bigint = {version = "0.4.3", features = ["serde"]} num-traits = {version = "0.2.15"} ntex = {version = "0.6.6", features = ["tokio", "compress", "cookie"]} ntex-codec = {version = "0.6.2"} ntex-io = {version = "0.2.9"} ntex-router = {version = "0.5.1"} ntex-rt = {version = "0.4.9"} ntex-service = {version = "1.0.1"} once_cell = "1.17.1" percent-encoding = "2.2.0" proc-macro2 = "1" proc-macro-error = "1" prost = "0.11.9" prost-derive = "0.11.9" qrcode = {version = "0.12.0", features = ["image"]} quote = "1" rbatis = "4.3.0" rbs = "4.3.2" rand = {version = "0.8.5"} redis = {version = "0.23.0", features = ["tokio-comp", "cluster"]} regex = "1.7.3" reqwest = { version = "0.11.16", default-features = false, features = ["json", "cookies", "multipart", "socks", "gzip", "stream", "blocking", "rustls-tls"]} reqwest-middleware = {version = "0.2.1"} reqwest-retry = {version = "0.2.2"} rust-embed = {version = "6.6.1", features = ["interpolate-folder-path", "compression", "include-exclude"]} rust-embed-impl = {version = "6.5.0", features = ["interpolate-folder-path", "compression", "include-exclude"]} serde = {version = "1", features = ["alloc", "rc"]} serde_derive = {version = "1", features = ["deserialize_in_place"]} serde_json = {version = "1.0.96", features = ["raw_value", "preserve_order", "arbitrary_precision", "float_roundtrip", "alloc"]} serde_qs = "0.12.0" serde-value = "0.7.0" serde_yaml = "0.9.21" systemstat = "0.2.3" syn = { version = "2", features = ["extra-traits"] } thread-id = "4.0.0" tera = "1.18.1" tokio = {version = "1", features = ["full"]} tonic = {version = "0.9.2", features = ["channel"]} tower = {version = "0.4.13"} tower-layer = {version = "0.3.2"} tower-service = {version = "0.3.2"} tracing = {version = "0.1.37", features = ["async-await"]} tracing-core = "0.1.30" tracing-subscriber = "0.3.16" unic-langid = "0.9" url = "2.3.1" urlencoding = "2.1.2" user-agent-parser = "0.3.4" utoipa = {version = "3.2.1", features = ["preserve_order", "debug"]} utoipa-gen = "3.2.1" uuid = { version = "1.3.1", features = ["serde", "v4"] } xlsxwriter = {version = "0.6.0", features = ["no-md5"]} xml-rs = "0.8.4" yaml-rust = "0.4.5" zip = { version = "0.6.4", default-features = false } [[bench]] name = "excel" harness = false [[test]] name = "date_time" required-features = ["database-mysql", "database-mongodb"] [[test]] name = "tonic_grpc" required-features = ["client-nacos", "client-tonic", "server-tonic"]