aboutsummaryrefslogtreecommitdiff
path: root/Cargo.toml
blob: 6c7d6bdd1ea08564097e057b1c4eec757481fcd6 (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
66
67
68
69
70
71
72
73
74
75
[package]
name = "syrette"
version = "0.4.2"
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", "syrette_macros/async"]

[[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.2" }
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 = "0.11.4"
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"] }

# The following is needed because of this change:
# https://github.com/assert-rs/predicates-rs/commit/7a961436d8c2b9cf09e9576a0c9341acb302f49c
#
# The predicates family of crates is a dependency of mockall.
#
# Follow this on
# https://github.com/asomers/mockall/issues/507
predicates-tree = "=1.0.7"
predicates-core = "=1.0.5"

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