content: # This file inherits defaults from
  # https://github.com/sagiegurari/cargo-make/blob/0.36.0/src/lib/descriptor/makefiles/stable.toml
  
  # This is a configuration file for the cargo plugin `cargo-make`. We use this plugin because of it's handling around
  # cargo workspaces. Specifically, each task is run on workspace members independently, avoiding potential issues that
  # arise from feature unification (https://doc.rust-lang.org/cargo/reference/features.html#feature-unification).
  # Feature unification allows two unrelated crates with the same dependency to enable features on eachother.
  # This is problematic when a crate is built independently (when publishing / being consumed from crates.io),
  # and it implicitly depended on features enabled by other crates in the same workspace.
  # While feature resolver v2 attempted to resolve this problem, it still comes up in certain scenarios.
  
  # Disable built-in flows
  [config]
  # Skip loading of all core tasks which saves up a bit on toml parsing and task creation
  skip_core_tasks = true
  # Skips loading Git related environment variables
  skip_git_env_info = true
  # Skips loading rust related environment variables
  skip_rust_env_info = true
  # Skips loading the current crate related environment variables
  skip_crate_env_info = true
  
  [env]
  CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true
  
  [tasks.check]
  description = "Compile code without linking. Faster than build to detect problems."
  category = "Build"
  command = "cargo"
  args = ["check", "${@}"]
  # skip compilation checks on tests since it will be tested anyways
  env = { "CARGO_MAKE_WORKSPACE_SKIP_MEMBERS" = ["fuel-core-tests"] }
  
  [tasks.test]
  description = "Run tests on each workspace member"
  category = "Test"
  command = "cargo"
  args = ["nextest", "run", "${@}"]
  