{
  "version": "2.0.0",
  "tasks": [
      {
          "type": "shell",
          "label": "Extract solution",
          "detail": "Exports a solution and extracts its metadata into source control",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target extract-solution",
              "--DataverseSolution ${input:solution}"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Pack solution",
          "detail": "Packs a managed or unmanaged solution zip file.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target pack-solution",
              "--DataverseSolution ${input:solution}",
              "--SolutionType ${input:solutionType}"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Clean",
          "detail": "Deletes all build outputs.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target clean"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Restore",
          "detail": "Restores all package references.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target restore"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Compile",
          "detail": "Builds a managed or unmanaged Package Deployer package.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target compile",
              "--SolutionType ${input:solutionType}"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Compile tests",
          "detail": "Compiles the test projects.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "--target compile-tests"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Deploy plug-ins",
          "detail": "Deploys plug-ins for a solution using spkl.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "-Target \"deploy-plugins\"",
              "--DataverseSolution ${input:solution}"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Deploy workflow activities",
          "detail": "Deploys workflow activities for a solution using spkl.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "-Target \"deploy-workflow-activities\"",
              "--DataverseSolution ${input:solution}"
          ],
          "problemMatcher": []
      },
      {
          "type": "shell",
          "label": "Generate early-bound model",
          "detail": "Generates an early-bound model for a solution using spkl.",
          "command": [
              "powershell",
              "-ExecutionPolicy ByPass",
              "-File build.ps1",
              "-Target \"generate-model\"",
              "--DataverseSolution ${input:solution}"
          ],
          "problemMatcher": []
      }
  ],
  "inputs": [
      {
          "id": "solution",
          "description": "The solution to execute the task for.",
          "type": "pickString",
          "options": []
      },
      {
          "id": "solutionType",
          "description": "Type of solution.",
          "type": "pickString",
          "options": [
              "Managed",
              "Unmanaged"
          ]
      }
  ]
}