[package] name = "spring-batch-rs" version = "0.2.1" edition = "2021" authors = ["Simon Boussekeyt "] license = "MIT OR Apache-2.0" repository = "https://github.com/sboussekeyt/spring-batch-rs" documentation = "https://docs.rs/spring-batch-rs" keywords = ["batch", "csv", "data", "json", "rdbc"] readme = "README.md" description = "A toolkit for building enterprise-grade batch applications" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [profile.dev] opt-level = 0 [profile.release] opt-level = 3 [lib] name = "spring_batch_rs" path = "src/lib.rs" [dependencies] log = "0.4.20" serde = { version = "1.0.196", features = ["derive"] } thiserror = "1.0.58" csv = { version = "1.3.0", optional = true } fake = { version = "2.9.2", features = ["time"], optional = true } rand = { version = "0.8.5"} time = { version = "0.3.34", features = ["serde-human-readable"], optional = true } serde_json = { version = "1.0.114" } tokio = { version = "1.36.0", features = ["full"] } sqlx = { version = "0.7.4", optional = true, features = ["runtime-tokio"] } anyhow = { version = "1.0.81" } mongodb = { version = "2.8.2", optional = true, default-features = false } bson = { version = "2.9.0", optional = true, default-features = false } uuid = { version = "1.7.0", features = ["v4"] } [dev-dependencies] spring-batch-rs = { path = ".", features = ["tests-cfg"] } rand = { version = "0.8.5" } mockall = "0.12.1" testcontainers-modules = { version = "0.3.5", features = ["postgres", "mysql", "mongo"] } tempfile = "3.10.0" env_logger = "0.11.1" [features] # Include nothing by default default = [] tests-cfg = ["full"] # enable everything full = [ "csv", "json", "logger", "fake", "rdbc-postgres", "rdbc-mysql", "rdbc-sqlite", "mongodb" ] csv = ["dep:csv"] json = [] rdbc-postgres = ["sqlx/postgres", "rdbc"] rdbc-mysql = ["sqlx/mysql", "rdbc"] rdbc-sqlite = ["sqlx/sqlite", "rdbc"] mongodb = ["mongodb/tokio-sync", "bson"] fake = ["dep:fake", "dep:time"] logger = [] rdbc = [] [[example]] name = "generate_csv_file_from_json_file_with_processor" required-features = ["csv", "json"] [[example]] name = "generate_json_file_from_csv_string_with_fault_tolerance" required-features = ["csv", "json"] [[example]] name = "generate_json_file_from_fake_persons" required-features = ["json", "fake"] [[example]] name = "generate_csv_file_without_headers_from_fake_persons" required-features = ["csv", "fake"] [[example]] name = "log_records_from_postgres_database" required-features = ["rdbc-postgres", "logger"] [[example]] name = "insert_records_into_mysql_database" required-features = ["rdbc-mysql", "csv"] [[example]] name = "read_records_from_mongodb_database" required-features = ["mongodb", "csv"] [[example]] name = "write_records_to_mongodb_database" required-features = ["mongodb", "csv"]