Migration vers une forme unifiée des cargos

This commit is contained in:
2025-12-30 16:12:30 +01:00
parent 64450185c5
commit a4301140d8
45 changed files with 989 additions and 132 deletions

View File

@@ -11,14 +11,14 @@ categories = ["multimedia"]
[dependencies]
# Gestion des erreurs
thiserror = "1.0"
anyhow = "1.0"
thiserror = { workspace = true }
anyhow = { workspace = true }
# Async traits
async-trait = "0.1"
async-trait = { workspace = true }
# Async runtime
tokio = { version = "1.0", features = ["sync", "time"] }
tokio = { workspace = true, features = ["sync", "time"] }
# DIDL-Lite support
pmodidl = { path = "../pmodidl" }
@@ -32,8 +32,8 @@ pmocovers = { path = "../pmocovers", optional = true }
pmocache = { path = "../pmocache", optional = true }
# Serialization (required for cache metadata)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde = { workspace = true }
serde_json = { workspace = true }
# Server extension (optional)
pmoserver = { path = "../pmoserver", optional = true }

View File

@@ -0,0 +1,54 @@
[package]
name = "pmosource"
version = "0.1.0"
edition = "2021"
authors = ["PMOMusic Contributors"]
description = "Common traits and types for PMOMusic sources"
license = "MIT OR Apache-2.0"
repository = "https://github.com/yourusername/pmomusic"
keywords = ["music", "source", "streaming"]
categories = ["multimedia"]
[dependencies]
# Gestion des erreurs
thiserror = "2.0"
anyhow = "1.0"
# Async traits
async-trait = "0.1"
# Async runtime
tokio = { version = "1.0", features = ["sync", "time"] }
# DIDL-Lite support
pmodidl = { path = "../pmodidl" }
# Playlist/FIFO support
pmoplaylist = { path = "../pmoplaylist" }
# Optional cache integrations
pmoaudiocache = { path = "../pmoaudiocache", optional = true }
pmocovers = { path = "../pmocovers", optional = true }
pmocache = { path = "../pmocache", optional = true }
# Serialization (required for cache metadata)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# Server extension (optional)
pmoserver = { path = "../pmoserver", optional = true }
pmoconfig = { path = "../pmoconfig", optional = true }
pmoupnp = { path = "../pmoupnp", optional = true }
# Web framework for API (optional)
axum = { version = "0.8", optional = true }
utoipa = { version = "5.3", optional = true }
tracing = { version = "0.1", optional = true }
lazy_static = { version = "1.4", optional = true }
tokio-stream = { version = "0.1", optional = true, features = ["time"] }
futures = { version = "0.3", optional = true }
[features]
default = ["cache"]
cache = ["pmoaudiocache", "pmocovers", "pmocache"]
server = ["pmoserver", "pmoconfig", "pmoupnp", "axum", "utoipa", "tracing", "lazy_static", "tokio-stream", "futures"]