Add some task definitions to run mach from VSCode (bug 1323308). r=gps
authorPanos Astithas <past@mozilla.com>
Thu, 04 May 2017 18:03:54 +0300
changeset 357949 4b3970c598da76e637448083ce6dd2d972205d57
parent 357948 a7d409e112724e2a9865efb8ac74c61d4b7192b7
child 357950 43c3f5bc92eeaceeb1d6e46400c461cbb4565024
push id31807
push usercbook@mozilla.com
push dateFri, 12 May 2017 12:34:43 +0000
treeherdermozilla-central@bcb5e1ff13f8 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1323308
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Add some task definitions to run mach from VSCode (bug 1323308). r=gps MozReview-Commit-ID: EVFFHmgHRL2
.gitignore
.hgignore
.vscode/tasks.json
--- a/.gitignore
+++ b/.gitignore
@@ -123,10 +123,11 @@ testing/talos/talos/tests/devtools/damp.
 
 # Ignore files created when running a reftest.
 lextab.py
 
 # tup database
 /.tup
 
 # Ignore Visual Studio Code workspace files.
-.vscode/
+.vscode/*
 !.vscode/extensions.json
+!.vscode/tasks.json
--- a/.hgignore
+++ b/.hgignore
@@ -136,14 +136,14 @@ GPATH
 
 # Ignore files created when running a reftest.
 ^lextab.py$
 
 # tup database
 ^\.tup
 
 # Ignore Visual Studio Code workspace files.
-\.vscode/(?!extensions.json$)
+\.vscode/(?!extensions\.json|tasks\.json)
 
 subinclude:servo/.hgignore
 
 # Ignore Infer output
-^infer-out/
\ No newline at end of file
+^infer-out/
new file mode 100644
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,129 @@
+{
+    // See https://go.microsoft.com/fwlink/?LinkId=733558
+    // for the documentation about the tasks.json format
+    "version": "2.0.0",
+    "command": "${workspaceRoot}/mach",
+    "isShellCommand": true,
+    "args": ["--log-no-times"],
+    "showOutput": "silent",
+    "echoCommand": true,
+    "suppressTaskName": false,
+    "tasks": [
+      {
+        "taskName": "clobber"
+      },
+      {
+        "taskName": "configure"
+      },
+      {
+        "taskName": "build",
+        "isBuildCommand": true,
+        "problemMatcher": {
+          "owner": "cpp",
+          "fileLocation": "absolute",
+          "pattern": {
+            "regexp": "^.*?tools([^\\s]*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
+            "file": 1,
+            "line": 2,
+            "column": 3,
+            "severity": 4,
+            "message": 5
+          }
+        }
+      },
+      {
+        "taskName": "build binaries",
+        "problemMatcher": {
+          "owner": "cpp",
+          "fileLocation": "absolute",
+          "pattern": {
+            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
+            "file": 1,
+            "line": 2,
+            "column": 3,
+            "severity": 4,
+            "message": 5
+          }
+        }
+      },
+      {
+        "taskName": "build faster",
+        "problemMatcher": {
+          "owner": "cpp",
+          "fileLocation": "absolute",
+          "pattern": {
+            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
+            "file": 1,
+            "line": 2,
+            "column": 3,
+            "severity": 4,
+            "message": 5
+          }
+        }
+      },
+      {
+        "taskName": "run",
+        "args": ["-purgecaches"],
+        "showOutput": "always"
+      },
+      {
+        "taskName": "eslint",
+        "problemMatcher": ["$eslint-stylish"]
+      },
+      {
+        "taskName": "eslint fix",
+        "suppressTaskName": true,
+        "args": ["eslint", "--fix", "${file}"],
+        "problemMatcher": ["$eslint-stylish"]
+      },
+      {
+        "taskName": "test",
+        "args": ["${relativeFile}"],
+        "isTestCommand": true,
+        "showOutput": "always"
+      },
+      {
+        "taskName": "mochitest",
+        "args": ["${relativeFile}"],
+        "showOutput": "always",
+        "problemMatcher": {
+          "fileLocation": ["relative", "${workspaceRoot}"],
+          "pattern": {
+              "regexp": "^.*\\s+(TEST-UNEXPECTED-FAIL|TEST-UNEXPECTED-PASS)\\s+\\|\\s+([^\\s]*)\\s+\\|\\s+(.*)$",
+              "severity": 1,
+              "file": 2,
+              "message": 3
+          }
+        }
+      },
+      {
+        "taskName": "reftest",
+        "args": ["${relativeFile}"],
+        "showOutput": "always",
+        "problemMatcher": {
+          "fileLocation": ["absolute"],
+          "pattern": {
+              "regexp": "^.*\\s+(TEST-UNEXPECTED-FAIL|TEST-UNEXPECTED-PASS)\\s+\\|\\s+file:\/\/([^\\s]*)\\s+==\\s+[^\\s]*\\s+\\|\\s+(.*)$",
+              "severity": 1,
+              "file": 2,
+              "message": 3
+          }
+        }
+      },
+      {
+        "taskName": "xpcshell-test",
+        "args": ["${relativeFile}", "--sequential"],
+        "showOutput": "always",
+        "problemMatcher": {
+          "fileLocation": ["relative", "${workspaceRoot}"],
+          "pattern": {
+              "regexp": "^.*\\s+(FAIL|ERROR)\\s+\\[([^\\s]*)\\s+:\\s+(\\d+)\\]\\s+(.*)$",
+              "severity": 1,
+              "file": 2,
+              "location": 3,
+              "message": 4
+          }
+        }
+      }
+    ]
+}