{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    // Available variables which can be used inside of strings.
    // ${workspaceRoot}: the root folder of the team
    // ${file}: the current opened file
    // ${fileBasename}: the current opened file's basename
    // ${fileDirname}: the current opened file's dirname
    // ${fileExtname}: the current opened file's extension
    // ${cwd}: the current working directory of the spawned process
    "version": "2.0.0",
    "tasks": [
        // Invokes ninja in the 'out/active' directory, which is created with
        // the 'gn gen' task (see below).
        {
            "label": "build",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "type": "shell",
            "linux": {
                "command": "sh",
                "args": [
                    "-c",
                    "ninja && echo Done"
                ],
            },
            "osx": {
                "command": "sh",
                "args": [
                    "-c",
                    "ninja && echo Done"
                ],
            },
            "windows": {
                "command": "/C",
                "args": [
                    "ninja && echo Done",
                ],
                "options": {
                    "shell": {
                        "executable": "cmd"
                    },
                }
            },
            "options": {
                "cwd": "${workspaceRoot}/out/active",
            },
            "presentation": {
                "echo": false,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true,
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },
        // Generates a GN build directory at 'out/<build-type>' with the
        // is_debug argument set to to true iff the build-type is Debug.
        // A symbolic link to this build directory is created at 'out/active'
        // which is used to track the active build directory.
        {
            "label": "gn gen",
            "type": "shell",
            "linux": {
                "command": "./tools/setup-build",
                "args": [
                    "gn",
                    "${input:buildType}",
                ],
            },
            "osx": {
                "command": "./tools/setup-build",
                "args": [
                    "gn",
                    "${input:buildType}",
                ],
            },
            "windows": {
                "command": "/C",
                "args": [
                    "(IF \"${input:buildType}\" == \"Debug\" ( gn gen \"out\\${input:buildType}\" --args=is_debug=true ) ELSE ( gn gen \"out\\${input:buildType}\" --args=is_debug=false )) && (IF EXIST \"out\\active\" rmdir \"out\\active\" /q /s) && (mklink /j \"out\\active\" \"out\\${input:buildType}\")",
                ],
                "options": {
                    "shell": {
                        "executable": "cmd"
                    },
                }
            },
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": [],
        },
        {
            "label": "cmake gen",
            "type": "shell",
            "linux": {
                "command": "./tools/setup-build",
                "args": [
                    "cmake",
                    "${input:buildType}",
                ],
            },
            "osx": {
                "command": "./tools/setup-build",
                "args": [
                    "cmake",
                    "${input:buildType}",
                ],
            },
            "windows": {
                "command": "/C",
                "args": [
                    "echo TODO",
                ],
                "options": {
                    "shell": {
                        "executable": "cmd"
                    },
                }
            },
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": [],
        },
        // Rebases the current branch on to origin/main and then calls
        // `gclient sync`.
        {
            "label": "sync",
            "type": "shell",
            "linux": {
                "command": "sh",
                "args": [
                    "-c",
                    "git fetch origin && git rebase origin/main && gclient sync && echo Done"
                ],
            },
            "osx": {
                "command": "sh",
                "args": [
                    "-c",
                    "git fetch origin && git rebase origin/main && gclient sync && echo Done"
                ],
            },
            "windows": {
                "command": "/C",
                "args": [
                    "git fetch origin && git rebase origin/main && gclient sync && echo Done",
                ],
                "options": {
                    "shell": {
                        "executable": "cmd"
                    },
                }
            },
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": [],
        },
        // Pushes the changes at HEAD to gerrit for review
        {
            "label": "push",
            "type": "shell",
            "command": "git",
            "args": [
                "push",
                "origin",
                "HEAD:refs/for/main"
            ],
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": [],
        }
    ],
    "inputs": [
        {
            "id": "buildType",
            "type": "pickString",
            "options": [
                "Debug",
                "Release",
            ],
            "default": "Debug",
            "description": "The type of build",
        },
    ]
}
