rename rss crate to rss-adapter (chef fingerprint clash); drop thin lto; CONTRIBUTING guards
This commit is contained in:
@@ -26,7 +26,7 @@ cd spa && bun install && bun run dev
|
|||||||
make check # the full gate; plain `make` runs it too
|
make check # the full gate; plain `make` runs it too
|
||||||
```
|
```
|
||||||
|
|
||||||
`make check` runs, in order: `fmt-check`, `clippy` (workspace, all targets, `-D warnings`), `test`, `test-federation-off` (workspace tests with default features off), then the layering guards (`check-appcontext`, `check-handler-deps`, `check-handler-repos`, `check-http-adapter-deps`, `check-federation-off-social`, `check-sqlite-is-ap-free`, `check-binaries-are-thin`, `check-dockerfile-manifests`). CI runs the same steps.
|
`make check` runs, in order: `fmt-check`, `clippy` (workspace, all targets, `-D warnings`), `test`, `test-federation-off` (workspace tests with default features off), then the layering guards (`check-appcontext`, `check-handler-deps`, `check-handler-repos`, `check-http-adapter-deps`, `check-federation-off-social`, `check-sqlite-is-ap-free`, `check-binaries-are-thin`, `check-federation-off-deps`, `check-nats-isolated`, `check-no-second-web-stack`). CI runs the same steps.
|
||||||
|
|
||||||
For the SPA also run:
|
For the SPA also run:
|
||||||
|
|
||||||
|
|||||||
20
Cargo.lock
generated
20
Cargo.lock
generated
@@ -757,7 +757,7 @@ dependencies = [
|
|||||||
"object-storage",
|
"object-storage",
|
||||||
"poster-fetcher",
|
"poster-fetcher",
|
||||||
"reqwest 0.13.3",
|
"reqwest 0.13.3",
|
||||||
"rss 0.1.0",
|
"rss-adapter",
|
||||||
"rustls",
|
"rustls",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sqlite",
|
"sqlite",
|
||||||
@@ -4352,15 +4352,6 @@ dependencies = [
|
|||||||
"zeroize",
|
"zeroize",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rss"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"chrono",
|
|
||||||
"domain",
|
|
||||||
"rss 2.0.13",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rss"
|
name = "rss"
|
||||||
version = "2.0.13"
|
version = "2.0.13"
|
||||||
@@ -4372,6 +4363,15 @@ dependencies = [
|
|||||||
"quick-xml 0.39.4",
|
"quick-xml 0.39.4",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "rss-adapter"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"chrono",
|
||||||
|
"domain",
|
||||||
|
"rss",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rust-embed"
|
name = "rust-embed"
|
||||||
version = "8.11.0"
|
version = "8.11.0"
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ default-members = [
|
|||||||
"crates/adapters/metadata",
|
"crates/adapters/metadata",
|
||||||
"crates/adapters/poster-fetcher",
|
"crates/adapters/poster-fetcher",
|
||||||
"crates/adapters/object-storage",
|
"crates/adapters/object-storage",
|
||||||
"crates/adapters/rss",
|
"crates/adapters/rss-adapter",
|
||||||
"crates/adapters/sqlite",
|
"crates/adapters/sqlite",
|
||||||
"crates/adapters/sqlite-federation",
|
"crates/adapters/sqlite-federation",
|
||||||
"crates/adapters/activitypub",
|
"crates/adapters/activitypub",
|
||||||
@@ -31,7 +31,7 @@ members = [
|
|||||||
"crates/adapters/metadata",
|
"crates/adapters/metadata",
|
||||||
"crates/adapters/poster-fetcher",
|
"crates/adapters/poster-fetcher",
|
||||||
"crates/adapters/object-storage",
|
"crates/adapters/object-storage",
|
||||||
"crates/adapters/rss",
|
"crates/adapters/rss-adapter",
|
||||||
"crates/adapters/sqlite",
|
"crates/adapters/sqlite",
|
||||||
"crates/adapters/sqlite-federation",
|
"crates/adapters/sqlite-federation",
|
||||||
"crates/adapters/activitypub",
|
"crates/adapters/activitypub",
|
||||||
@@ -110,7 +110,7 @@ calamine = "0.35"
|
|||||||
image = { version = "0.25", default-features = false }
|
image = { version = "0.25", default-features = false }
|
||||||
ravif = { version = "0.11", default-features = false }
|
ravif = { version = "0.11", default-features = false }
|
||||||
webp = "0.3"
|
webp = "0.3"
|
||||||
rss-feed = { package = "rss", version = "2" }
|
rss = { version = "2" }
|
||||||
ratatui = "0.30.0"
|
ratatui = "0.30.0"
|
||||||
keyring-core = "1.0.0"
|
keyring-core = "1.0.0"
|
||||||
directories = "6"
|
directories = "6"
|
||||||
@@ -126,7 +126,7 @@ metadata = { path = "crates/adapters/metadata" }
|
|||||||
poster-fetcher = { path = "crates/adapters/poster-fetcher" }
|
poster-fetcher = { path = "crates/adapters/poster-fetcher" }
|
||||||
object-storage = { path = "crates/adapters/object-storage" }
|
object-storage = { path = "crates/adapters/object-storage" }
|
||||||
event-publisher = { path = "crates/adapters/event-publisher" }
|
event-publisher = { path = "crates/adapters/event-publisher" }
|
||||||
rss = { path = "crates/adapters/rss" }
|
rss-adapter = { path = "crates/adapters/rss-adapter" }
|
||||||
export = { path = "crates/adapters/export" }
|
export = { path = "crates/adapters/export" }
|
||||||
sqlite = { path = "crates/adapters/sqlite" }
|
sqlite = { path = "crates/adapters/sqlite" }
|
||||||
sqlite-federation = { path = "crates/adapters/sqlite-federation" }
|
sqlite-federation = { path = "crates/adapters/sqlite-federation" }
|
||||||
@@ -146,5 +146,4 @@ opt-level = 2 # compile deps faster at runtime; paid once, cached
|
|||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
codegen-units = 1
|
codegen-units = 1
|
||||||
lto = "thin"
|
|
||||||
strip = true
|
strip = true
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "rss"
|
name = "rss-adapter"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rss-feed = { workspace = true, features = ["atom"] }
|
rss = { workspace = true, features = ["atom"] }
|
||||||
domain = { workspace = true }
|
domain = { workspace = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
use domain::errors::DomainError;
|
use domain::errors::DomainError;
|
||||||
use domain::models::DiaryEntry;
|
use domain::models::DiaryEntry;
|
||||||
use domain::ports::{FeedChannel, RssFeedRenderer};
|
use domain::ports::{FeedChannel, RssFeedRenderer};
|
||||||
use rss_feed::extension::atom::{self, AtomExtensionBuilder, Link};
|
use rss::extension::atom::{self, AtomExtensionBuilder, Link};
|
||||||
use rss_feed::{ChannelBuilder, GuidBuilder, ItemBuilder};
|
use rss::{ChannelBuilder, GuidBuilder, ItemBuilder};
|
||||||
|
|
||||||
pub struct RssAdapter {
|
pub struct RssAdapter {
|
||||||
base_url: String,
|
base_url: String,
|
||||||
@@ -3,7 +3,7 @@ use domain::models::ReviewEdit;
|
|||||||
use domain::ports::{FeedChannel, RssFeedRenderer};
|
use domain::ports::{FeedChannel, RssFeedRenderer};
|
||||||
use domain::testing::{test_movie_with_year, test_review};
|
use domain::testing::{test_movie_with_year, test_review};
|
||||||
use domain::value_objects::{Comment, UserId};
|
use domain::value_objects::{Comment, UserId};
|
||||||
use rss::RssAdapter;
|
use rss_adapter::RssAdapter;
|
||||||
|
|
||||||
fn channel<'a>(title: &'a str) -> FeedChannel<'a> {
|
fn channel<'a>(title: &'a str) -> FeedChannel<'a> {
|
||||||
FeedChannel {
|
FeedChannel {
|
||||||
@@ -26,7 +26,7 @@ tmdb-enrichment = { workspace = true }
|
|||||||
image-converter = { workspace = true }
|
image-converter = { workspace = true }
|
||||||
export = { workspace = true }
|
export = { workspace = true }
|
||||||
importer = { workspace = true }
|
importer = { workspace = true }
|
||||||
rss = { workspace = true }
|
rss-adapter = { workspace = true }
|
||||||
media-server = { workspace = true }
|
media-server = { workspace = true }
|
||||||
sqlite = { workspace = true }
|
sqlite = { workspace = true }
|
||||||
sqlx = { workspace = true }
|
sqlx = { workspace = true }
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ use export::ExportAdapter;
|
|||||||
use http_axum::context::AppContext;
|
use http_axum::context::AppContext;
|
||||||
use http_axum::{openapi, router, state::AppState};
|
use http_axum::{openapi, router, state::AppState};
|
||||||
use importer::ImporterDocumentParser;
|
use importer::ImporterDocumentParser;
|
||||||
use rss::RssAdapter;
|
use rss_adapter::RssAdapter;
|
||||||
|
|
||||||
use crate::database::{self, DatabaseOutput};
|
use crate::database::{self, DatabaseOutput};
|
||||||
use crate::{Repositories, event_bus, federation};
|
use crate::{Repositories, event_bus, federation};
|
||||||
|
|||||||
Reference in New Issue
Block a user