rs
1[package]
2name = "spandx"
3version = "0.1.0"
4edition = "2021"
5rust-version = "1.70"
6authors = ["Can Eldem <eldemcan@gmail.com>", "mo khan <mo@mokhan.ca>"]
7description = "A Rust interface to the SPDX catalogue for dependency license scanning"
8homepage = "https://spandx.github.io/"
9repository = "https://github.com/spandx/spandx-rs"
10license = "MIT"
11keywords = ["spdx", "license", "dependencies", "security", "scanner"]
12categories = ["command-line-utilities", "development-tools"]
13
14[dependencies]
15# CLI framework
16clap = { version = "4.0", features = ["derive", "env"] }
17
18# HTTP client
19reqwest = { version = "0.11", features = ["json", "stream"] }
20tokio = { version = "1.0", features = ["full"] }
21
22# Serialization
23serde = { version = "1.0", features = ["derive"] }
24serde_json = "1.0"
25serde_yaml = "0.9"
26toml = "0.8"
27
28# XML parsing
29roxmltree = "0.19"
30quick-xml = { version = "0.31", features = ["serialize"] }
31
32# Git operations
33git2 = "0.18"
34
35# Error handling
36anyhow = "1.0"
37thiserror = "1.0"
38
39# Async runtime and utilities
40futures = "0.3"
41async-trait = "0.1"
42
43# Parallel processing
44rayon = "1.8"
45
46# Path handling
47camino = { version = "1.1", features = ["serde1"] }
48
49# Progress indicators
50indicatif = "0.17"
51
52# Table formatting
53tabled = "0.14"
54
55# CSV handling
56csv = "1.3"
57
58# Logging
59tracing = "0.1"
60tracing-subscriber = { version = "0.3", features = ["env-filter"] }
61
62# URL handling
63url = { version = "2.4", features = ["serde"] }
64
65# Regular expressions
66regex = "1.10"
67
68# String similarity
69strsim = "0.10"
70
71# Configuration
72config = "0.13"
73
74# File watching and utilities
75walkdir = "2.4"
76tempfile = "3.8"
77
78# Compression
79flate2 = "1.0"
80
81# Cache storage
82sled = "0.34"
83
84# HCL parsing for Terraform
85hcl-rs = "0.16"
86
87# License expression parsing
88pest = "2.7"
89pest_derive = "2.7"
90
91# Binary data handling
92byteorder = "1.5"
93
94# Time handling
95chrono = { version = "0.4", features = ["serde"] }
96
97# UUID generation
98uuid = { version = "1.6", features = ["v4"] }
99
100# URL encoding
101urlencoding = "2.1"
102
103# Hashing
104sha1 = "0.10"
105
106# Directory utilities
107dirs = "5.0"
108
109# Static values
110lazy_static = "1.4"
111
112[dev-dependencies]
113# Testing
114tokio-test = "0.4"
115wiremock = "0.5"
116assert_cmd = "2.0"
117predicates = "3.0"
118tempfile = "3.8"
119criterion = { version = "0.5", features = ["html_reports"] }
120
121[build-dependencies]
122# Build-time dependencies if needed
123
124[[bin]]
125name = "spandx"
126path = "src/main.rs"
127
128[[example]]
129name = "hierarchical_cache_demo"
130path = "examples/hierarchical_cache_demo.rs"
131
132[[example]]
133name = "error_handling_demo"
134path = "examples/error_handling_demo.rs"
135
136[profile.release]
137lto = true
138codegen-units = 1
139panic = "abort"
140strip = true
141
142[[bench]]
143name = "performance_benchmarks"
144harness = false