-
Notifications
You must be signed in to change notification settings - Fork 5
/
Cargo.toml
89 lines (69 loc) · 3.29 KB
/
Cargo.toml
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[package]
name = "viperus"
version = "0.1.11"
authors = ["mauro cordioli <[email protected]>"]
edition = "2018"
license = "MIT OR Apache-2.0"
repository = "https://github.com/maurocordioli/viperus"
description="Viperus is an (in)complete configuration solution for rust applications heavly inspired by the GO package Viper.It supports defaults reading from JSON, TOML, YAML, envfile,java properties, environment variables reading from Clap command line flags setting explicit values"
exclude = ["tarpaulin-report.html"]
keywords= ["config", "yaml", "toml", "json", "dotenv"]
readme="README.md"
[badges]
# Travis CI: `repository` in format "<user>/<project>" is required.
# `branch` is optional; default is `master`
travis-ci = { repository = "maurocordioli/viperus", branch = "master" }
# Coveralls: `repository` is required. `branch` is optional; default is `master`
# `service` is optional; valid values are `github` (default) and `bitbucket`.
coveralls = { repository = "maurocordioli/viperus", branch = "master", service = "github" }
# Maintenance: `status` is required. Available options are:
# - `actively-developed`: New features are being added and bugs are being fixed.
# - `passively-maintained`: There are no plans for new features, but the maintainer intends to
# respond to issues that get filed.
# - `as-is`: The crate is feature complete, the maintainer does not intend to continue working on
# it or providing support, but it works for the purposes it was designed for.
# - `experimental`: The author wants to share it with the community but is not intending to meet
# anyone's particular use case.
# - `looking-for-maintainer`: The current maintainer would like to transfer the crate to someone
# else.
# - `deprecated`: The maintainer does not recommend using this crate (the description of the crate
# can describe why, there could be a better solution available or there could be problems with
# the crate that the author does not want to fix).
# - `none`: Displays no badge on crates.io, since the maintainer has not chosen to specify
# their intentions, potential crate users will need to investigate on their own.
maintenance = { status = "experimental" }
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log="0.4"
serde={ version="1.0.0", optional=true}
serde_yaml={ version="0.8.11", optional=true}
serde_json={ version="1.0.44", optional=true}
clap={ version="2.33.0", optional=true}
dotenv={ version="0.15.0", optional=true}
toml= { version="0.5.5", optional=true}
java-properties = { version="1.2.0", optional=true}
lazy_static= { version="1.4.0", optional=true}
notify = { version="4.0.0", optional=true}
[dev-dependencies]
env_logger = "0.7.1"
tempfile = "3.1.0"
criterion = "0.3.0"
[[bench]]
name = "benchmark_cache"
harness = false
[features]
# enable all features as default
default = ["cache", "global", "fmt-clap", "fmt-env", "fmt-javaproperties", "fmt-json", "fmt-toml", "fmt-yaml", "notify", "watch"]
# const static config
global = ["lazy_static"]
# cache queries
cache =[]
# triggers parameter changes in config files
watch=["global", "notify"]
# supported format parsers
fmt-clap=["clap"]
fmt-env=["dotenv"]
fmt-javaproperties=["java-properties"]
fmt-json=["serde","serde_json"]
fmt-toml=[ "toml"]
fmt-yaml=["serde","serde_yaml"]