1
0
Fork 0
lilac/Cargo.toml

219 lines
4.7 KiB
TOML

####################
# Package Metadata #
####################
[package]
name = "lilac"
version = "0.3.3"
authors = ["cata cata@distruzione.org"]
edition = "2024"
description = "Manage your own distro"
homepage = "https://git.gay/cata/lilac"
repository = "https://git.gay/cata/lilac"
license = "MIT"
publish = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
#################
# Build Targets #
#################
[lib]
doctest = false
name = "lilac"
[[bin]]
name = "lac"
path = "cli/main.rs"
required-features = ["cli"]
############
# Features #
############
[features]
default = [
"src-http",
"src-git",
"builder",
"cli",
# "unsafe",
]
# Lilac CLI Interface
cli = [
"env_logger",
"owo-colors",
"encode",
"clap",
"glob",
"toml",
]
# Enable encoding and decoding pool to bytes
encode = [
"rmp-serde",
"serde",
]
# Enable building packages from recipes
builder = [
"walkdir",
"serde",
"glob",
"mlua",
"encode",
"bubblewrap",
]
# Enable git sources for builder
src-git = [
"_src-any",
"builder", # required logically, not practically
"git2",
"url",
]
# Enable http(s) sources for builder
src-http = [
"_src-any",
"builder", # required logically, not practically
"ureq",
"url",
"hex",
]
# Internal use only
unsafe = []
_src-any = []
################
# Dependencies #
################
[dependencies]
# Required
sha1 = "0.10.6"
fs-err = "3.1"
log = "0.4"
# Optional
toml = { optional = true, default-features = false, features = ["std", "serde", "parse"], version = "0.9"}
ureq = { optional = true, default-features = false, features = ["gzip", "native-tls"], version = "3.1"}
mlua = { optional = true, features = ["lua54", "serde"], version = "0.11" }
bubblewrap = { optional = true, git = "https://git.gay/cata/bubblewrap" }
serde = { optional = true, features = ["derive"], version = "1.0" }
clap = { optional = true, features = ["derive"], version = "4.5" }
env_logger = { optional = true, version = "0.11" }
owo-colors = { optional = true, version = "4.2" }
rmp-serde = { optional = true, version = "1.3" }
walkdir = { optional = true, version = "2.5" }
git2 = { optional = true, version = "0.20" }
glob = { optional = true, version = "0.3" }
hex = { optional = true, version = "0.4" }
url = { optional = true, version = "2.5" }
[dev-dependencies]
[patch.crates-io]
# https://github.com/3Hren/msgpack-rust/pull/366
rmp = { git = "https://github.com/Jake-Shadle/msgpack-rust", rev = "31fe7eedc57930fa9084bbfe83e83f6e9c4a84e6" }
##################
# Build Profiles #
##################
[profile.dev]
debug = false
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
[profile.tiny]
inherits = "release"
opt-level = "z"
debug = false
strip = true
codegen-units = 1
incremental = false
panic = "abort"
#######################
# Lints Configuration #
#######################
[lints.rust]
absolute-paths-not-starting-with-crate = "deny"
elided-lifetimes-in-paths = "warn"
explicit-outlives-requirements = "warn"
linker-messages = "deny"
# missing-copy-implementations = "warn"
missing-docs = "deny"
non-ascii-idents = "deny"
redundant-imports = "warn"
redundant-lifetimes = "warn"
single-use-lifetimes = "warn"
# supertrait-item-shadowing-definition = "deny"
# supertrait-item-shadowing-usage = "deny"
unit-bindings = "warn"
unnameable-types = "warn"
# unqualified-local-imports = "warn"
unreachable-pub = "warn"
unsafe-code = "forbid"
# unstable-features = "deny"
unused-lifetimes = "warn"
unused-qualifications = "warn"
variant-size-differences = "warn"
[lints.clippy]
# cargo
cargo = { priority = -1, level = "warn" }
multiple_crate_versions = "allow"
# complexity
# correctness
# nursery
nursery = { priority = -1, level = "warn" }
option_if_let_else = "allow"
uninhabited_references = "allow"
redundant_pub_crate = "allow"
# pedantic
pedantic = { priority = -1, level = "warn" }
doc_markdown = "allow"
missing_panics_doc = "allow"
missing_errors_doc = "allow"
large_stack_arrays = "allow"
# perf
# restriction
allow_attributes = "deny"
arithmetic_side_effects = "warn"
as_conversions = "warn"
assertions_on_result_states = "warn"
cfg_not_test = "deny"
empty_enum_variants_with_brackets = "warn"
empty_structs_with_brackets = "warn"
float_arithmetic = "deny"
float_cmp_const = "deny"
get_unwrap = "warn"
infinite_loop = "deny"
let_underscore_must_use = "warn"
pathbuf_init_then_push = "warn"
precedence_bits = "warn"
renamed_function_params = "deny"
rest_pat_in_fully_bound_structs = "warn"
return_and_then = "warn"
semicolon_inside_block = "warn"
shadow_same = "warn"
shadow_unrelated = "warn"
str_to_string = "warn"
string_add = "deny"
string_lit_chars_any = "warn"
tests_outside_test_module = "deny"
unused_result_ok = "warn"
# style
new_without_default = "allow"
# suspicious