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

tison pushed a commit to branch ring-license
in repository https://gitbox.apache.org/repos/asf/opendal.git

commit c3744c2fa6ef893389fdaeb82d08e0947021ae89
Author: tison <[email protected]>
AuthorDate: Sat Nov 22 22:08:55 2025 +0800

    fine tune reports
    
    Signed-off-by: tison <[email protected]>
---
 deny.toml               | 25 ++++++++++++++++++++++---
 scripts/dependencies.py | 11 +++++++----
 2 files changed, 29 insertions(+), 7 deletions(-)

diff --git a/deny.toml b/deny.toml
index 1df6a3b4a..9e9cd3e64 100644
--- a/deny.toml
+++ b/deny.toml
@@ -19,9 +19,28 @@
 allow = [
   "Apache-2.0",
   "Apache-2.0 WITH LLVM-exception",
-  "MIT",
-  "MPL-2.0",
+  "BSD-2-Clause",
   "BSD-3-Clause",
-  "ISC",
   "CC0-1.0",
+  "CDLA-Permissive-2.0",
+  "ISC",
+  "MIT",
+  "MPL-2.0",
+  "MIT",
+  "MPL-2.0",
+  "OpenSSL",
+  "Unicode-3.0",
+  "Unicode-DFS-2016",
+  "Zlib",
 ]
+
+exceptions = [
+  { crate = "malachite", allow = ["LGPL-3.0"] },
+  { crate = "malachite-base", allow = ["LGPL-3.0"] },
+  { crate = "malachite-bigint", allow = ["LGPL-3.0"] },
+  { crate = "malachite-nz", allow = ["LGPL-3.0"] },
+  { crate = "malachite-q", allow = ["LGPL-3.0"] },
+]
+
+# this config file is used for all crates; some of them would not encounter 
all the allowed licenses
+unused-allowed-license = "allow"
diff --git a/scripts/dependencies.py b/scripts/dependencies.py
index 1e7f0027c..e80b8e858 100755
--- a/scripts/dependencies.py
+++ b/scripts/dependencies.py
@@ -24,14 +24,17 @@ from constants import PACKAGES
 
 
 def check_single_package(root):
-    print(f"Checking dependencies of {root}")
-    subprocess.run(["cargo", "deny", "check", "license"], cwd=root)
+    if (Path(root) / "Cargo.toml").exists():
+        print(f"Checking dependencies of {root}")
+        subprocess.run(["cargo", "deny", "check", "license"], cwd=root)
+    else:
+        print(f"Skipping {root} as Cargo.toml does not exist")
 
 
 def check_deps():
     cargo_dirs = PACKAGES
-    with ThreadPoolExecutor(max_workers=4) as executor:
-        executor.map(check_single_package, cargo_dirs)
+    for d in cargo_dirs:
+        check_single_package(d)
 
 
 def generate_single_package(root):

Reply via email to