168 lines
5.1 KiB
JSON
168 lines
5.1 KiB
JSON
{
|
|
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
|
// for the documentation about the tasks.json format
|
|
// Available variables which can be used inside of strings.
|
|
// ${workspaceRoot}: the root folder of the team
|
|
// ${file}: the current opened file
|
|
// ${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
|
|
"version": "2.0.0",
|
|
"tasks": [
|
|
// Invokes ninja in the 'out/active' directory, which is created with
|
|
// the 'gn gen' task (see below).
|
|
{
|
|
"label": "build",
|
|
"group": {
|
|
"kind": "build",
|
|
"isDefault": true
|
|
},
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "sh",
|
|
"args": [
|
|
"-c",
|
|
"ninja && echo Done"
|
|
],
|
|
},
|
|
"osx": {
|
|
"command": "sh",
|
|
"args": [
|
|
"-c",
|
|
"ninja && echo Done"
|
|
],
|
|
},
|
|
"windows": {
|
|
"command": "/C",
|
|
"args": [
|
|
"ninja && echo Done",
|
|
],
|
|
"options": {
|
|
"shell": {
|
|
"executable": "cmd"
|
|
},
|
|
}
|
|
},
|
|
"options": {
|
|
"cwd": "${workspaceRoot}/out/active",
|
|
},
|
|
"presentation": {
|
|
"echo": false,
|
|
"reveal": "always",
|
|
"focus": false,
|
|
"panel": "shared",
|
|
"showReuseMessage": false,
|
|
"clear": true,
|
|
},
|
|
"problemMatcher": {
|
|
"owner": "cpp",
|
|
"fileLocation": "absolute",
|
|
"pattern": {
|
|
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
|
|
"file": 1,
|
|
"line": 2,
|
|
"column": 3,
|
|
"severity": 4,
|
|
"message": 5
|
|
}
|
|
}
|
|
},
|
|
// Generates a GN build directory at 'out/<build-type>' with the
|
|
// is_debug argument set to to true iff the build-type is Debug.
|
|
// A symbolic link to this build directory is created at 'out/active'
|
|
// which is used to track the active build directory.
|
|
{
|
|
"label": "setup build",
|
|
"type": "shell",
|
|
"command": "./tools/setup-build",
|
|
"args": [
|
|
"${input:buildSystem}",
|
|
"${input:buildType}",
|
|
"${input:buildArch}",
|
|
],
|
|
"options": {
|
|
"cwd": "${workspaceRoot}"
|
|
},
|
|
"problemMatcher": [],
|
|
},
|
|
// Rebases the current branch on to origin/main and then calls
|
|
// `gclient sync`.
|
|
{
|
|
"label": "sync",
|
|
"type": "shell",
|
|
"linux": {
|
|
"command": "sh",
|
|
"args": [
|
|
"-c",
|
|
"git fetch origin && git rebase origin/main && gclient sync && echo Done"
|
|
],
|
|
},
|
|
"osx": {
|
|
"command": "sh",
|
|
"args": [
|
|
"-c",
|
|
"git fetch origin && git rebase origin/main && gclient sync && echo Done"
|
|
],
|
|
},
|
|
"windows": {
|
|
"command": "/C",
|
|
"args": [
|
|
"git fetch origin && git rebase origin/main && gclient sync && echo Done",
|
|
],
|
|
"options": {
|
|
"shell": {
|
|
"executable": "cmd"
|
|
},
|
|
}
|
|
},
|
|
"options": {
|
|
"cwd": "${workspaceRoot}"
|
|
},
|
|
"problemMatcher": [],
|
|
},
|
|
// Pushes the changes at HEAD to gerrit for review
|
|
{
|
|
"label": "push",
|
|
"type": "shell",
|
|
"command": "./tools/push-to-gerrit",
|
|
"options": {
|
|
"cwd": "${workspaceRoot}"
|
|
},
|
|
"problemMatcher": [],
|
|
},
|
|
],
|
|
"inputs": [
|
|
{
|
|
"id": "buildSystem",
|
|
"type": "pickString",
|
|
"options": [
|
|
"cmake",
|
|
"gn",
|
|
],
|
|
"default": "gn",
|
|
"description": "The build system",
|
|
},
|
|
{
|
|
"id": "buildType",
|
|
"type": "pickString",
|
|
"options": [
|
|
"Debug",
|
|
"Release",
|
|
],
|
|
"default": "Debug",
|
|
"description": "The type of build",
|
|
},
|
|
{
|
|
"id": "buildArch",
|
|
"type": "pickString",
|
|
"options": [
|
|
"native",
|
|
"x86",
|
|
],
|
|
"default": "native",
|
|
"description": "The build architecture",
|
|
},
|
|
]
|
|
}
|