content: # This file is used to extend the standard rust-driver-makefile to build official sample drivers. See examples at https://github.com/microsoft/Windows-rust-drivers-samples
  # Using this file requires extending both the standard makefile and this makefile in order, as follows:
  # extend = [ { path =  "target/rust-driver-makefile.toml" }, { path = "target/rust-driver-sample-makefile.toml" } ]
  
  [tasks.wdk-samples-setup]
  private = true
  install_crate = { crate_name = "rust-script", min_version = "0.30.0" }
  plugin = "rust-env-update"
  script_runner = "@rust"
  script = '''
  //! ```cargo
  //! [dependencies]
  //! wdk-build = { path = ".", version = "0.4.0" }
  //! ```
  #![allow(unused_doc_comments)]
  
  let env_string = std::env::var_os(wdk_build::cargo_make::WDK_VERSION_ENV_VAR)
      .map_or_else(
          || panic!("Couldn't read WDK build version that should have been set in init"),
          |os_env_string| os_env_string.to_string_lossy().into_owned(),
      );
  let samples_infverif_env_vars = wdk_build::cargo_make::setup_infverif_for_samples(&env_string)?;
  
  wdk_build::cargo_make::forward_printed_env_vars(
      samples_infverif_env_vars,
  );
  '''
  
  [tasks.infverif]
  dependencies = ["wdk-samples-setup", "stampinf"]
  condition_script_runner_args = [
    "--base-path",
    "${CARGO_MAKE_CURRENT_TASK_INITIAL_MAKEFILE_DIRECTORY}",
  ]
  condition_script = '''
  #!@rust
  
  //! ```cargo
  //! [dependencies]
  //! wdk-build = { path = ".", version = "0.4.0" }
  //! anyhow = "1"
  //! ```
  #![allow(unused_doc_comments)]
  
  fn main() -> anyhow::Result<()> {
      wdk_build::cargo_make::driver_sample_infverif_condition_script()
  }
  '''
  