Templates/NewModule/editor/VSCode/tasks_psake_pester.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
// Available variables which can be used inside of strings.
// ${workspaceRoot}: the root folder of the team
// ${file}: the current opened file
// ${relativeFile}: the current opened file relative to workspaceRoot
// ${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
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
 
    // Start PowerShell
    "windows": {
        "command": "${env:windir}/System32/WindowsPowerShell/v1.0/powershell.exe",
        "args": [ "-NoProfile", "-ExecutionPolicy", "Bypass" ]
    },
    "linux": {
        "command": "/usr/bin/powershell",
        "args": [ "-NoProfile" ]
    },
    "osx": {
        "command": "/usr/local/bin/powershell",
        "args": [ "-NoProfile" ]
    },
 
    // The command is a shell script
    "isShellCommand": true,
 
    // Show the output window always
    "showOutput": "always",
 
    // Associate with test task runner
    "tasks": [
        {
            "taskName": "Clean",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList Clean'; Invoke-psake tools\\_build.psake.ps1 -taskList Clean;",
                "Invoke-Command { Write-Host 'Completed Clean task in task runner.' }"
            ]
        },
        {
            "taskName": "Build",
            "suppressTaskName": true,
            "isBuildCommand": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList Build'; Invoke-psake tools\\_build.psake.ps1 -taskList Build;",
                "Invoke-Command { Write-Host 'Completed Build task in task runner.' }"
            ]
        },
        {
            "taskName": "BuildHelp",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList BuildHelp'; Invoke-psake tools\\_build.psake.ps1 -taskList BuildHelp;",
                "Invoke-Command { Write-Host 'Completed BuildHelp task in task runner.' }"
            ]
        },
        {
            "taskName": "Analyze",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList Analyze'; Invoke-psake tools\\_build.psake.ps1 -taskList Analyze;",
                "Invoke-Command { Write-Host 'Completed Analyze task in task runner.' }"
            ]
        },
        {
            "taskName": "Install",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList Install'; Invoke-psake tools\\_build.psake.ps1 -taskList Install;",
                "Invoke-Command { Write-Host 'Completed Install task in task runner.' }"
            ]
        },
        {
            "taskName": "Publish",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList Publish'; Invoke-psake tools\\_build.psake.ps1 -taskList Publish;",
                "Invoke-Command { Write-Host 'Completed Publish task in task runner.' }"
            ]
        },
        {
            "taskName": "ExportFunctionsToSrc",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList ExportFunctionsToSrc'; Invoke-psake tools\\_build.psake.ps1 -taskList ExportFunctionsToSrc;",
                "Invoke-Command { Write-Host 'Completed ExportFunctionsToSrc task in task runner.' }"
            ]
        },
        {
            "taskName": "BuildTests",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking psake on tools\\_build.psake.ps1 -taskList BuildTests'; Invoke-psake tools\\_build.psake.ps1 -taskList BuildTests;",
                "Invoke-Command { Write-Host 'Completed BuildTests task in task runner.' }"
            ]
        },
        {
            "taskName": "Test",
            "suppressTaskName": true,
            "isTestCommand": true,
            "showOutput": "always",
            "args": [
                "Write-Host 'Invoking Pester'; Invoke-Pester -PesterOption @{IncludeVSCodeMarker=$true};",
                "Invoke-Command { Write-Host 'Completed Test task in task runner.' }"
            ],
            "problemMatcher": [
                {
                    "owner": "powershell",
                    "fileLocation": ["absolute"],
                    "severity": "error",
                    "pattern": [
                        {
                            "regexp": "^\\s*(\\[-\\]\\s*.*?)(\\d+)ms\\s*$",
                            "message": 1
                        },
                        {
                            "regexp": "^\\s+at\\s+[^,]+,\\s*(.*?):\\s+line\\s+(\\d+)$",
                            "file": 1,
                            "line": 2
                        }
                    ]
                }
            ]
        }
    ]
}