content: # Copyright Materialize, Inc. and contributors. All rights reserved.
  #
  # Use of this software is governed by the Business Source License
  # included in the LICENSE file at the root of this repository.
  #
  # As of the Change Date specified in that file, in accordance with
  # the Business Source License, use of this software will be governed
  # by the Apache License, Version 2.0.
  
  # Configuration file for cargo-deplint
  #
  # If you find yourself here because CI failed on a PR, please don't blindly edit
  # out lints :D. Danhhz is always happy to discuss crate structure if you need
  # help fitting a change into these rules.
  
  # Keep various large crates from depending on frequently changing ones, so that
  # development iteration doesn't invalidate them.
  [[deny]]
  name = "mz-transform"
  dependencies = [
      "mz-compute-client",
      "mz-storage-client",
  ]
  
  [[deny]]
  name = "mz-sql"
  dependencies = [
      "mz-compute-client",
      "mz-storage-client",
  ]
  
  [[deny]]
  name = "mz-compute"
  dependencies = [
      "mz-storage-controller",
      "mz-storage",
  ]
  
  [[deny]]
  name = "mz-storage"
  dependencies = [
      "mz-storage-controller",
      "mz-compute",
  ]
  
  # Keep various `*-types` crates from depending on `*-client` crates. This list
  # is unfortunately manual for now.
  
  [[deny]]
  name = "mz-adapter-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-compute-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-controller-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-persist-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-rocksdb-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-storage-types"
  dependencies = [
      "mz-persist-client",
  ]
  
  [[deny]]
  name = "mz-storage-types"
  dependencies = [
      "mz-txn-wal",
  ]
  
  # Keep various crates in only one of environmentd or clusterd.
  [[deny]]
  name = "mz-environmentd"
  dependencies = [
      "mz-compute",
      "mz-rocksdb",
      "mz-storage",
      "mz-storage-operators",
  ]
  
  [[deny]]
  name = "mz-clusterd"
  dependencies = [
      "mz-storage-controller",
  ]
  
  # Persist is meant to be a strong enough abstraction that it doesn't depend on
  # mz internals like Row.
  [[deny]]
  name = "mz-persist-client"
  dependencies = [
      "mz-repr",
  ]
  