[package] name = "cpkg-bin" description = "The cross-platform meta package manager" version = "0.1.0" edition = "2021" rust-version = "1.74" build = "build.rs" license = "MIT" license-file = "LICENSE" repository = "https://github.com/AMS21/cpkg" readme = "README.md" exclude = [ ".github/*", ".gitignore", ".gitattributes", "database.toml", "deny.toml", ".clippy.toml", "tests/*", ] [lib] name = "cpkg" path = "src/lib.rs" [[bin]] name = "cpkg" path = "src/main.rs" [dependencies] clap = { version = "4.5.20", features = [ "std", "color", "help", "usage", "error-context", "suggestions", "cargo", ], default-features = false } color-eyre = { version = "0.6.3", default-features = false } serde = { version = "1.0.210", features = ["derive"], default-features = false } thiserror = { version = "1.0.64", default-features = false } toml = { version = "0.8.19", features = ["parse"], default-features = false } which = { version = "6.0.3", default-features = false } [build-dependencies] clap = { version = "4.5.20", features = ["cargo"], default-features = false } clap_complete = { version = "4.5.33", default-features = false } clap_complete_fig = { version = "4.5.2", default-features = false } clap_complete_nushell = { version = "4.5.4", default-features = false } clap_mangen = { version = "0.2.24", default-features = false } [dev-dependencies] assert_cmd = { version = "2.0.16", default-features = false } [features] default = ["apt", "pamac"] # Package providers apt = [] pamac = [] [profile.release] codegen-units = 1 lto = "fat" strip = "symbols" # Enable high optimizations for dependencies but not for our code: [profile.dev.package."*"] opt-level = 3 # Configure lints [lints.rust] #unknown_lints = "warn" non_ascii_idents = "deny" [lints.clippy] # Allowed lints missing_errors_doc = "allow" # Enable clippy lint groups pedantic = { level = "warn", priority = -1 } nursery = { level = "warn", priority = -1 } # Enable specific clippy restriction lints allow_attributes = "warn" as_underscore = "warn" dbg_macro = "warn" empty_drop = "warn" empty_enum_variants_with_brackets = "warn" empty_structs_with_brackets = "warn" format_push_string = "warn" if_then_some_else_none = "warn" impl_trait_in_params = "warn" indexing_slicing = "warn" infinite_loop = "warn" let_underscore_must_use = "warn" mem_forget = "warn" missing_asserts_for_indexing = "warn" multiple_inherent_impl = "warn" needless_raw_strings = "warn" rc_buffer = "warn" rc_mutex = "warn" redundant_type_annotations = "warn" rest_pat_in_fully_bound_structs = "warn" str_to_string = "warn" string_lit_chars_any = "warn" string_to_string = "warn" try_err = "warn" undocumented_unsafe_blocks = "warn" unnecessary_safety_comment = "warn" unnecessary_safety_doc = "warn" unnecessary_self_imports = "warn" use_debug = "warn" verbose_file_reads = "warn" wildcard_enum_match_arm = "warn" # Denied clippy lints exit = "deny" expect_used = "deny" get_unwrap = "deny" missing_assert_message = "deny" multiple_unsafe_ops_per_block = "deny" panic = "deny" panic_in_result_fn = "deny" ref_patterns = "deny" todo = "deny" unimplemented = "deny" unreachable = "deny" unwrap_in_result = "deny" unwrap_used = "deny"