diff --git a/src/collection/album.rs b/src/core/collection/album.rs similarity index 100% rename from src/collection/album.rs rename to src/core/collection/album.rs diff --git a/src/collection/artist.rs b/src/core/collection/artist.rs similarity index 100% rename from src/collection/artist.rs rename to src/core/collection/artist.rs diff --git a/src/collection/merge.rs b/src/core/collection/merge.rs similarity index 100% rename from src/collection/merge.rs rename to src/core/collection/merge.rs diff --git a/src/collection/mod.rs b/src/core/collection/mod.rs similarity index 100% rename from src/collection/mod.rs rename to src/core/collection/mod.rs diff --git a/src/collection/track.rs b/src/core/collection/track.rs similarity index 100% rename from src/collection/track.rs rename to src/core/collection/track.rs diff --git a/src/database/json/backend.rs b/src/core/database/json/backend.rs similarity index 100% rename from src/database/json/backend.rs rename to src/core/database/json/backend.rs diff --git a/src/database/json/mod.rs b/src/core/database/json/mod.rs similarity index 97% rename from src/database/json/mod.rs rename to src/core/database/json/mod.rs index 9dff3c8..873dd37 100644 --- a/src/database/json/mod.rs +++ b/src/core/database/json/mod.rs @@ -66,7 +66,7 @@ mod tests { use mockall::predicate; - use crate::{musichoard::testmod::FULL_COLLECTION, Artist, ArtistId, Collection}; + use crate::{core::musichoard::testmod::FULL_COLLECTION, Artist, ArtistId, Collection}; use super::*; use testmod::DATABASE_JSON; diff --git a/src/database/json/testmod.rs b/src/core/database/json/testmod.rs similarity index 100% rename from src/database/json/testmod.rs rename to src/core/database/json/testmod.rs diff --git a/src/database/mod.rs b/src/core/database/mod.rs similarity index 100% rename from src/database/mod.rs rename to src/core/database/mod.rs diff --git a/src/library/beets/executor.rs b/src/core/library/beets/executor.rs similarity index 100% rename from src/library/beets/executor.rs rename to src/core/library/beets/executor.rs diff --git a/src/library/beets/mod.rs b/src/core/library/beets/mod.rs similarity index 99% rename from src/library/beets/mod.rs rename to src/core/library/beets/mod.rs index 0c6cee1..29fd719 100644 --- a/src/library/beets/mod.rs +++ b/src/core/library/beets/mod.rs @@ -4,7 +4,7 @@ #[cfg(test)] use mockall::automock; -use crate::collection::track::Format; +use crate::core::collection::track::Format; use super::{Error, Field, ILibrary, Item, Query}; diff --git a/src/library/beets/testmod.rs b/src/core/library/beets/testmod.rs similarity index 100% rename from src/library/beets/testmod.rs rename to src/core/library/beets/testmod.rs diff --git a/src/library/mod.rs b/src/core/library/mod.rs similarity index 99% rename from src/library/mod.rs rename to src/core/library/mod.rs index 645081a..1ac85f2 100644 --- a/src/library/mod.rs +++ b/src/core/library/mod.rs @@ -5,7 +5,7 @@ use std::{collections::HashSet, fmt, num::ParseIntError, str::Utf8Error}; #[cfg(test)] use mockall::automock; -use crate::collection::track::Format; +use crate::core::collection::track::Format; #[cfg(feature = "library-beets")] pub mod beets; diff --git a/src/library/testmod.rs b/src/core/library/testmod.rs similarity index 99% rename from src/library/testmod.rs rename to src/core/library/testmod.rs index 638aeb2..87b5dc2 100644 --- a/src/library/testmod.rs +++ b/src/core/library/testmod.rs @@ -1,6 +1,6 @@ use once_cell::sync::Lazy; -use crate::{collection::track::Format, library::Item}; +use crate::{library::Item, Format}; pub static LIBRARY_ITEMS: Lazy> = Lazy::new(|| -> Vec { vec![ diff --git a/src/core/mod.rs b/src/core/mod.rs new file mode 100644 index 0000000..870545f --- /dev/null +++ b/src/core/mod.rs @@ -0,0 +1,4 @@ +pub mod collection; +pub mod database; +pub mod library; +pub mod musichoard; diff --git a/src/musichoard/mod.rs b/src/core/musichoard/mod.rs similarity index 100% rename from src/musichoard/mod.rs rename to src/core/musichoard/mod.rs diff --git a/src/musichoard/testmod.rs b/src/core/musichoard/testmod.rs similarity index 92% rename from src/musichoard/testmod.rs rename to src/core/musichoard/testmod.rs index 6df9f36..d2a55ac 100644 --- a/src/musichoard/testmod.rs +++ b/src/core/musichoard/testmod.rs @@ -1,4 +1,4 @@ -use crate::collection::{ +use crate::core::collection::{ album::{Album, AlbumId}, artist::{Artist, ArtistId, ArtistProperties, Bandcamp, MusicBrainz, MusicButler, Qobuz}, track::{Format, Quality, Track, TrackId}, diff --git a/src/musichoard/tests.rs b/src/core/musichoard/tests.rs similarity index 99% rename from src/musichoard/tests.rs rename to src/core/musichoard/tests.rs index c9a646c..adc07c4 100644 --- a/src/musichoard/tests.rs +++ b/src/core/musichoard/tests.rs @@ -5,7 +5,7 @@ use super::*; use super::testmod::{FULL_COLLECTION, LIBRARY_COLLECTION}; // FIXME: check all crate::* imports - are the tests where they should be? -use crate::collection::{ +use crate::core::collection::{ artist::{ArtistProperties, Bandcamp, MusicBrainz, MusicButler, Qobuz}, track::Format, Merge, diff --git a/src/lib.rs b/src/lib.rs index c1d1906..b5103bb 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,26 +1,27 @@ //! MusicHoard - a music collection manager. -mod collection; -mod musichoard; - -// FIXME: make private and fix via re-exports. -pub mod database; -pub mod library; +// FIXME: make private and only provide via re-exports. +pub mod core; use std::fmt::{self, Display}; -use collection::artist::InvalidUrlError; +// FIXME: validate the re-exports. +pub use core::database; +pub use core::library; // FIXME: validate the re-exports. -pub use collection::{ +pub use core::collection::{ album::{Album, AlbumId}, - artist::{Artist, ArtistId, ArtistProperties, Bandcamp, MusicBrainz, MusicButler, Qobuz}, + artist::{ + Artist, ArtistId, ArtistProperties, Bandcamp, InvalidUrlError, MusicBrainz, MusicButler, + Qobuz, + }, track::{Format, Quality, Track, TrackId}, Collection, }; // FIXME: validate the re-exports -pub use musichoard::{MusicHoard, MusicHoardBuilder, NoDatabase, NoLibrary}; +pub use core::musichoard::{MusicHoard, MusicHoardBuilder, NoDatabase, NoLibrary}; // FIXME: this should be in the musichoard module. /// Error type for `musichoard`.