{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Build Schema",
  "$ref": "#/definitions/build",
  "definitions": {
    "build": {
      "type": "object",
      "properties": {
        "_solution": {
          "type": "string",
          "description": "Path to a solution file that is automatically loaded. Default is LibHac.sln"
        },
        "Configuration": {
          "type": "string",
          "description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)"
        },
        "Continue": {
          "type": "boolean",
          "description": "Indicates to continue a previously failed build attempt"
        },
        "Help": {
          "type": "boolean",
          "description": "Shows the help text for this build assembly"
        },
        "Host": {
          "type": "string",
          "description": "Host for execution. Default is 'automatic'",
          "enum": [
            "AppVeyor",
            "AzurePipelines",
            "Bamboo",
            "Bitbucket",
            "Bitrise",
            "GitHubActions",
            "GitLab",
            "Jenkins",
            "Rider",
            "SpaceAutomation",
            "TeamCity",
            "Terminal",
            "TravisCI",
            "VisualStudio",
            "VSCode"
          ]
        },
        "NoLogo": {
          "type": "boolean",
          "description": "Disables displaying the NUKE logo"
        },
        "NoReflection": {
          "type": "boolean",
          "description": "Disable reflection in native builds"
        },
        "Partition": {
          "type": "string",
          "description": "Partition to use on CI"
        },
        "Plan": {
          "type": "boolean",
          "description": "Shows the execution plan (HTML)"
        },
        "Profile": {
          "type": "array",
          "description": "Defines the profiles to load",
          "items": {
            "type": "string"
          }
        },
        "Root": {
          "type": "string",
          "description": "Root directory during build execution"
        },
        "Skip": {
          "type": "array",
          "description": "List of targets to be skipped. Empty list skips all dependencies",
          "items": {
            "type": "string",
            "enum": [
              "AppVeyorBuild",
              "Clean",
              "Codegen",
              "Compile",
              "Full",
              "Native",
              "Pack",
              "Publish",
              "Restore",
              "SetVersion",
              "Sign",
              "Standard",
              "Test",
              "Zip"
            ]
          }
        },
        "Target": {
          "type": "array",
          "description": "List of targets to be invoked. Default is '{default_target}'",
          "items": {
            "type": "string",
            "enum": [
              "AppVeyorBuild",
              "Clean",
              "Codegen",
              "Compile",
              "Full",
              "Native",
              "Pack",
              "Publish",
              "Restore",
              "SetVersion",
              "Sign",
              "Standard",
              "Test",
              "Zip"
            ]
          }
        },
        "Untrimmed": {
          "type": "boolean",
          "description": "Don't enable any size-reducing settings on native builds"
        },
        "Verbosity": {
          "type": "string",
          "description": "Logging verbosity during build execution. Default is 'Normal'",
          "enum": [
            "Minimal",
            "Normal",
            "Quiet",
            "Verbose"
          ]
        }
      }
    }
  }
}