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
111
|
# yt - A fully featured command line YouTube client
#
# Copyright (C) 2024 Benedikt Peetz <benedikt.peetz@b-peetz.de>
# 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 <https://www.gnu.org/licenses/gpl-3.0.txt>.
[workspace]
resolver = "2"
members = [
"crates/bytes",
"crates/yt_dlp",
"crates/libmpv2",
"crates/libmpv2/libmpv2-sys",
"yt",
]
[workspace.package]
edition = "2021"
version = "1.4.0"
rust-version = "1.80.0"
authors = ["Benedikt Peetz <benedikt.peetz@b-peetz.de>"]
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.216", features = ["derive"] }
serde_json = "1.0.133"
url = { version = "2.5.4", features = ["serde"] }
tokio = { version = "1.42.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 }
|