content: [package]
  name = "cfg-noodle"
  version = "0.5.0"
  authors = [
      "James Munns <james@onevariable.com>",
      "Julian Dickert <julian@systemscape.de>",
  ]
  edition = "2024"
  readme = "README.md"
  repository = "https://github.com/tweedegolf/cfg-noodle"
  description = "A nonvolatile configuration storage service"
  license = "MIT"
  
  categories = ["embedded", "no-std"]
  keywords = ["storage"]
  documentation = "https://docs.rs/cfg-noodle/"
  
  [package.metadata.docs.rs]
  rustdoc-args = ["--cfg", "docsrs"]
  
  [[test]]
  name = "integration_tests"
  required-features = ["std"]
  
  [features]
  default = [
      "disable-cache-padding",
  ]
  std = [
      "embassy-sync/std",
      "embassy-time/std",
      "embassy-futures/log",
      "minicbor/std",
      "sequential-storage/std",
      "sequential-storage/_test",
      "tokio/sync",
      "critical-section/std",
      "maitake-sync/std",
      "mutex-traits/std",
      "dep:log",
      "dep:simple_logger",
      "dep:tokio",
      "dep:embassy-executor",
  ]
  defmt = [
      "dep:defmt",
      "embassy-futures/defmt",
      "embassy-sync/defmt",
      "embassy-time/defmt",
      "sequential-storage/defmt-03",
  ]
  
  # disable cache padding for cordyceps + maitake-sync, this drastically reduces the size
  # for targets that are not worried about cache alignment.
  #
  # See: https://docs.rs/cordyceps/latest/cordyceps/#features
  disable-cache-padding = [
      "cordyceps/no-cache-pad",
      "maitake-sync/no-cache-pad",
  ]
  
  [dependencies]
  crc                     = "3.3.0"
  critical-section        = "1.2.0"
  embassy-futures         = "0.1.1"
  embassy-sync            = "0.7.0"
  embassy-time            = "0.5.0"
  embedded-storage-async  = "0.4.1"
  mutex-traits            = "1.0.0"
  pin-project             = "1.1.10"
  sequential-storage      = "5.0.0"
  
  cordyceps        = { version = "0.3.4", default-features = false }
  defmt            = { version = "1.0.1", optional = true }
  log              = { version = "0.4.27", optional = true }
  maitake-sync     = { version = "0.2.1", default-features = false }
  minicbor         = { version = "2.0.0", default-features = false, features = ["derive"] }
  mutex            = { version = "1.0.0", features = ["impl-critical-section"] }
  simple_logger    = { version = "5.0.0", optional = true }
  tokio            = { version = "1.45.1", optional = true, features = ["macros", "rt-multi-thread", "time"] }
  embassy-executor = { version = "0.9.1", optional = true, features = ["arch-std", "executor-thread"] } # Required to get this crate compiled on windows under std
  
  [dev-dependencies]
  approx          = "0.5.1"
  futures-test    = "0.3.31"
  test-log        = "0.2.17"
  
  futures = { version = "0.3.31", features = ["executor"] }
  mutex   = { version = "1.0.0",  features = ["impl-critical-section"] }
  