diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ae8ede8d..d700b4bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,7 +26,7 @@ cd spa && bun install && bun run dev 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: diff --git a/Cargo.lock b/Cargo.lock index 43d700aa..b95837c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -757,7 +757,7 @@ dependencies = [ "object-storage", "poster-fetcher", "reqwest 0.13.3", - "rss 0.1.0", + "rss-adapter", "rustls", "serde_json", "sqlite", @@ -4352,15 +4352,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "rss" -version = "0.1.0" -dependencies = [ - "chrono", - "domain", - "rss 2.0.13", -] - [[package]] name = "rss" version = "2.0.13" @@ -4372,6 +4363,15 @@ dependencies = [ "quick-xml 0.39.4", ] +[[package]] +name = "rss-adapter" +version = "0.1.0" +dependencies = [ + "chrono", + "domain", + "rss", +] + [[package]] name = "rust-embed" version = "8.11.0" diff --git a/Cargo.toml b/Cargo.toml index ac385392..494cc871 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ default-members = [ "crates/adapters/metadata", "crates/adapters/poster-fetcher", "crates/adapters/object-storage", - "crates/adapters/rss", + "crates/adapters/rss-adapter", "crates/adapters/sqlite", "crates/adapters/sqlite-federation", "crates/adapters/activitypub", @@ -31,7 +31,7 @@ members = [ "crates/adapters/metadata", "crates/adapters/poster-fetcher", "crates/adapters/object-storage", - "crates/adapters/rss", + "crates/adapters/rss-adapter", "crates/adapters/sqlite", "crates/adapters/sqlite-federation", "crates/adapters/activitypub", @@ -110,7 +110,7 @@ calamine = "0.35" image = { version = "0.25", default-features = false } ravif = { version = "0.11", default-features = false } webp = "0.3" -rss-feed = { package = "rss", version = "2" } +rss = { version = "2" } ratatui = "0.30.0" keyring-core = "1.0.0" directories = "6" @@ -126,7 +126,7 @@ metadata = { path = "crates/adapters/metadata" } poster-fetcher = { path = "crates/adapters/poster-fetcher" } object-storage = { path = "crates/adapters/object-storage" } event-publisher = { path = "crates/adapters/event-publisher" } -rss = { path = "crates/adapters/rss" } +rss-adapter = { path = "crates/adapters/rss-adapter" } export = { path = "crates/adapters/export" } sqlite = { path = "crates/adapters/sqlite" } sqlite-federation = { path = "crates/adapters/sqlite-federation" } @@ -146,5 +146,4 @@ opt-level = 2 # compile deps faster at runtime; paid once, cached [profile.release] codegen-units = 1 -lto = "thin" strip = true diff --git a/crates/adapters/rss/Cargo.toml b/crates/adapters/rss-adapter/Cargo.toml similarity index 75% rename from crates/adapters/rss/Cargo.toml rename to crates/adapters/rss-adapter/Cargo.toml index d7d7ef2c..0aa00aac 100644 --- a/crates/adapters/rss/Cargo.toml +++ b/crates/adapters/rss-adapter/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "rss" +name = "rss-adapter" version = "0.1.0" edition.workspace = true [dependencies] -rss-feed = { workspace = true, features = ["atom"] } +rss = { workspace = true, features = ["atom"] } domain = { workspace = true } [dev-dependencies] diff --git a/crates/adapters/rss/src/lib.rs b/crates/adapters/rss-adapter/src/lib.rs similarity index 95% rename from crates/adapters/rss/src/lib.rs rename to crates/adapters/rss-adapter/src/lib.rs index f873f22d..ab94efaf 100644 --- a/crates/adapters/rss/src/lib.rs +++ b/crates/adapters/rss-adapter/src/lib.rs @@ -1,8 +1,8 @@ use domain::errors::DomainError; use domain::models::DiaryEntry; use domain::ports::{FeedChannel, RssFeedRenderer}; -use rss_feed::extension::atom::{self, AtomExtensionBuilder, Link}; -use rss_feed::{ChannelBuilder, GuidBuilder, ItemBuilder}; +use rss::extension::atom::{self, AtomExtensionBuilder, Link}; +use rss::{ChannelBuilder, GuidBuilder, ItemBuilder}; pub struct RssAdapter { base_url: String, diff --git a/crates/adapters/rss/tests/rss_adapter_test.rs b/crates/adapters/rss-adapter/tests/rss_adapter_test.rs similarity index 98% rename from crates/adapters/rss/tests/rss_adapter_test.rs rename to crates/adapters/rss-adapter/tests/rss_adapter_test.rs index 511b19c9..00ac7dc2 100644 --- a/crates/adapters/rss/tests/rss_adapter_test.rs +++ b/crates/adapters/rss-adapter/tests/rss_adapter_test.rs @@ -3,7 +3,7 @@ use domain::models::ReviewEdit; use domain::ports::{FeedChannel, RssFeedRenderer}; use domain::testing::{test_movie_with_year, test_review}; use domain::value_objects::{Comment, UserId}; -use rss::RssAdapter; +use rss_adapter::RssAdapter; fn channel<'a>(title: &'a str) -> FeedChannel<'a> { FeedChannel { diff --git a/crates/bootstrap/Cargo.toml b/crates/bootstrap/Cargo.toml index 231239f2..04f70636 100644 --- a/crates/bootstrap/Cargo.toml +++ b/crates/bootstrap/Cargo.toml @@ -26,7 +26,7 @@ tmdb-enrichment = { workspace = true } image-converter = { workspace = true } export = { workspace = true } importer = { workspace = true } -rss = { workspace = true } +rss-adapter = { workspace = true } media-server = { workspace = true } sqlite = { workspace = true } sqlx = { workspace = true } diff --git a/crates/bootstrap/src/server.rs b/crates/bootstrap/src/server.rs index ef678e69..6cb49955 100644 --- a/crates/bootstrap/src/server.rs +++ b/crates/bootstrap/src/server.rs @@ -9,7 +9,7 @@ use export::ExportAdapter; use http_axum::context::AppContext; use http_axum::{openapi, router, state::AppState}; use importer::ImporterDocumentParser; -use rss::RssAdapter; +use rss_adapter::RssAdapter; use crate::database::{self, DatabaseOutput}; use crate::{Repositories, event_bus, federation};