{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "verify",
            "type": "shell",
            "command": "mvn -B verify",
            "group": "build"
        },
        {
            "label": "test",
            "type": "shell",
            "command": "mvn -B test",
            "group": "test"
        },
        {
            "label": "package",
            "type": "shell",
            "command": "mvn package -DskipTests",
            "group": "build"
        },
        {
            "dependsOn": ["package"],
            "label": "load build to server",
            "type": "shell",
            "args": ["-ExecutionPolicy", "Bypass", "-File", "./load_latest_build.ps1"],
            "options": {"cwd": "${workspaceFolder}/test-server/"},
            "command": "powershell",
            "problemMatcher": [],
            "presentation": {
                "echo": true,
                "reveal": "silent",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "dependsOn": ["load build to server"],
            "label": "start test server",
            "type": "shell",
            "runOptions": {"instanceLimit": 1},
            "args": ["-ExecutionPolicy", "Bypass", "-File", "./start_process.ps1"],
            "options": {"cwd": "${workspaceFolder}/test-server/"},
            "command": "powershell",
            "problemMatcher": [],
            "group": "test",
            "presentation": {
                "echo": true,
                "reveal": "silent",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": false
            }
        },
        {
            "label": "stop test server",
            "type": "shell",
            "args": ["-ExecutionPolicy", "Bypass", "-File", "./end_process.ps1"],
            "options": {"cwd": "${workspaceFolder}/test-server/"}, 
            "command": "powershell",
            "problemMatcher": [],
            "group": "test",
            "presentation": {
                "echo": true,
                "reveal": "silent",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        }
    ]
}