{
  "id": "#",
  "title": "Cargo Check Executor",
  "description": "A type definition for a Cargo/rust check executor schema",
  "properties": {
    "outputPath": {
      "title": "Output Path",
      "type": "string",
      "format": "path",
      "description": "The output path for the build",
      "id": "#outputPath",
      "default": "dist/{projectRoot}"
    },
    "package": {
      "title": "Cargo.toml Path",
      "type": "string",
      "format": "path",
      "description": "The path to the Cargo.toml file",
      "id": "#package",
      "default": "{projectRoot}/Cargo.toml"
    },
    "toolchain": {
      "title": "Toolchain",
      "description": "The type of toolchain to use for the build",
      "enum": [
        "stable",
        "beta",
        "nightly"
      ],
      "default": "stable",
      "id": "#toolchain",
      "type": "string"
    },
    "target": {
      "title": "Target",
      "type": "string",
      "description": "The target to build",
      "id": "#target"
    },
    "allTargets": {
      "title": "All Targets",
      "type": "boolean",
      "description": "Build all targets",
      "id": "#allTargets"
    },
    "profile": {
      "title": "Profile",
      "type": "string",
      "description": "The profile to build",
      "id": "#profile"
    },
    "release": {
      "title": "Release",
      "type": "boolean",
      "description": "Build in release mode",
      "id": "#release"
    },
    "features": {
      "title": "Features",
      "type": "string",
      "description": "The features to build",
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      ],
      "id": "#features"
    },
    "allFeatures": {
      "title": "All Features",
      "type": "boolean",
      "description": "Build all features",
      "id": "#allFeatures"
    }
  },
  "type": "object",
  "default": {
    "outputPath": "dist/{projectRoot}",
    "package": "{projectRoot}/Cargo.toml",
    "toolchain": "stable"
  }
}