remove-error-type-feature
Felix Ableitner 2024-02-26 11:12:30 +01:00
parent 9742e8d5c1
commit a69317be6f
12 changed files with 87 additions and 84 deletions

View File

@ -18,7 +18,7 @@ doctest = false
workspace = true workspace = true
[dependencies] [dependencies]
lemmy_utils = { workspace = true, features = ["default"] } lemmy_utils = { workspace = true }
lemmy_db_schema = { workspace = true, features = ["full"] } lemmy_db_schema = { workspace = true, features = ["full"] }
lemmy_db_views = { workspace = true, features = ["full"] } lemmy_db_views = { workspace = true, features = ["full"] }
lemmy_db_views_moderator = { workspace = true, features = ["full"] } lemmy_db_views_moderator = { workspace = true, features = ["full"] }

View File

@ -23,7 +23,7 @@ full = [
"lemmy_db_views/full", "lemmy_db_views/full",
"lemmy_db_views_actor/full", "lemmy_db_views_actor/full",
"lemmy_db_views_moderator/full", "lemmy_db_views_moderator/full",
"lemmy_utils/default", "lemmy_utils/full",
"activitypub_federation", "activitypub_federation",
"encoding", "encoding",
"reqwest-middleware", "reqwest-middleware",

View File

@ -13,7 +13,7 @@ repository.workspace = true
workspace = true workspace = true
[dependencies] [dependencies]
lemmy_utils = { workspace = true, features = ["default"] } lemmy_utils = { workspace = true, features = ["full"] }
lemmy_db_schema = { workspace = true, features = ["full"] } lemmy_db_schema = { workspace = true, features = ["full"] }
lemmy_db_views = { workspace = true, features = ["full"] } lemmy_db_views = { workspace = true, features = ["full"] }
lemmy_db_views_actor = { workspace = true, features = ["full"] } lemmy_db_views_actor = { workspace = true, features = ["full"] }

View File

@ -18,7 +18,7 @@ doctest = false
workspace = true workspace = true
[dependencies] [dependencies]
lemmy_utils = { workspace = true, features = ["default"] } lemmy_utils = { workspace = true, features = ["full"] }
lemmy_db_schema = { workspace = true, features = ["full"] } lemmy_db_schema = { workspace = true, features = ["full"] }
lemmy_db_views = { workspace = true, features = ["full"] } lemmy_db_views = { workspace = true, features = ["full"] }
lemmy_db_views_actor = { workspace = true, features = ["full"] } lemmy_db_views_actor = { workspace = true, features = ["full"] }

View File

@ -19,6 +19,6 @@ diesel = { workspace = true }
diesel-async = { workspace = true } diesel-async = { workspace = true }
lemmy_db_schema = { workspace = true } lemmy_db_schema = { workspace = true }
lemmy_db_views = { workspace = true, features = ["full"] } lemmy_db_views = { workspace = true, features = ["full"] }
lemmy_utils = { workspace = true, features = ["default"] } lemmy_utils = { workspace = true, features = ["full"] }
tokio = { workspace = true } tokio = { workspace = true }
url = { workspace = true } url = { workspace = true }

View File

@ -18,6 +18,7 @@ workspace = true
[features] [features]
full = [ full = [
"lemmy_utils/full",
"diesel", "diesel",
"diesel-derive-newtype", "diesel-derive-newtype",
"diesel-derive-enum", "diesel-derive-enum",
@ -48,7 +49,7 @@ strum = { workspace = true }
strum_macros = { workspace = true } strum_macros = { workspace = true }
serde_json = { workspace = true, optional = true } serde_json = { workspace = true, optional = true }
activitypub_federation = { workspace = true, optional = true } activitypub_federation = { workspace = true, optional = true }
lemmy_utils = { workspace = true, optional = true, features = ["default"] } lemmy_utils = { workspace = true, optional = true }
bcrypt = { workspace = true, optional = true } bcrypt = { workspace = true, optional = true }
diesel = { workspace = true, features = [ diesel = { workspace = true, features = [
"postgres", "postgres",

View File

@ -29,7 +29,7 @@ full = [
[dependencies] [dependencies]
lemmy_db_schema = { workspace = true } lemmy_db_schema = { workspace = true }
lemmy_utils = { workspace = true, optional = true, features = ["default"] } lemmy_utils = { workspace = true, optional = true }
diesel = { workspace = true, optional = true } diesel = { workspace = true, optional = true }
diesel-async = { workspace = true, optional = true } diesel-async = { workspace = true, optional = true }
diesel_ltree = { workspace = true, optional = true } diesel_ltree = { workspace = true, optional = true }

View File

@ -16,7 +16,7 @@ doctest = false
workspace = true workspace = true
[dependencies] [dependencies]
lemmy_utils = { workspace = true, features = ["default"] } lemmy_utils = { workspace = true, features = ["full"] }
lemmy_db_views = { workspace = true } lemmy_db_views = { workspace = true }
lemmy_db_views_actor = { workspace = true } lemmy_db_views_actor = { workspace = true }
lemmy_db_schema = { workspace = true } lemmy_db_schema = { workspace = true }

View File

@ -16,24 +16,23 @@ doctest = false
[[bin]] [[bin]]
name = "lemmy_util_bin" name = "lemmy_util_bin"
path = "src/main.rs" path = "src/main.rs"
required-features = ["default"]
[lints] [lints]
workspace = true workspace = true
[features] [features]
default = [ full = [
"dep:serde", "dep:ts-rs",
"dep:strum",
"dep:serde_json",
"dep:anyhow",
"dep:tracing-error",
"dep:diesel", "dep:diesel",
"dep:http", "dep:rosetta-i18n",
"dep:actix-web", "dep:actix-web",
"dep:reqwest-middleware", "dep:reqwest-middleware",
"dep:tracing", "dep:tracing",
"dep:actix-web", "dep:actix-web",
"dep:serde_json",
"dep:anyhow",
"dep:tracing-error",
"dep:http",
"dep:deser-hjson", "dep:deser-hjson",
"dep:regex", "dep:regex",
"dep:urlencoding", "dep:urlencoding",
@ -48,26 +47,23 @@ default = [
"dep:html2text", "dep:html2text",
"dep:lettre", "dep:lettre",
"dep:uuid", "dep:uuid",
"dep:rosetta-i18n",
"dep:itertools", "dep:itertools",
"dep:markdown-it", "dep:markdown-it",
] ]
full = ["default", "dep:ts-rs"]
[dependencies] [dependencies]
regex = { workspace = true, optional = true } regex = { workspace = true, optional = true }
tracing = { workspace = true, optional = true } tracing = { workspace = true, optional = true }
tracing-error = { workspace = true, optional = true } tracing-error = { workspace = true, optional = true }
itertools = { workspace = true, optional = true } itertools = { workspace = true, optional = true }
serde = { workspace = true, optional = true } serde = { workspace = true }
serde_json = { workspace = true, optional = true } serde_json = { workspace = true, optional = true }
once_cell = { workspace = true, optional = true } once_cell = { workspace = true, optional = true }
url = { workspace = true, optional = true } url = { workspace = true, optional = true }
actix-web = { workspace = true, optional = true } actix-web = { workspace = true, optional = true }
anyhow = { workspace = true, optional = true } anyhow = { workspace = true, optional = true }
reqwest-middleware = { workspace = true, optional = true } reqwest-middleware = { workspace = true, optional = true }
strum = { workspace = true, optional = true } strum = { workspace = true }
strum_macros = { workspace = true } strum_macros = { workspace = true }
futures = { workspace = true, optional = true } futures = { workspace = true, optional = true }
diesel = { workspace = true, features = ["chrono"], optional = true } diesel = { workspace = true, features = ["chrono"], optional = true }

View File

@ -168,7 +168,7 @@ pub enum LemmyErrorType {
} }
cfg_if! { cfg_if! {
if #[cfg(feature = "default")] { if #[cfg(feature = "full")] {
use tracing_error::SpanTrace; use tracing_error::SpanTrace;
use std::fmt; use std::fmt;
@ -276,8 +276,6 @@ cfg_if! {
self.map_err(|e| e.inner) self.map_err(|e| e.inner)
} }
} }
}
}
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
@ -325,3 +323,5 @@ mod tests {
}); });
} }
} }
}
}

View File

@ -1,23 +1,21 @@
use cfg_if::cfg_if; use cfg_if::cfg_if;
cfg_if! { cfg_if! {
if #[cfg(feature = "default")] { if #[cfg(feature = "full")] {
pub mod apub; pub mod apub;
pub mod cache_header; pub mod cache_header;
pub mod email; pub mod email;
pub mod error;
pub mod rate_limit; pub mod rate_limit;
pub mod request; pub mod request;
pub mod response; pub mod response;
pub mod settings; pub mod settings;
pub mod utils; pub mod utils;
pub mod version; pub mod version;
pub use error::LemmyErrorType;
} else {
mod error;
} }
} }
pub mod error;
pub use error::LemmyErrorType;
use std::time::Duration; use std::time::Duration;
pub type ConnectionId = usize; pub type ConnectionId = usize;
@ -36,7 +34,7 @@ macro_rules! location_info {
}; };
} }
#[cfg(feature = "default")] #[cfg(feature = "full")]
/// tokio::spawn, but accepts a future that may fail and also /// tokio::spawn, but accepts a future that may fail and also
/// * logs errors /// * logs errors
/// * attaches the spawned task to the tracing span of the caller for better logging /// * attaches the spawned task to the tracing span of the caller for better logging

View File

@ -1,6 +1,10 @@
use cfg_if::cfg_if;
fn main() {
cfg_if! {
if #[cfg(feature = "full")] {
use doku::json::{AutoComments, CommentsStyle, Formatting, ObjectsStyle}; use doku::json::{AutoComments, CommentsStyle, Formatting, ObjectsStyle};
use lemmy_utils::settings::structs::Settings; use lemmy_utils::settings::structs::Settings;
fn main() {
let fmt = Formatting { let fmt = Formatting {
auto_comments: AutoComments::none(), auto_comments: AutoComments::none(),
comments_style: CommentsStyle { comments_style: CommentsStyle {
@ -13,4 +17,8 @@ fn main() {
..Default::default() ..Default::default()
}; };
println!("{}", doku::to_json_fmt_val(&fmt, &Settings::default())); println!("{}", doku::to_json_fmt_val(&fmt, &Settings::default()));
} else {
}
}
} }