# yt - A fully featured command line YouTube client # # Copyright (C) 2024 Benedikt Peetz # SPDX-License-Identifier: GPL-3.0-or-later # # This file is part of Yt. # # You should have received a copy of the License along with this program. # If not, see . [workspace] resolver = "2" members = [ "crates/bytes", "crates/yt_dlp", "crates/libmpv2", "crates/libmpv2/libmpv2-sys", "yt", ] [workspace.package] edition = "2021" version = "1.3.1" rust-version = "1.80.0" authors = ["Benedikt Peetz "] repository = "https://git.vhack.eu/soispha/clients/yt" license = "GPL-3.0-or-later" description = "A fully featured command line YouTube client" [workspace.dependencies] # Own Crates yt_dlp = { path = "./crates/yt_dlp" } bytes = { path = "./crates/bytes" } libmpv2 = { path = "./crates/libmpv2" } # Shared log = "0.4.22" serde = { version = "1.0.214", features = ["derive"] } serde_json = "1.0.132" url = { version = "2.5.3", features = ["serde"] } tokio = { version = "1.41.0", features = [ "rt-multi-thread", "macros", "process", "time", "io-std", ] } [profile.profiling] inherits = "release" debug = true [profile.release] lto = true codegen-units = 1 panic = "abort" split-debuginfo = "off" [workspace.lints.rust] # rustc lint groups https://doc.rust-lang.org/rustc/lints/groups.html warnings = "warn" future_incompatible = { level = "warn", priority = -1 } let_underscore = { level = "warn", priority = -1 } nonstandard_style = { level = "warn", priority = -1 } rust_2018_compatibility = { level = "warn", priority = -1 } rust_2018_idioms = { level = "warn", priority = -1 } rust_2021_compatibility = { level = "warn", priority = -1 } unused = { level = "warn", priority = -1 } # rustc allowed-by-default lints https://doc.rust-lang.org/rustc/lints/listing/allowed-by-default.html # missing_docs = "warn" macro_use_extern_crate = "warn" meta_variable_misuse = "warn" missing_abi = "warn" missing_copy_implementations = "warn" missing_debug_implementations = "warn" non_ascii_idents = "warn" noop_method_call = "warn" single_use_lifetimes = "warn" trivial_casts = "warn" trivial_numeric_casts = "warn" unreachable_pub = "warn" unsafe_op_in_unsafe_fn = "warn" unused_crate_dependencies = "warn" unused_import_braces = "warn" unused_lifetimes = "warn" unused_qualifications = "warn" variant_size_differences = "warn" [workspace.lints.rustdoc] # rustdoc lints https://doc.rust-lang.org/rustdoc/lints.html broken_intra_doc_links = "warn" private_intra_doc_links = "warn" missing_crate_level_docs = "warn" private_doc_tests = "warn" invalid_codeblock_attributes = "warn" invalid_rust_codeblocks = "warn" bare_urls = "warn" [workspace.lints.clippy] # clippy allowed by default dbg_macro = "warn" # clippy categories https://doc.rust-lang.org/clippy/ all = { level = "warn", priority = -1 } correctness = { level = "warn", priority = -1 } suspicious = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } complexity = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } pedantic = { level = "warn", priority = -1 }