mirror of https://github.com/LemmyNet/lemmy.git
Simplify features
parent
5bb2e4fbfd
commit
e186edc7ca
|
@ -23,20 +23,6 @@ workspace = true
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = [
|
default = [
|
||||||
"error",
|
|
||||||
"request",
|
|
||||||
"response",
|
|
||||||
"settings",
|
|
||||||
"misc",
|
|
||||||
"rate-limit",
|
|
||||||
"apub",
|
|
||||||
"cache-header",
|
|
||||||
"email",
|
|
||||||
]
|
|
||||||
full = ["default", "ts-rs"]
|
|
||||||
ts-rs = ["dep:ts-rs"]
|
|
||||||
error-type = ["dep:serde", "dep:strum"]
|
|
||||||
error = [
|
|
||||||
"error-type",
|
"error-type",
|
||||||
"dep:serde_json",
|
"dep:serde_json",
|
||||||
"dep:anyhow",
|
"dep:anyhow",
|
||||||
|
@ -44,11 +30,9 @@ error = [
|
||||||
"dep:diesel",
|
"dep:diesel",
|
||||||
"dep:http",
|
"dep:http",
|
||||||
"dep:actix-web",
|
"dep:actix-web",
|
||||||
]
|
"dep:reqwest-middleware",
|
||||||
request = ["dep:reqwest-middleware", "dep:tracing", "dep:strum"]
|
"dep:tracing",
|
||||||
response = ["error", "dep:actix-web"]
|
"dep:actix-web",
|
||||||
settings = [
|
|
||||||
"error",
|
|
||||||
"dep:deser-hjson",
|
"dep:deser-hjson",
|
||||||
"dep:regex",
|
"dep:regex",
|
||||||
"dep:urlencoding",
|
"dep:urlencoding",
|
||||||
|
@ -56,34 +40,20 @@ settings = [
|
||||||
"dep:url",
|
"dep:url",
|
||||||
"dep:once_cell",
|
"dep:once_cell",
|
||||||
"dep:smart-default",
|
"dep:smart-default",
|
||||||
]
|
|
||||||
rate-limit = [
|
|
||||||
"error",
|
|
||||||
"dep:enum-map",
|
"dep:enum-map",
|
||||||
"dep:tracing",
|
|
||||||
"dep:actix-web",
|
|
||||||
"dep:futures",
|
"dep:futures",
|
||||||
"dep:tokio",
|
"dep:tokio",
|
||||||
"dep:once_cell",
|
"dep:openssl",
|
||||||
]
|
|
||||||
apub = ["dep:openssl"]
|
|
||||||
cache-header = ["dep:actix-web"]
|
|
||||||
email = [
|
|
||||||
"error",
|
|
||||||
"settings",
|
|
||||||
"dep:html2text",
|
"dep:html2text",
|
||||||
"dep:lettre",
|
"dep:lettre",
|
||||||
"dep:uuid",
|
"dep:uuid",
|
||||||
"dep:rosetta-i18n",
|
"dep:rosetta-i18n",
|
||||||
]
|
|
||||||
misc = [
|
|
||||||
"settings",
|
|
||||||
"dep:itertools",
|
"dep:itertools",
|
||||||
"dep:markdown-it",
|
"dep:markdown-it",
|
||||||
"dep:tokio",
|
|
||||||
"dep:futures",
|
|
||||||
"dep:tracing",
|
|
||||||
]
|
]
|
||||||
|
full = ["default", "dep:ts-rs"]
|
||||||
|
error-type = ["dep:serde", "dep:strum"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
regex = { workspace = true, optional = true }
|
regex = { workspace = true, optional = true }
|
||||||
|
|
|
@ -2,7 +2,7 @@ use cfg_if::cfg_if;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use std::fmt::Debug;
|
use std::fmt::Debug;
|
||||||
use strum_macros::{Display, EnumIter};
|
use strum_macros::{Display, EnumIter};
|
||||||
#[cfg(feature = "ts-rs")]
|
#[cfg(feature = "full")]
|
||||||
use ts_rs::TS;
|
use ts_rs::TS;
|
||||||
|
|
||||||
#[derive(Display, Debug, Serialize, Deserialize, Clone, PartialEq, Eq, EnumIter, Hash)]
|
#[derive(Display, Debug, Serialize, Deserialize, Clone, PartialEq, Eq, EnumIter, Hash)]
|
||||||
|
@ -168,7 +168,7 @@ pub enum LemmyErrorType {
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg_if! {
|
cfg_if! {
|
||||||
if #[cfg(feature = "error")] {
|
if #[cfg(feature = "default")] {
|
||||||
|
|
||||||
use tracing_error::SpanTrace;
|
use tracing_error::SpanTrace;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
|
@ -1,22 +1,27 @@
|
||||||
#[cfg(feature = "apub")]
|
use cfg_if::cfg_if;
|
||||||
pub mod apub;
|
|
||||||
#[cfg(feature = "cache-header")]
|
cfg_if! {
|
||||||
pub mod cache_header;
|
if #[cfg(feature = "default")] {
|
||||||
#[cfg(feature = "email")]
|
pub mod apub;
|
||||||
pub mod email;
|
pub mod cache_header;
|
||||||
#[cfg(feature = "error-type")]
|
pub mod email;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
#[cfg(feature = "rate-limit")]
|
pub mod rate_limit;
|
||||||
pub mod rate_limit;
|
pub mod request;
|
||||||
#[cfg(feature = "request")]
|
pub mod response;
|
||||||
pub mod request;
|
pub mod settings;
|
||||||
#[cfg(feature = "response")]
|
pub mod utils;
|
||||||
pub mod response;
|
pub mod version;
|
||||||
#[cfg(feature = "settings")]
|
} else {
|
||||||
pub mod settings;
|
mod error;
|
||||||
#[cfg(feature = "misc")]
|
}
|
||||||
pub mod utils;
|
}
|
||||||
pub mod version;
|
|
||||||
|
cfg_if! {
|
||||||
|
if #[cfg(feature = "error-type")] {
|
||||||
|
pub use error::LemmyErrorType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
|
@ -36,7 +41,7 @@ macro_rules! location_info {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "misc")]
|
#[cfg(feature = "default")]
|
||||||
/// 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
|
||||||
|
|
Loading…
Reference in New Issue