{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "gettext - Scan",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "gettext.bat",
                "rescan",
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHONUTF8": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "label": "gettext - Compile",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "gettext.bat",
                "compile",
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "label": "Run Coverage",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "run_coverage.bat",
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "Run pytest",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "run_pytest.bat"
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}"
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "Run Pylint",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "run_pylint.bat",
                // "--disable=R0801,C0103,C0114,C0115,C0116,W0612,W0613",
                "--disable=fixme,C,R,W",
                "--ignore=external",
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "Run Ruff",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "run_ruff.bat",
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                    "UNATTENDED": "1"
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "dedicated",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "Clean Up",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "clean_up.bat"
            ],
            "options": {
                "cwd": "scripts",
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "label": "Upgrade PlotPyStack packages",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "upgrade_stack.bat"
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "label": "⚠️ Upgrade whole environment ⚠️",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "upgrade_env.bat"
            ],
            "options": {
                "cwd": "scripts",
                "env": {
                    "UNATTENDED": "1",
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": false
            }
        },
        {
            "label": "Build documentation",
            "type": "shell",
            "command": "cmd",
            "options": {
                "cwd": "scripts",
                "env": {
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                    "UNATTENDED": "1",
                }
            },
            "args": [
                "/c",
                "build_doc.bat"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            }
        },
        {
            "label": "Build Python packages",
            "type": "shell",
            "command": "cmd",
            "options": {
                "cwd": "scripts",
                "env": {
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                    "UNATTENDED": "1",
                }
            },
            "args": [
                "/c",
                "build_dist.bat"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            },
            "dependsOrder": "sequence",
            "dependsOn": [
                "Clean Up",
            ]
        },
        {
            "label": "Build all wheels",
            "type": "shell",
            "command": "cmd",
            "options": {
                "cwd": "scripts",
                "env": {
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                    "UNATTENDED": "1",
                }
            },
            "args": [
                "/c",
                "build_wheels.bat"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            },
            "dependsOrder": "sequence",
            "dependsOn": [
                "Clean Up",
            ]
        },
        {
            "label": "Build extensions in place",
            "type": "shell",
            "command": "cmd",
            "options": {
                "cwd": "scripts",
                "env": {
                    "PYTHON": "${env:PPSTACK_PYTHONEXE}",
                    "UNATTENDED": "1",
                }
            },
            "args": [
                "/c",
                "build_inplace.bat"
            ],
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": true,
                "clear": true
            },
            "dependsOrder": "sequence",
            "dependsOn": [
                "Clean Up",
            ]
        },
        {
            "label": "Display Coverage",
            "type": "shell",
            "command": "cmd",
            "args": [
                "/c",
                "display_cov.bat",
            ],
            "options": {
                "cwd": "scripts",
            },
            "group": {
                "kind": "build",
                "isDefault": false
            },
            "presentation": {
                "echo": true,
                "reveal": "never",
                "focus": false,
                "panel": "shared",
                "showReuseMessage": false,
                "clear": true
            }
        },
    ]
}