aboutsummaryrefslogtreecommitdiff
path: root/Cargo.toml
blob: 2f6f9c74703a1644279395ec3c5eeb6801c63fb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
[package]
name = "syrette"
version = "0.4.1"
license = "MIT OR Apache-2.0"
authors = ["HampusM <hampus@hampusmat.com>"]
description = "The convenient dependency injection framework"
repository = "https://git.hampusmat.com/syrette"
keywords = ["di", "dependency-injection", "ioc", "inversion-of-control"]
edition = "2021"
rust-version = "1.62.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "doc_cfg"]

[features]
default = ["prevent-circular"]
factory = ["syrette_macros/factory"]
prevent-circular = ["syrette_macros/prevent-circular"]
async = ["dep:async-trait", "dep:async-lock"]

[[example]]
name = "factory"
required-features = ["factory"]

[[example]]
name = "with-3rd-party"
required-features = ["factory"]

[[example]]
name = "async"
required-features = ["async", "factory"]

[[example]]
name = "async-factory"
required-features = ["async", "factory"]

[[example]]
name = "prevent-circular"
required-features = ["prevent-circular"]

[dependencies]
syrette_macros = { path = "./macros", version = "0.4.0" }
linkme = "0.3.0"
once_cell = "1.4"
ahash = "0.7.6"
thiserror = "1.0.32"
strum = "0.24.1"
strum_macros = "0.24.3"
paste = "1.0.8"
async-trait = { version = "0.1.57", optional = true }
async-lock = { version = "2.6.0", optional = true }

[dev_dependencies]
mockall = { git = "https://github.com/HampusMat/mockall" }
anyhow = "1.0.62"
third-party-lib = { path = "./examples/with-3rd-party/third-party-lib" }
tokio = { version = "1.20.1", features = ["macros", "rt-multi-thread", "time"] }

[workspace]
members = [
	"macros",
	"examples/with-3rd-party/third-party-lib",
]