You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opendal.apache.org by xu...@apache.org on 2023/12/19 04:57:56 UTC

(incubator-opendal) 01/01: feat: Add project layout for ofs

This is an automated email from the ASF dual-hosted git repository.

xuanwo pushed a commit to branch ofs-kickoff
in repository https://gitbox.apache.org/repos/asf/incubator-opendal.git

commit e3665efc358dc44b44e3443682c482b1eb04afee
Author: Xuanwo <gi...@xuanwo.io>
AuthorDate: Tue Dec 19 12:57:43 2023 +0800

    feat: Add project layout for ofs
    
    Signed-off-by: Xuanwo <gi...@xuanwo.io>
---
 Cargo.lock                    |   7 ++
 Cargo.toml                    |   1 +
 bin/ofs/Cargo.toml            |  33 ++++++
 bin/ofs/DEPENDENCIES.md       |   3 +
 bin/ofs/DEPENDENCIES.rust.tsv | 239 ++++++++++++++++++++++++++++++++++++++++++
 bin/ofs/README.md             |   3 +
 bin/ofs/src/lib.rs            |  16 +++
 scripts/dependencies.py       |   4 +
 8 files changed, 306 insertions(+)

diff --git a/Cargo.lock b/Cargo.lock
index 47be8ca84..a4d217e7c 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -4670,6 +4670,13 @@ dependencies = [
  "cty",
 ]
 
+[[package]]
+name = "ofs"
+version = "0.0.1"
+dependencies = [
+ "opendal",
+]
+
 [[package]]
 name = "oli"
 version = "0.43.0"
diff --git a/Cargo.toml b/Cargo.toml
index 1fbc54dc2..2cc77a875 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -38,6 +38,7 @@ members = [
 
   "bin/oli",
   "bin/oay",
+  "bin/ofs",
 
   "integrations/object_store",
   "integrations/dav-server",
diff --git a/bin/ofs/Cargo.toml b/bin/ofs/Cargo.toml
new file mode 100644
index 000000000..03becbfa5
--- /dev/null
+++ b/bin/ofs/Cargo.toml
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+[package]
+categories = ["filesystem"]
+description = "OpenDAL File System"
+keywords = ["storage", "data", "s3", "fs", "azblob"]
+name = "ofs"
+version = "0.0.1"
+
+authors.workspace = true
+edition.workspace = true
+homepage.workspace = true
+license.workspace = true
+repository.workspace = true
+rust-version.workspace = true
+
+[dependencies]
+opendal.workspace = true
diff --git a/bin/ofs/DEPENDENCIES.md b/bin/ofs/DEPENDENCIES.md
new file mode 100644
index 000000000..249686f09
--- /dev/null
+++ b/bin/ofs/DEPENDENCIES.md
@@ -0,0 +1,3 @@
+# Dependencies
+
+Refer to [DEPENDENCIES.rust.tsv](DEPENDENCIES.rust.tsv) for full list.
diff --git a/bin/ofs/DEPENDENCIES.rust.tsv b/bin/ofs/DEPENDENCIES.rust.tsv
new file mode 100644
index 000000000..6ac59ea60
--- /dev/null
+++ b/bin/ofs/DEPENDENCIES.rust.tsv
@@ -0,0 +1,239 @@
+crate	0BSD	Apache-2.0	Apache-2.0 WITH LLVM-exception	BSD-2-Clause	BSD-3-Clause	BSL-1.0	CC0-1.0	ISC	MIT	MPL-2.0	OpenSSL	Unicode-DFS-2016	Unlicense	Zlib
+addr2line@0.21.0		X							X					
+adler@1.0.2	X	X							X					
+ahash@0.8.6		X							X					
+allocator-api2@0.2.16		X							X					
+android-tzdata@0.1.1		X							X					
+android_system_properties@0.1.5		X							X					
+anyhow@1.0.75		X							X					
+arc-swap@1.6.0		X							X					
+async-compat@0.2.3		X							X					
+async-trait@0.1.74		X							X					
+autocfg@1.1.0		X							X					
+awaitable@0.4.0									X					
+awaitable-error@0.1.0									X					
+backon@0.4.1		X												
+backtrace@0.3.69		X							X					
+base64@0.21.5		X							X					
+base64ct@1.6.0		X							X					
+bitflags@1.3.2		X							X					
+bitflags@2.4.1		X							X					
+block-buffer@0.10.4		X							X					
+bumpalo@3.14.0		X							X					
+byteorder@1.5.0									X				X	
+bytes@1.5.0									X					
+cc@1.0.83		X							X					
+cfg-if@1.0.0		X							X					
+chrono@0.4.31		X							X					
+concurrent_arena@0.1.8									X					
+const-oid@0.9.5		X							X					
+const-random@0.1.17		X							X					
+const-random-macro@0.1.16		X							X					
+core-foundation@0.9.3		X							X					
+core-foundation-sys@0.8.4		X							X					
+cpufeatures@0.2.11		X							X					
+crunchy@0.2.2									X					
+crypto-common@0.1.6		X							X					
+der@0.7.8		X							X					
+deranged@0.3.9		X							X					
+derive_destructure2@0.1.2		X							X					
+digest@0.10.7		X							X					
+dirs@5.0.1		X							X					
+dirs-sys@0.4.1		X							X					
+dlv-list@0.5.2		X							X					
+dotenvy@0.15.7									X					
+encoding_rs@0.8.33		X			X				X					
+equivalent@1.0.1		X							X					
+fastrand@1.9.0		X							X					
+fastrand@2.0.1		X							X					
+flagset@0.4.4		X												
+fnv@1.0.7		X							X					
+form_urlencoded@1.2.0		X							X					
+futures@0.3.29		X							X					
+futures-channel@0.3.29		X							X					
+futures-core@0.3.29		X							X					
+futures-executor@0.3.29		X							X					
+futures-io@0.3.29		X							X					
+futures-macro@0.3.29		X							X					
+futures-sink@0.3.29		X							X					
+futures-task@0.3.29		X							X					
+futures-util@0.3.29		X							X					
+generic-array@0.14.7									X					
+getrandom@0.2.11		X							X					
+gimli@0.28.0		X							X					
+h2@0.3.22									X					
+hashbrown@0.14.2		X							X					
+hermit-abi@0.3.3		X							X					
+hex@0.4.3		X							X					
+hmac@0.12.1		X							X					
+home@0.5.5		X							X					
+http@0.2.11		X							X					
+http-body@0.4.5									X					
+httparse@1.8.0		X							X					
+httpdate@1.0.3		X							X					
+hyper@0.14.27									X					
+hyper-rustls@0.24.2		X						X	X					
+iana-time-zone@0.1.58		X							X					
+iana-time-zone-haiku@0.1.2		X							X					
+idna@0.4.0		X							X					
+indexmap@2.1.0		X							X					
+instant@0.1.12					X									
+ipnet@2.9.0		X							X					
+itoa@1.0.9		X							X					
+jobserver@0.1.27		X							X					
+js-sys@0.3.65		X							X					
+jsonwebtoken@9.1.0									X					
+lazy_static@1.4.0		X							X					
+libc@0.2.150		X							X					
+libm@0.2.8		X							X					
+libredox@0.0.1									X					
+linux-raw-sys@0.4.11		X	X						X					
+lock_api@0.4.11		X							X					
+log@0.4.20		X							X					
+md-5@0.10.6		X							X					
+memchr@2.6.4									X				X	
+mime@0.3.17		X							X					
+miniz_oxide@0.7.1		X							X					X
+mio@0.8.9									X					
+num-bigint@0.4.4		X							X					
+num-bigint-dig@0.8.4		X							X					
+num-derive@0.3.3		X							X					
+num-integer@0.1.45		X							X					
+num-iter@0.1.43		X							X					
+num-traits@0.2.17		X							X					
+num_cpus@1.16.0		X							X					
+object@0.32.1		X							X					
+ofs@0.43.0		X												
+once_cell@1.18.0		X							X					
+opendal@0.43.0		X												
+openssh@0.10.1		X							X					
+openssh-sftp-client@0.14.1									X					
+openssh-sftp-client-lowlevel@0.6.0									X					
+openssh-sftp-error@0.4.0									X					
+openssh-sftp-protocol@0.24.0									X					
+openssh-sftp-protocol-error@0.1.0									X					
+openssl-probe@0.1.5		X							X					
+option-ext@0.2.0										X				
+ordered-multimap@0.7.0									X					
+parking_lot@0.12.1		X							X					
+parking_lot_core@0.9.9		X							X					
+pem@3.0.2									X					
+pem-rfc7468@0.7.0		X							X					
+percent-encoding@2.3.0		X							X					
+pin-project@1.1.3		X							X					
+pin-project-internal@1.1.3		X							X					
+pin-project-lite@0.2.13		X							X					
+pin-utils@0.1.0		X							X					
+pkcs1@0.7.5		X							X					
+pkcs8@0.10.2		X							X					
+powerfmt@0.2.0		X							X					
+ppv-lite86@0.2.17		X							X					
+proc-macro2@1.0.69		X							X					
+quick-xml@0.30.0									X					
+quick-xml@0.31.0									X					
+quote@1.0.33		X							X					
+rand@0.8.5		X							X					
+rand_chacha@0.3.1		X							X					
+rand_core@0.6.4		X							X					
+redox_syscall@0.4.1									X					
+redox_users@0.4.4									X					
+reqsign@0.14.4		X												
+reqwest@0.11.22		X							X					
+ring@0.17.5											X			
+rsa@0.9.4		X							X					
+rust-ini@0.20.0									X					
+rustc-demangle@0.1.23		X							X					
+rustix@0.38.25		X	X						X					
+rustls@0.21.9		X						X	X					
+rustls-native-certs@0.6.3		X						X	X					
+rustls-pemfile@1.0.4		X						X	X					
+rustls-webpki@0.101.7								X						
+ryu@1.0.15		X				X								
+schannel@0.1.22									X					
+scopeguard@1.2.0		X							X					
+sct@0.7.1		X						X	X					
+security-framework@2.9.2		X							X					
+security-framework-sys@2.9.1		X							X					
+serde@1.0.193		X							X					
+serde_derive@1.0.193		X							X					
+serde_json@1.0.108		X							X					
+serde_urlencoded@0.7.1		X							X					
+sha1@0.10.6		X							X					
+sha2@0.10.8		X							X					
+shell-escape@0.1.5		X							X					
+signal-hook-registry@1.4.1		X							X					
+signature@2.2.0		X							X					
+simple_asn1@0.6.2								X						
+slab@0.4.9									X					
+smallvec@1.11.2		X							X					
+socket2@0.4.10		X							X					
+socket2@0.5.5		X							X					
+spin@0.5.2									X					
+spin@0.9.8									X					
+spki@0.7.2		X							X					
+ssh_format@0.14.1									X					
+ssh_format_error@0.1.0									X					
+stable_deref_trait@1.2.0		X							X					
+subtle@2.5.0					X									
+syn@1.0.109		X							X					
+syn@2.0.39		X							X					
+system-configuration@0.5.1		X							X					
+system-configuration-sys@0.5.0		X							X					
+tempfile@3.8.1		X							X					
+thin-vec@0.2.12		X							X					
+thiserror@1.0.50		X							X					
+thiserror-impl@1.0.50		X							X					
+time@0.3.30		X							X					
+time-core@0.1.2		X							X					
+time-macros@0.2.15		X							X					
+tiny-keccak@2.0.2							X							
+tinyvec@1.6.0		X							X					X
+tinyvec_macros@0.1.1		X							X					X
+tokio@1.34.0									X					
+tokio-io-utility@0.7.6									X					
+tokio-macros@2.2.0									X					
+tokio-pipe@0.2.12		X							X					
+tokio-rustls@0.24.1		X							X					
+tokio-util@0.7.10									X					
+tower-service@0.3.2									X					
+tracing@0.1.40									X					
+tracing-attributes@0.1.27									X					
+tracing-core@0.1.32									X					
+triomphe@0.1.9		X							X					
+try-lock@0.2.4									X					
+typenum@1.17.0		X							X					
+unicode-bidi@0.3.13		X							X					
+unicode-ident@1.0.12		X							X			X		
+unicode-normalization@0.1.22		X							X					
+untrusted@0.9.0								X						
+url@2.4.1		X							X					
+uuid@1.6.1		X							X					
+valuable@0.1.0									X					
+vec-strings@0.4.8									X					
+version_check@0.9.4		X							X					
+want@0.3.1									X					
+wasi@0.11.0+wasi-snapshot-preview1		X	X						X					
+wasm-bindgen@0.2.89		X							X					
+wasm-bindgen-backend@0.2.89		X							X					
+wasm-bindgen-futures@0.4.38		X							X					
+wasm-bindgen-macro@0.2.89		X							X					
+wasm-bindgen-macro-support@0.2.89		X							X					
+wasm-bindgen-shared@0.2.89		X							X					
+wasm-streams@0.3.0		X							X					
+web-sys@0.3.65		X							X					
+winapi@0.3.9		X							X					
+winapi-i686-pc-windows-gnu@0.4.0		X							X					
+winapi-x86_64-pc-windows-gnu@0.4.0		X							X					
+windows-core@0.51.1		X							X					
+windows-sys@0.48.0		X							X					
+windows-targets@0.48.5		X							X					
+windows_aarch64_gnullvm@0.48.5		X							X					
+windows_aarch64_msvc@0.48.5		X							X					
+windows_i686_gnu@0.48.5		X							X					
+windows_i686_msvc@0.48.5		X							X					
+windows_x86_64_gnu@0.48.5		X							X					
+windows_x86_64_gnullvm@0.48.5		X							X					
+windows_x86_64_msvc@0.48.5		X							X					
+winreg@0.50.0									X					
+zerocopy@0.7.26		X		X					X					
+zeroize@1.7.0		X							X					
diff --git a/bin/ofs/README.md b/bin/ofs/README.md
new file mode 100644
index 000000000..91c98092b
--- /dev/null
+++ b/bin/ofs/README.md
@@ -0,0 +1,3 @@
+# OpenDAL File System
+
+OpenDAL File System (ofs) is a userspace filesystem backing by OpenDAL.
diff --git a/bin/ofs/src/lib.rs b/bin/ofs/src/lib.rs
new file mode 100644
index 000000000..b248758bc
--- /dev/null
+++ b/bin/ofs/src/lib.rs
@@ -0,0 +1,16 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
diff --git a/scripts/dependencies.py b/scripts/dependencies.py
index 5aec06827..9833b036b 100644
--- a/scripts/dependencies.py
+++ b/scripts/dependencies.py
@@ -24,6 +24,10 @@ import os
 DIRS = [
     "core",
 
+    "bin/oli",
+    "bin/oay",
+    "bin/ofs",
+
     "bindings/c",
     "bindings/cpp",
     "bindings/dotnet",