-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
Cargo.toml
110 lines (100 loc) · 3.57 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
[package]
name = "ffizer"
version = "2.12.0"
authors = ["David Bernard"]
description = """ffizer is a files and folders initializer / generator.
It creates or updates any kind (or part) of project from template(s)"""
readme = "README.md"
license = "CC0-1.0"
keywords = ["project", "generator", "template", "skeleton"]
categories = ["command-line-utilities", "development-tools", "template-engine"]
repository = "https://github.com/ffizer/ffizer"
homepage = "https://ffizer.github.io/ffizer/book/"
exclude = ["/.github/**", "/docs/**", "/scripts/**", ".gitignore", "/tests/**"]
edition = "2021"
[dependencies]
clap = { version = "4.4", features = ["derive"] }
console = "0.15"
dialoguer = "0.11"
directories = "5.0"
git2 = { version = "0.18", optional = true }
git2_credentials = { version = "0.13", optional = true }
globset = "0.4"
handlebars = "4.3"
handlebars_misc_helpers = { version = "0.13", features = [
"string",
"http_reqwest",
"json",
"jsonnet",
], default-features = false }
human-panic = { version = "1.1", optional = true }
indicatif = "0.17"
lazy_static = "1.4"
md5 = "0.7"
regex = "1.7"
run_script = "0.10"
schemars = "0.8"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_plain = "1.0"
serde_yaml = "0.9"
similar = { version = "2.2", features = ["unicode", "inline"] }
tempfile = "3.7"
thiserror = "1.0"
tracing = "0.1"
tracing-error = "0.2"
tracing-subscriber = { version = "0.3", optional = true, features = [
"registry",
"fmt",
"ansi",
"env-filter",
] }
walkdir = "2.4.0"
[dev-dependencies]
assert_cmd = "2.0"
predicates = "3.0"
pretty_assertions = "1.3"
rstest = "0.18"
# rexpect = "0.3"
similar-asserts = "1.4"
test-generator = "0.3"
tracing-subscriber = { version = "0.3", features = ["fmt"] }
[[bin]]
name = "ffizer"
path = "src/main.rs"
doc = false
# HACK to define dependencies only for cli
# see https://github.com/rust-lang/cargo/issues/1982
required-features = ["cli"]
[target.'cfg(all(unix, not(target_os = "redox")))'.dependencies]
libc = "0.2"
openssl = { version = "0.10", features = ["vendored"] }
[target.'cfg(windows)'.dependencies]
winapi = "0.3"
# see https://github.com/johnthagen/min-sized-rust
[profile.release]
# Enables link time optimizations which tells the compiler to optimize code generation at link time and can result in dropping code that is not used.
lto = true
# Stops Rust generating a helpful stack trace and panic message when it panics. With this optimization it will be much harder to figure out what went wrong when the program crashes.
panic = 'abort'
# Tells the compiler to optimize for minimal code size. This will make the code less performant but it will take up less space.
opt-level = 'z'
strip = true
# Tells the compiler to use only one code generator instead of running several in parallel. Disabling parallel code generation makes the compilation slower but makes all optimizations possible.
codegen-units = 1
[features]
default = ["cli"]
test_remote = [] # feature has no explicit dependencies
cli = ["git2", "dep:human-panic", "dep:tracing-subscriber"]
git2 = ["dep:git2", "dep:git2_credentials"]
[package.metadata.binstall]
pkg-url = "{ repo }/releases/download/{ version }/{ name }_{ version }-{ target }{ archive-suffix }"
bin-dir = "{ name }_{ version }-{ target }/{ bin }{ binary-ext }"
pkg-fmt = "tgz"
[package.metadata.binstall.overrides.x86_64-pc-windows-msvc]
pkg-fmt = "zip"
[package.metadata.release]
pre-release-commit-message = "🚀 (cargo-release) version {{version}}"
tag-prefix = ""
tag-name = "{{prefix}}{{version}}"
tag-message = "🔖 {{version}}"