SSPowerShellBoilerplate/vscode/tasks.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
// 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",
    "runner": "terminal",
 
    // Start PowerShell
    "windows": {
        "command": "PowerShell.exe"
    },
    "linux": {
        "command": "/usr/bin/powershell"
    },
    "osx": {
        "command": "/usr/local/bin/powershell"
    },
 
    // The command is a shell script
    "isShellCommand": true,
 
    // Show the output window always
    "showOutput": "always",
 
    "args": [
        "-NoProfile", "-ExecutionPolicy", "Bypass"
    ],
 
    // Associate with test task runner
    "tasks": [
        {
            "taskName": "Clean",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build -Task Clean"
            ]
        },
        {
            "taskName": "Build",
            "suppressTaskName": true,
            "isBuildCommand": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build"
            ]
        },
        {
            "taskName": "BuildHelp",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build -Task BuildDocs"
            ]
        },
<%
if ($PLASTER_PARAM_SourceType -contains 'PowerShell') {
' {
            "taskName": "Analyze",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build -Task Analyze"
            ]
        },
'
}
%> {
            "taskName": "Install",
            "suppressTaskName": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build -Task Install"
            ]
        },
<%
if ($PLASTER_PARAM_SourceType -contains 'PowerShell') {
@'
        {
            "taskName": "Test",
            "suppressTaskName": true,
            "isTestCommand": true,
            "showOutput": "always",
            "args": [
                "Invoke-Build -Task Test"
            ],
            "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
                        }
                    ]
                }
            ]
        }
 
'@
}
%> ]
}