[package] name = "ffizer" version = "2.13.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"] } cliclack = "0.3" console = "0.15" directories = "5.0" git2 = { version = "0.18", optional = true } git2_credentials = { version = "0.13", optional = true } globset = "0.4" handlebars = "6.2" handlebars_misc_helpers = { version = "0.17", features = [ "string", "http_reqwest", "json", "jsonnet", ], default-features = false } human-panic = { version = "2", optional = true } lazy_static = "1.4" md5 = "0.7" regex = "1.7" run_script = "0.11" 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.1" pretty_assertions = "1.3" rstest = "0.23" # 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}}"