From 2ba50046f05ac4df540c287e4fe15a36bd8b2c4c Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 15:50:55 +0800 Subject: [PATCH 01/11] build: remove `service-*` from default features #4310 --- core/Cargo.toml | 19 +------------------ core/src/docs/upgrade.md | 6 ++++++ 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/core/Cargo.toml b/core/Cargo.toml index e95322cffa3f..acad1923c4d5 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -39,24 +39,7 @@ default-members = ["."] members = [".", "fuzz", "edge/*", "benches/vs_*"] [features] -default = [ - "rustls", - "services-azblob", - "services-azdls", - "services-cos", - "services-fs", - "services-gcs", - "services-ghac", - "services-http", - "services-ipmfs", - "services-memory", - "services-obs", - "services-oss", - "services-s3", - "services-webdav", - "services-webhdfs", - "services-azfile", -] +default = ["rustls"] # Build test utils or not. # diff --git a/core/src/docs/upgrade.md b/core/src/docs/upgrade.md index 7c56ff1255c0..dfd7198acced 100644 --- a/core/src/docs/upgrade.md +++ b/core/src/docs/upgrade.md @@ -1,3 +1,9 @@ +# Upgrade to v0.46 + +## Services Feature Flag + +Starting from v0.46, OpenDAL does not include any services in default features to avoid compiling unneeded services' code. Please enable each service's feature flag to use it. + # Upgrade to v0.45 ## Public API From ebd019e96f6c620ec25188eaed51b84bf11c9f72 Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:23:07 +0800 Subject: [PATCH 02/11] fix clippy --- core/src/raw/http_util/body.rs | 1 + core/src/types/mode.rs | 1 + core/src/types/operator/builder.rs | 1 + 3 files changed, 3 insertions(+) diff --git a/core/src/raw/http_util/body.rs b/core/src/raw/http_util/body.rs index cee80ec1562d..c73aaf374122 100644 --- a/core/src/raw/http_util/body.rs +++ b/core/src/raw/http_util/body.rs @@ -76,6 +76,7 @@ impl IncomingAsyncBody { } /// Create an empty IncomingAsyncBody. + #[allow(dead_code)] pub(crate) fn empty() -> Self { Self { inner: Box::new(()), diff --git a/core/src/types/mode.rs b/core/src/types/mode.rs index c5e45f3fed44..aa8b8d35029c 100644 --- a/core/src/types/mode.rs +++ b/core/src/types/mode.rs @@ -41,6 +41,7 @@ impl EntryMode { } /// Create entry mode from given path. + #[allow(dead_code)] pub(crate) fn from_path(path: &str) -> Self { if path.ends_with('/') { EntryMode::DIR diff --git a/core/src/types/operator/builder.rs b/core/src/types/operator/builder.rs index cca37f72959d..40f265ff885f 100644 --- a/core/src/types/operator/builder.rs +++ b/core/src/types/operator/builder.rs @@ -151,6 +151,7 @@ impl Operator { /// Ok(()) /// } /// ``` + #[allow(unused_variables, unreachable_code)] pub fn via_map(scheme: Scheme, map: HashMap) -> Result { let op = match scheme { #[cfg(feature = "services-atomicserver")] From dfd9a555568a7f22dc151259dfaecda57ba6186f Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:24:30 +0800 Subject: [PATCH 03/11] fix compile for tests --- core/Cargo.toml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/Cargo.toml b/core/Cargo.toml index acad1923c4d5..aa6aa2003b6f 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -47,7 +47,15 @@ default = ["rustls"] # And doesn't have any other effects. # # You should never enable this feature unless you are developing opendal. -tests = ["dep:rand", "dep:sha2", "dep:dotenvy", "layers-blocking"] +tests = [ + "dep:rand", + "dep:sha2", + "dep:dotenvy", + "layers-blocking", + "services-azblob", + "services-memory", + "services-http", +] # Enable trust-dns for pure rust dns cache. trust-dns = ["reqwest/trust-dns"] From f02efa4c885e6268970bd3e7fbb71ede48e9cb1a Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:29:03 +0800 Subject: [PATCH 04/11] fix --- integrations/dav-server/Cargo.toml | 2 +- integrations/object_store/Cargo.toml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/dav-server/Cargo.toml b/integrations/dav-server/Cargo.toml index 9919526cafa6..d1d82c990342 100644 --- a/integrations/dav-server/Cargo.toml +++ b/integrations/dav-server/Cargo.toml @@ -35,7 +35,7 @@ dav-server = { version = "0.5.8" } dirs = "5.0.0" futures = "0.3" futures-util = { version = "0.3.16" } -opendal = { version = "0.45.1", path = "../../core" } +opendal = { version = "0.45.1", path = "../../core", features = ["services-fs"] } quick-xml = { version = "0.31", features = ["serialize", "overlapped-lists"] } serde = { version = "1", features = ["derive"] } tokio = { version = "1.27", features = [ diff --git a/integrations/object_store/Cargo.toml b/integrations/object_store/Cargo.toml index 8b398f47020e..9bdc71b731e1 100644 --- a/integrations/object_store/Cargo.toml +++ b/integrations/object_store/Cargo.toml @@ -38,3 +38,4 @@ tokio = { version = "1", default-features = false } [dev-dependencies] tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread"] } +opendal = { version = "0.45.1", path = "../../core", features = "services-memory" } \ No newline at end of file From ea76d63f1ecc08db9d569f044fdf9846cd4e7eff Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:35:57 +0800 Subject: [PATCH 05/11] fix --- bin/oli/Cargo.toml | 19 ++++++++++++++++++- core/edge/file_write_on_full_disk/Cargo.toml | 2 +- integrations/object_store/Cargo.toml | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/bin/oli/Cargo.toml b/bin/oli/Cargo.toml index 3967b802c133..c79ac33b3f9b 100644 --- a/bin/oli/Cargo.toml +++ b/bin/oli/Cargo.toml @@ -60,7 +60,24 @@ dirs = "5.0.1" env_logger = "0.11" futures = "0.3" log = "0.4" -opendal = { version = "0.45.1", path = "../../core" } +opendal = { version = "0.45.1", path = "../../core", feature = [ + # These are default features before v0.46. TODO: change to optional features + "services-azblob", + "services-azdls", + "services-cos", + "services-fs", + "services-gcs", + "services-ghac", + "services-http", + "services-ipmfs", + "services-memory", + "services-obs", + "services-oss", + "services-s3", + "services-webdav", + "services-webhdfs", + "services-azfile", +] } serde = { version = "1", features = ["derive"] } tokio = { version = "1.34", features = [ "fs", diff --git a/core/edge/file_write_on_full_disk/Cargo.toml b/core/edge/file_write_on_full_disk/Cargo.toml index 63a57a21a716..729e4c80fb2e 100644 --- a/core/edge/file_write_on_full_disk/Cargo.toml +++ b/core/edge/file_write_on_full_disk/Cargo.toml @@ -25,6 +25,6 @@ version = "0.0.0" [dependencies] futures = "0.3" -opendal = { path = "../../" } +opendal = { path = "../../", features = ["services-memory"] } rand = "0.8" tokio = { version = "1", features = ["full"] } diff --git a/integrations/object_store/Cargo.toml b/integrations/object_store/Cargo.toml index 9bdc71b731e1..740f274c0fa3 100644 --- a/integrations/object_store/Cargo.toml +++ b/integrations/object_store/Cargo.toml @@ -38,4 +38,4 @@ tokio = { version = "1", default-features = false } [dev-dependencies] tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread"] } -opendal = { version = "0.45.1", path = "../../core", features = "services-memory" } \ No newline at end of file +opendal = { version = "0.45.1", path = "../../core", features = ["services-memory"] } \ No newline at end of file From 5e36f878ac0a27b1ea58336150b942cb23e8a9ef Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:45:52 +0800 Subject: [PATCH 06/11] fix --- .github/workflows/ci_core.yml | 2 +- bin/oli/Cargo.lock | 118 +++++++++++++++++-- bin/oli/Cargo.toml | 2 +- core/edge/file_write_on_full_disk/Cargo.toml | 2 +- 4 files changed, 110 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci_core.yml b/.github/workflows/ci_core.yml index 1402f0c8a4e6..ac47f1b35c37 100644 --- a/.github/workflows/ci_core.yml +++ b/.github/workflows/ci_core.yml @@ -257,6 +257,6 @@ jobs: - name: Test working-directory: core - run: cargo nextest run --no-fail-fast --features layers-all && cargo test --doc + run: cargo nextest run --no-fail-fast --features layers-all,test && cargo test --doc env: LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }} diff --git a/bin/oli/Cargo.lock b/bin/oli/Cargo.lock index a8f048c0cd0f..8e15c2e87832 100644 --- a/bin/oli/Cargo.lock +++ b/bin/oli/Cargo.lock @@ -17,6 +17,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + [[package]] name = "aho-corasick" version = "1.1.2" @@ -457,6 +468,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-padding" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" +dependencies = [ + "generic-array", +] + [[package]] name = "blocking" version = "1.5.1" @@ -550,6 +570,15 @@ dependencies = [ "serde_json", ] +[[package]] +name = "cbc" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" +dependencies = [ + "cipher", +] + [[package]] name = "cc" version = "1.0.83" @@ -589,6 +618,16 @@ dependencies = [ "windows-targets 0.52.0", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "clang-sys" version = "1.7.0" @@ -664,9 +703,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" -version = "0.1.17" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" +checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" dependencies = [ "const-random-macro", ] @@ -1423,6 +1462,16 @@ dependencies = [ "hashbrown 0.14.3", ] +[[package]] +name = "inout" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +dependencies = [ + "block-padding", + "generic-array", +] + [[package]] name = "instant" version = "0.1.12" @@ -1803,19 +1852,18 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.43" +version = "0.1.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" dependencies = [ "autocfg", "num-integer", @@ -1993,6 +2041,16 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "pbkdf2" +version = "0.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" +dependencies = [ + "digest", + "hmac", +] + [[package]] name = "peeking_take_while" version = "0.1.2" @@ -2088,6 +2146,21 @@ dependencies = [ "spki", ] +[[package]] +name = "pkcs5" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" +dependencies = [ + "aes", + "cbc", + "der", + "pbkdf2", + "scrypt", + "sha2", + "spki", +] + [[package]] name = "pkcs8" version = "0.10.2" @@ -2095,6 +2168,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", + "pkcs5", + "rand_core", "spki", ] @@ -2446,9 +2521,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqsign" -version = "0.14.7" +version = "0.14.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed08ac3aa0676637644b1b892202f1ae789c28c15ebfa906128d111ae8086062" +checksum = "43e319d9de9ff4d941abf4ac718897118b0fe04577ea3f8e0f5788971784eef5" dependencies = [ "anyhow", "async-trait", @@ -2556,6 +2631,7 @@ dependencies = [ "pkcs1", "pkcs8", "rand_core", + "sha2", "signature", "spki", "subtle", @@ -2675,6 +2751,15 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +[[package]] +name = "salsa20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" +dependencies = [ + "cipher", +] + [[package]] name = "same-file" version = "1.0.6" @@ -2699,6 +2784,17 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scrypt" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" +dependencies = [ + "pbkdf2", + "salsa20", + "sha2", +] + [[package]] name = "sct" version = "0.7.1" @@ -3061,9 +3157,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", diff --git a/bin/oli/Cargo.toml b/bin/oli/Cargo.toml index c79ac33b3f9b..950be3d87588 100644 --- a/bin/oli/Cargo.toml +++ b/bin/oli/Cargo.toml @@ -60,7 +60,7 @@ dirs = "5.0.1" env_logger = "0.11" futures = "0.3" log = "0.4" -opendal = { version = "0.45.1", path = "../../core", feature = [ +opendal = { version = "0.45.1", path = "../../core", features = [ # These are default features before v0.46. TODO: change to optional features "services-azblob", "services-azdls", diff --git a/core/edge/file_write_on_full_disk/Cargo.toml b/core/edge/file_write_on_full_disk/Cargo.toml index 729e4c80fb2e..5e1c7f7c7a12 100644 --- a/core/edge/file_write_on_full_disk/Cargo.toml +++ b/core/edge/file_write_on_full_disk/Cargo.toml @@ -25,6 +25,6 @@ version = "0.0.0" [dependencies] futures = "0.3" -opendal = { path = "../../", features = ["services-memory"] } +opendal = { path = "../../", features = ["services-memory", "services-fs"] } rand = "0.8" tokio = { version = "1", features = ["full"] } From 14685f5fe8ffdef409d751421444235753a4471e Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 16:49:50 +0800 Subject: [PATCH 07/11] fix --- .github/workflows/ci_core.yml | 2 +- bin/oli/Cargo.lock | 118 ++++------------------------------ 2 files changed, 12 insertions(+), 108 deletions(-) diff --git a/.github/workflows/ci_core.yml b/.github/workflows/ci_core.yml index ac47f1b35c37..1ec76baf756c 100644 --- a/.github/workflows/ci_core.yml +++ b/.github/workflows/ci_core.yml @@ -257,6 +257,6 @@ jobs: - name: Test working-directory: core - run: cargo nextest run --no-fail-fast --features layers-all,test && cargo test --doc + run: cargo nextest run --no-fail-fast --features layers-all,tests && cargo test --doc env: LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }} diff --git a/bin/oli/Cargo.lock b/bin/oli/Cargo.lock index 8e15c2e87832..a8f048c0cd0f 100644 --- a/bin/oli/Cargo.lock +++ b/bin/oli/Cargo.lock @@ -17,17 +17,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" -[[package]] -name = "aes" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", -] - [[package]] name = "aho-corasick" version = "1.1.2" @@ -468,15 +457,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93" -dependencies = [ - "generic-array", -] - [[package]] name = "blocking" version = "1.5.1" @@ -570,15 +550,6 @@ dependencies = [ "serde_json", ] -[[package]] -name = "cbc" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6" -dependencies = [ - "cipher", -] - [[package]] name = "cc" version = "1.0.83" @@ -618,16 +589,6 @@ dependencies = [ "windows-targets 0.52.0", ] -[[package]] -name = "cipher" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "clang-sys" version = "1.7.0" @@ -703,9 +664,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const-random" -version = "0.1.18" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" +checksum = "5aaf16c9c2c612020bcfd042e170f6e32de9b9d75adb5277cdbbd2e2c8c8299a" dependencies = [ "const-random-macro", ] @@ -1462,16 +1423,6 @@ dependencies = [ "hashbrown 0.14.3", ] -[[package]] -name = "inout" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" -dependencies = [ - "block-padding", - "generic-array", -] - [[package]] name = "instant" version = "0.1.12" @@ -1852,18 +1803,19 @@ checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" [[package]] name = "num-integer" -version = "0.1.46" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ + "autocfg", "num-traits", ] [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" dependencies = [ "autocfg", "num-integer", @@ -2041,16 +1993,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "pbkdf2" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8ed6a7761f76e3b9f92dfb0a60a6a6477c61024b775147ff0973a02653abaf2" -dependencies = [ - "digest", - "hmac", -] - [[package]] name = "peeking_take_while" version = "0.1.2" @@ -2146,21 +2088,6 @@ dependencies = [ "spki", ] -[[package]] -name = "pkcs5" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e847e2c91a18bfa887dd028ec33f2fe6f25db77db3619024764914affe8b69a6" -dependencies = [ - "aes", - "cbc", - "der", - "pbkdf2", - "scrypt", - "sha2", - "spki", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -2168,8 +2095,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der", - "pkcs5", - "rand_core", "spki", ] @@ -2521,9 +2446,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" [[package]] name = "reqsign" -version = "0.14.9" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43e319d9de9ff4d941abf4ac718897118b0fe04577ea3f8e0f5788971784eef5" +checksum = "ed08ac3aa0676637644b1b892202f1ae789c28c15ebfa906128d111ae8086062" dependencies = [ "anyhow", "async-trait", @@ -2631,7 +2556,6 @@ dependencies = [ "pkcs1", "pkcs8", "rand_core", - "sha2", "signature", "spki", "subtle", @@ -2751,15 +2675,6 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" -[[package]] -name = "salsa20" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" -dependencies = [ - "cipher", -] - [[package]] name = "same-file" version = "1.0.6" @@ -2784,17 +2699,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "scrypt" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0516a385866c09368f0b5bcd1caff3366aace790fcd46e2bb032697bb172fd1f" -dependencies = [ - "pbkdf2", - "salsa20", - "sha2", -] - [[package]] name = "sct" version = "0.7.1" @@ -3157,9 +3061,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" dependencies = [ "deranged", "itoa", From 1dbdab527bd85532b93631e3b67790b3423afa78 Mon Sep 17 00:00:00 2001 From: xxchan Date: Mon, 4 Mar 2024 17:06:10 +0800 Subject: [PATCH 08/11] fix --- .github/workflows/ci_core.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_core.yml b/.github/workflows/ci_core.yml index 1ec76baf756c..aa4c581b369e 100644 --- a/.github/workflows/ci_core.yml +++ b/.github/workflows/ci_core.yml @@ -257,6 +257,6 @@ jobs: - name: Test working-directory: core - run: cargo nextest run --no-fail-fast --features layers-all,tests && cargo test --doc + run: cargo nextest run --no-fail-fast --features layers-all,tests && cargo test --doc --features tests env: LD_LIBRARY_PATH: ${{ env.JAVA_HOME }}/lib/server:${{ env.LD_LIBRARY_PATH }} From 396db83d146cff6901ea0c9f149a2191b82a42d5 Mon Sep 17 00:00:00 2001 From: xxchan Date: Tue, 5 Mar 2024 11:21:29 +0800 Subject: [PATCH 09/11] fix doctest --- core/Cargo.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/Cargo.toml b/core/Cargo.toml index aa6aa2003b6f..83155584137e 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -53,8 +53,10 @@ tests = [ "dep:dotenvy", "layers-blocking", "services-azblob", - "services-memory", + "services-fs", "services-http", + "services-memory", + "services-s3", ] # Enable trust-dns for pure rust dns cache. From 7143476cbf89fa129a02f2c3de48807d3aeeb8a5 Mon Sep 17 00:00:00 2001 From: xxchan Date: Tue, 5 Mar 2024 11:22:37 +0800 Subject: [PATCH 10/11] add default features to C binding --- bindings/c/Cargo.toml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bindings/c/Cargo.toml b/bindings/c/Cargo.toml index 2b5d051fe7ab..725326e180d7 100644 --- a/bindings/c/Cargo.toml +++ b/bindings/c/Cargo.toml @@ -39,5 +39,21 @@ bytes = "1.4.0" once_cell = "1.17.1" opendal = { version = "0.45.1", path = "../../core", features = [ "layers-blocking", + # These are default features before v0.46. TODO: change to optional features #4313 + "services-azblob", + "services-azdls", + "services-cos", + "services-fs", + "services-gcs", + "services-ghac", + "services-http", + "services-ipmfs", + "services-memory", + "services-obs", + "services-oss", + "services-s3", + "services-webdav", + "services-webhdfs", + "services-azfile", ] } tokio = { version = "1.27", features = ["fs", "macros", "rt-multi-thread"] } From 020ee4c219f58d863eaaffa40a2a6e0222d76466 Mon Sep 17 00:00:00 2001 From: xxchan Date: Tue, 5 Mar 2024 11:36:27 +0800 Subject: [PATCH 11/11] remove #![deny(unused_qualifications)] --- core/src/lib.rs | 2 -- 1 file changed, 2 deletions(-) diff --git a/core/src/lib.rs b/core/src/lib.rs index 343bbd37d5e2..054dd4f7a0a5 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -129,8 +129,6 @@ // Make sure all our public APIs have docs. #![warn(missing_docs)] -// Deny unused qualifications. -#![deny(unused_qualifications)] // Private module with public types, they will be accessed via `opendal::Xxxx` mod types;