{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "jmavsim",
            "type": "shell",
            "command": "Tools/jmavsim_run.sh",
            "isBackground": true,
            "args": [
                "-r",
                "250",
                "-l"
            ],
            "options": {
                "cwd": "${workspaceRoot}",
                "env": {
                    "PX4_SIM_SPEED_FACTOR": "1"
                }
            },
            "presentation": {
                "reveal": "always",
                "panel": "dedicated"
            },
            "problemMatcher": [
                {
                    "pattern": [
                        {
                            "regexp": ".",
                            "file": 1,
                            "location": 2,
                            "message": 3
                        }
                    ],
                    "background": {
                        "activeOnStart": true,
                        "beginsPattern": ".",
                        "endsPattern": ".",
                    }
                }
            ]
        },
        {
            "label": "jmavsim kill",
            "type": "shell",
            "command": "kill $(ps aux | grep jmavsim | grep -v 'grep' | awk '{print $2}')",
            "problemMatcher": []
        },
        {
            "label": "gazebo build",
            "type": "shell",
            "command": "make px4_sitl_default sitl_gazebo",
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": []
        },
        {
            "label": "gazebo iris",
            "type": "shell",
            "dependsOn": "gazebo build",
            "options": {
                "cwd": "${workspaceRoot}",
                "env": {
                    "GAZEBO_PLUGIN_PATH": "${workspaceRoot}/build/px4_sitl_default/build_gazebo",
                    "GAZEBO_MODEL_PATH": "${workspaceRoot}/Tools/sitl_gazebo/models",
                    "PX4_SIM_SPEED_FACTOR": "1"
                }
            },
            "command": "gzserver --verbose ${workspaceRoot}/Tools/sitl_gazebo/worlds/iris.world & gzclient",
            "isBackground": true,
            "presentation": {
                "reveal": "always",
                "panel": "dedicated"
            },
            "problemMatcher": [
                {
                    "pattern": [
                        {
                            "regexp": ".",
                            "file": 1,
                            "location": 2,
                            "message": 3
                        }
                    ],
                    "background": {
                        "activeOnStart": true,
                        "beginsPattern": ".",
                        "endsPattern": ".",
                    }
                }
            ]
        },
        {
            "label": "gazebo kill",
            "type": "shell",
            "command": "killall gzserver; killall gzclient",
            "problemMatcher": []
        },
        {
            "label": "mavlink shell",
            "type": "shell",
            "command": "./Tools/mavlink_shell.py",
            "options": {
                "cwd": "${workspaceRoot}"
            },
            "problemMatcher": []
        }
    ]
}
