diff --git a/README.md b/README.md index 4c81b61fdf9b64f09cee4b939fd1ff91e4f2a42b..3142e8991246b23048c2e8aa6f8832e324739d91 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,10 @@ following commands from the root of each rust workspaces: ```sh cargo depgraph --all-deps --dedup-transitive-deps | dot -Tpng > dependencies.png +cargo depgraph --all-deps --dedup-transitive-deps --filter-platform x86_64-unknown-linux-gnu | dot -Tpng > dependencies.linux.png +cargo depgraph --all-deps --dedup-transitive-deps --filter-platform x86_64-pc-windows-msvc | dot -Tpng > dependencies.win32.png +cargo depgraph --all-deps --dedup-transitive-deps --filter-platform aarch64-apple-darwin | dot -Tpng > dependencies.macos.png +cargo depgraph --all-deps --dedup-transitive-deps --filter-platform x86_64-apple-darwin | dot -Tpng > dependencies.macos-arm.png ``` ### Building instructions diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock index 72616ca1b8b51ccad3180e1f951791eaaa63f4a2..29e4b2022631299909fd20a7ba8e394026e5fb90 100644 --- a/src/rust/Cargo.lock +++ b/src/rust/Cargo.lock @@ -71,9 +71,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "4.1.3" +version = "4.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8d93d855ce6a0aa87b8473ef9169482f40abaa2e9e0993024c35c902cbd5920" +checksum = "f13b9c79b5d1dd500d20ef541215a6423c75829ef43117e1b4d17fd8af0b5d76" dependencies = [ "bitflags", "clap_derive", @@ -115,33 +115,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "cookie" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb" -dependencies = [ - "percent-encoding", - "time", - "version_check", -] - -[[package]] -name = "cookie_store" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4b6aa369f41f5faa04bb80c9b1f4216ea81646ed6124d76ba5c49a7aafd9cd" -dependencies = [ - "cookie", - "idna 0.2.3", - "log", - "publicsuffix", - "serde", - "serde_json", - "time", - "url", -] - [[package]] name = "core-foundation" version = "0.9.3" @@ -160,9 +133,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "diesel" -version = "2.0.2" +version = "2.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68c186a7418a2aac330bb76cde82f16c36b03a66fb91db32d20214311f9f6545" +checksum = "4391a22b19c916e50bec4d6140f29bdda3e3bb187223fe6e3ea0b6e4d1021c04" dependencies = [ "diesel_derives", "libsqlite3-sys", @@ -191,12 +164,6 @@ dependencies = [ "migrations_macros", ] -[[package]] -name = "either" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" - [[package]] name = "encoding_rs" version = "0.8.31" @@ -402,17 +369,6 @@ dependencies = [ "tokio-rustls", ] -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "idna" version = "0.3.0" @@ -468,7 +424,6 @@ dependencies = [ name = "kurisu_api" version = "0.1.0" dependencies = [ - "log", "serde", ] @@ -484,7 +439,6 @@ version = "0.1.0" dependencies = [ "lazy_static", "libc", - "log", ] [[package]] @@ -492,7 +446,6 @@ name = "lektor_config" version = "0.1.0" dependencies = [ "lektor_c_compat", - "log", "serde", "thiserror", ] @@ -501,11 +454,11 @@ dependencies = [ name = "lektor_db" version = "0.1.0" dependencies = [ + "commons", "diesel", "diesel_migrations", "kurisu_api", "lektor_c_compat", - "log", "serde", "thiserror", ] @@ -516,7 +469,6 @@ version = "0.1.0" dependencies = [ "kurisu_api", "lektor_c_compat", - "log", "reqwest", "serde", ] @@ -531,7 +483,7 @@ dependencies = [ "lektor_config", "lektor_db", "lektor_repo", - "log", + "libc", "toml", ] @@ -578,12 +530,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "matches" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" - [[package]] name = "memchr" version = "2.5.0" @@ -617,16 +563,6 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" -[[package]] -name = "mime_guess" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" -dependencies = [ - "mime", - "unicase", -] - [[package]] name = "mio" version = "0.8.5" @@ -724,22 +660,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "psl-types" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" - -[[package]] -name = "publicsuffix" -version = "2.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457" -dependencies = [ - "idna 0.3.0", - "psl-types", -] - [[package]] name = "quote" version = "1.0.23" @@ -757,8 +677,6 @@ checksum = "21eed90ec8570952d53b772ecf8f206aa1ec9a3d76b2521c56c42973f2d91ee9" dependencies = [ "base64", "bytes", - "cookie", - "cookie_store", "encoding_rs", "futures-core", "futures-util", @@ -771,7 +689,6 @@ dependencies = [ "js-sys", "log", "mime", - "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", @@ -783,7 +700,6 @@ dependencies = [ "serde_urlencoded", "tokio", "tokio-rustls", - "tokio-socks", "tower-service", "url", "wasm-bindgen", @@ -891,9 +807,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.0" +version = "2.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645926f31b250a2dca3c232496c2d898d91036e45ca0e97e0e2390c54e11be36" +checksum = "7c4437699b6d34972de58652c68b98cb5b53a4199ab126db8e20ec8ded29a721" dependencies = [ "bitflags", "core-foundation", @@ -1033,33 +949,6 @@ dependencies = [ "syn", ] -[[package]] -name = "time" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a561bf4617eebd33bca6434b988f39ed798e527f51a1e797d0ee4f61c0a38376" -dependencies = [ - "itoa", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" - -[[package]] -name = "time-macros" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d967f99f534ca7e495c575c62638eebc2898a8c84c119b89e250477bc4ba16b2" -dependencies = [ - "time-core", -] - [[package]] name = "tinyvec" version = "1.6.0" @@ -1115,18 +1004,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "tokio-socks" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0" -dependencies = [ - "either", - "futures-util", - "thiserror", - "tokio", -] - [[package]] name = "tokio-util" version = "0.7.4" @@ -1183,15 +1060,6 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.10" @@ -1226,7 +1094,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna", "percent-encoding", ] diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml index f1f98637841e3ec547b8392ffb437d597b7bef38..43721bfc4d33e6a881429cfe28f662de29224dbe 100644 --- a/src/rust/Cargo.toml +++ b/src/rust/Cargo.toml @@ -25,7 +25,6 @@ version = "0.1.0" license = "MIT" [workspace.dependencies] -log = "0.4" libc = "0.2" lazy_static = "^1" thiserror = "^1" @@ -52,10 +51,6 @@ tokio = { version = "1", features = [ reqwest = { version = "0.11", default-features = false, features = [ "rustls-tls", "rustls-tls-native-roots", - "tokio-rustls", - "tokio-socks", - "multipart", - "cookies", "json", ] } diff --git a/src/rust/commons/src/log.rs b/src/rust/commons/src/log.rs index 178e55f5de9c8e41fa890462a7d79891503c6c15..59a74e3f45c221e72cf91dda769e750566fd1cc3 100644 --- a/src/rust/commons/src/log.rs +++ b/src/rust/commons/src/log.rs @@ -1 +1 @@ -pub use log::{debug, error, info, log, trace, warn, Level}; +pub use log::{debug, error, info, log, set_logger, trace, warn, Level, Log, Metadata, Record}; diff --git a/src/rust/dependencies.linux.png b/src/rust/dependencies.linux.png new file mode 100644 index 0000000000000000000000000000000000000000..813b263a5049bd9d463c45891739f8d4201df932 Binary files /dev/null and b/src/rust/dependencies.linux.png differ diff --git a/src/rust/dependencies.macos-arm.png b/src/rust/dependencies.macos-arm.png new file mode 100644 index 0000000000000000000000000000000000000000..285a14d35eeb433c366ff8b111c8d21664c51dc7 Binary files /dev/null and b/src/rust/dependencies.macos-arm.png differ diff --git a/src/rust/dependencies.macos.png b/src/rust/dependencies.macos.png new file mode 100644 index 0000000000000000000000000000000000000000..35702710a57196fad269bafdd65e384b940bbff3 Binary files /dev/null and b/src/rust/dependencies.macos.png differ diff --git a/src/rust/dependencies.png b/src/rust/dependencies.png index 268013298bd10362660fd5f4ec516b9dd0eb9a82..24cc6fb422c696c94cb3e4fb8b91f5a3acb6aad0 100644 Binary files a/src/rust/dependencies.png and b/src/rust/dependencies.png differ diff --git a/src/rust/dependencies.win32.png b/src/rust/dependencies.win32.png new file mode 100644 index 0000000000000000000000000000000000000000..88a793df11f253b22a2f835366870027d2fe24d4 Binary files /dev/null and b/src/rust/dependencies.win32.png differ diff --git a/src/rust/kurisu_api/Cargo.toml b/src/rust/kurisu_api/Cargo.toml index 32bad39ffee91b571960b90401ee0d23b9c4c84d..869478b11b24d79f3f20040102dc92abaa808168 100644 --- a/src/rust/kurisu_api/Cargo.toml +++ b/src/rust/kurisu_api/Cargo.toml @@ -6,5 +6,4 @@ authors.workspace = true license.workspace = true [dependencies] -log.workspace = true serde.workspace = true diff --git a/src/rust/lektor_c_compat/Cargo.toml b/src/rust/lektor_c_compat/Cargo.toml index 4a5056876d0f12f802bc896bdcb76f506ab62905..c72901181039ef1b787283a4bf5f5873cfded642 100644 --- a/src/rust/lektor_c_compat/Cargo.toml +++ b/src/rust/lektor_c_compat/Cargo.toml @@ -6,7 +6,6 @@ authors.workspace = true license.workspace = true [dependencies] -log.workspace = true libc.workspace = true lazy_static.workspace = true diff --git a/src/rust/lektor_config/Cargo.toml b/src/rust/lektor_config/Cargo.toml index 92cbcd103e368adfd2f63cb5a9d35154c1cfdc25..852930b4209c5b889d69166e5b25d2881e0647f1 100644 --- a/src/rust/lektor_config/Cargo.toml +++ b/src/rust/lektor_config/Cargo.toml @@ -6,7 +6,6 @@ authors.workspace = true license.workspace = true [dependencies] -log.workspace = true serde.workspace = true thiserror.workspace = true diff --git a/src/rust/lektor_db/Cargo.toml b/src/rust/lektor_db/Cargo.toml index 85e6ba8276b1643f15d29d8d9414a43f1963fc6a..931adc62892701f0928fda3c09c40e66fdd396d0 100644 --- a/src/rust/lektor_db/Cargo.toml +++ b/src/rust/lektor_db/Cargo.toml @@ -6,12 +6,12 @@ authors.workspace = true license.workspace = true [dependencies] -log.workspace = true serde.workspace = true thiserror.workspace = true diesel_migrations = "2" diesel = { version = "2", default-features = false, features = ["sqlite"] } +commons = { path = "../commons" } kurisu_api = { path = "../kurisu_api" } lektor_c_compat = { path = "../lektor_c_compat" } diff --git a/src/rust/lektor_repo/Cargo.toml b/src/rust/lektor_repo/Cargo.toml index 138ef90577c15068ffd8d8f5b0708162d5423679..1c4cfb1a70179d3c6b91b757a0ef9e1a4cc011ad 100644 --- a/src/rust/lektor_repo/Cargo.toml +++ b/src/rust/lektor_repo/Cargo.toml @@ -6,7 +6,6 @@ authors.workspace = true license.workspace = true [dependencies] -log.workspace = true serde.workspace = true reqwest.workspace = true diff --git a/src/rust/lektor_unsafe/Cargo.toml b/src/rust/lektor_unsafe/Cargo.toml index 8aae3c2fc8dd8d883c0f4424b610ca38dcc006f8..d287ace5a8e32b0717c2b76300b77e0993844207 100644 --- a/src/rust/lektor_unsafe/Cargo.toml +++ b/src/rust/lektor_unsafe/Cargo.toml @@ -7,7 +7,7 @@ edition.workspace = true crate-type = ["staticlib"] [dependencies] -log.workspace = true +libc.workspace = true toml.workspace = true lazy_static.workspace = true diff --git a/src/rust/lektor_unsafe/src/db.rs b/src/rust/lektor_unsafe/src/db.rs index fee96aa6a2d0d08bc35e98edb09c6b887dd5fb4e..c97c708226ee00fa879b000a8adf84a544ac591c 100644 --- a/src/rust/lektor_unsafe/src/db.rs +++ b/src/rust/lektor_unsafe/src/db.rs @@ -27,7 +27,7 @@ pub unsafe extern "C" fn lkt_database_establish_connection( match LktDatabaseConnection::try_new(PathBuf::from(&path[..])) { Ok(db) => Box::leak(Box::new(db)) as *mut _, Err(err) => { - error!(target: "DB", "failed to establish connexion to {}: {err}", &path[..]); + log::error!(target: "DB", "failed to establish connexion to {}: {err}", &path[..]); std::ptr::null_mut() } } @@ -43,7 +43,7 @@ pub unsafe extern "C" fn lkt_database_establish_connection( #[no_mangle] pub unsafe extern "C" fn lkt_database_close_connection(db: *mut LktDatabaseConnection) { if db.is_null() { - error!(target: "DB", "can't clost a connexion to a null database!") + log::error!(target: "DB", "can't clost a connexion to a null database!") } else { let db = Box::from_raw(db); drop(db); @@ -69,7 +69,7 @@ pub unsafe extern "C" fn lkt_database_delete_kara_by_repo( repo_id: repo, kara_id: kara, })) - .map_err(|err| error!(target: "DB", "delete_kara_by_repo failed: {err}")) + .map_err(|err| log::error!(target: "DB", "delete_kara_by_repo failed: {err}")) .is_ok() } @@ -89,7 +89,7 @@ pub unsafe extern "C" fn lkt_database_delete_kara_by_local_id( .delete_kara(DeleteKaraFilter::ByLocalId(KaraFilterByLocalId { local_id, })) - .map_err(|err| error!(target: "DB", "delete_kara_by_local_id failed: {err}")) + .map_err(|err| log::error!(target: "DB", "delete_kara_by_local_id failed: {err}")) .is_ok() } diff --git a/src/rust/lektor_unsafe/src/lib.rs b/src/rust/lektor_unsafe/src/lib.rs index 476ce3514543d063ea7f588394be79fd459b2787..9c994fc112e54e21dffe01c2554b6aa139b02b5b 100644 --- a/src/rust/lektor_unsafe/src/lib.rs +++ b/src/rust/lektor_unsafe/src/lib.rs @@ -7,6 +7,6 @@ pub mod loging; pub mod queue; pub mod repo; +pub(crate) use commons::log; pub(crate) use lektor_c_compat::{c::*, *}; -pub(crate) use log::error; pub(crate) use std::{mem::ManuallyDrop, path::PathBuf}; diff --git a/src/rust/lektor_unsafe/src/loging.rs b/src/rust/lektor_unsafe/src/loging.rs index ef1682e668fa9c7f7b7fce6b38eb9b7bdefb7e31..0e21db6ebed5a5803bc10dc2842ce1c7e4a4fb72 100644 --- a/src/rust/lektor_unsafe/src/loging.rs +++ b/src/rust/lektor_unsafe/src/loging.rs @@ -1,5 +1,5 @@ +use commons::log::{Level, Metadata, Record}; use lektor_c_compat::*; -use log::{Level, Metadata, Record}; use std::{convert::Into, fmt::format, sync::atomic::AtomicU8}; enum LogLevel { @@ -19,7 +19,7 @@ lazy_static::lazy_static! { }; } -impl log::Log for CLogger { +impl commons::log::Log for CLogger { fn enabled(&self, metadata: &Metadata) -> bool { use LogLevel::*; let lvl = LogLevel::try_from(LOGGER.level.load(std::sync::atomic::Ordering::SeqCst)) @@ -133,7 +133,7 @@ pub extern "C" fn lektor_init_rust_logging() { Into::<u8>::into(LogLevel::try_from(unsafe { lkt_get_log_level() }).unwrap_or_default()), std::sync::atomic::Ordering::SeqCst, ); - if let Err(err) = log::set_logger(&*LOGGER) { + if let Err(err) = commons::log::set_logger(&*LOGGER) { panic!("failed to set logger: {err}") } }