From 4fa0fd2a23163b22574d68f7cf6e13ed61d4510e Mon Sep 17 00:00:00 2001
From: Danny McCormick <damccorm@microsoft.com>
Date: Thu, 11 Jul 2019 22:57:54 -0400
Subject: [PATCH] Add problem matcher (#4)

---
 .github/java.json                                  | 14 ++++++++++++++
 .../{setup-java.test.ts => installer.test.ts}      |  0
 lib/setup-java.js                                  |  3 +++
 package-lock.json                                  | 10 +++++-----
 src/setup-java.ts                                  |  4 ++++
 5 files changed, 26 insertions(+), 5 deletions(-)
 create mode 100644 .github/java.json
 rename __tests__/{setup-java.test.ts => installer.test.ts} (100%)

diff --git a/.github/java.json b/.github/java.json
new file mode 100644
index 0000000..eda1b0c
--- /dev/null
+++ b/.github/java.json
@@ -0,0 +1,14 @@
+{
+    "problemMatcher": [
+        {
+            "owner": "java",
+            "pattern": [
+                {
+                    "regexp": "^Exception in thread \"(.*)\" (.*): (.*)$",
+                    "code": 2,
+                    "message": 3
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/__tests__/setup-java.test.ts b/__tests__/installer.test.ts
similarity index 100%
rename from __tests__/setup-java.test.ts
rename to __tests__/installer.test.ts
diff --git a/lib/setup-java.js b/lib/setup-java.js
index 810fc74..f0135a3 100644
--- a/lib/setup-java.js
+++ b/lib/setup-java.js
@@ -17,6 +17,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
 Object.defineProperty(exports, "__esModule", { value: true });
 const core = __importStar(require("@actions/core"));
 const installer = __importStar(require("./installer"));
+const path = __importStar(require("path"));
 function run() {
     return __awaiter(this, void 0, void 0, function* () {
         try {
@@ -24,6 +25,8 @@ function run() {
             const arch = core.getInput('architecture', { required: true });
             const jdkFile = core.getInput('jdkFile', { required: true });
             yield installer.getJava(version, arch, jdkFile);
+            const matchersPath = path.join(__dirname, '..', '.github');
+            console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
         }
         catch (error) {
             core.setFailed(error.message);
diff --git a/package-lock.json b/package-lock.json
index eaf660c..f7be150 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,26 +5,26 @@
   "requires": true,
   "dependencies": {
     "@actions/core": {
-      "version": "file:../setup-node/toolkit/actions-core-0.0.0.tgz",
+      "version": "file:../../../damccorm/Documents/setup-node/toolkit/actions-core-0.0.0.tgz",
       "integrity": "sha512-58ituSV1rzBMmmsWoFDnrnsT+Wm4kD/u9NgAGbPvZ7rQHWluYtD5bDbIsjDC6rKFuhqytkxDJPsF/TWBdgc/nA==",
       "requires": {
         "@actions/exit": "^0.0.0"
       }
     },
     "@actions/exec": {
-      "version": "file:../setup-node/toolkit/actions-exec-0.0.0.tgz",
+      "version": "file:../../../damccorm/Documents/setup-node/toolkit/actions-exec-0.0.0.tgz",
       "integrity": "sha512-HHObusC4p1RElxIlrrN0sY/cweBYl+jKm3J/XWHPQZMipgJXB/dkVhUfl4KqH3Vim7oM2KjCGSfn+vTYrqVH3A=="
     },
     "@actions/exit": {
-      "version": "file:../setup-node/toolkit/actions-exit-0.0.0.tgz",
+      "version": "file:../../../damccorm/Documents/setup-node/toolkit/actions-exit-0.0.0.tgz",
       "integrity": "sha512-vQdxFWM0/AERkC79mQ886SqPmV4joWhrSF7hiSTiJoKkE9eTjrKV5WQtp7SXv6OntrQkKX+ZjgdGpv+0rvJRCw=="
     },
     "@actions/io": {
-      "version": "file:../setup-node/toolkit/actions-io-0.0.0.tgz",
+      "version": "file:../../../damccorm/Documents/setup-node/toolkit/actions-io-0.0.0.tgz",
       "integrity": "sha512-BArfobXB/b6RjR4i/+P4UcdaqR2tPjEb2WzZf9GdKiSARQn7d301pKOZAqxA+0N11X07Lk46t/txeUBcrCNbeg=="
     },
     "@actions/tool-cache": {
-      "version": "file:../setup-node/toolkit/actions-tool-cache-0.0.0.tgz",
+      "version": "file:../../../damccorm/Documents/setup-node/toolkit/actions-tool-cache-0.0.0.tgz",
       "integrity": "sha512-NavDg5VFXDfbe9TpFuj+uOHacjg1bT3Wmo3DQuul3gsGRBEXyzhh2MWKnBZs/Zh7FE3prLmIqpbtymafNBFkIA==",
       "requires": {
         "@actions/core": "^0.0.0",
diff --git a/src/setup-java.ts b/src/setup-java.ts
index a24ac15..d5c11da 100644
--- a/src/setup-java.ts
+++ b/src/setup-java.ts
@@ -1,5 +1,6 @@
 import * as core from '@actions/core';
 import * as installer from './installer';
+import * as path from 'path';
 
 async function run() {
   try {
@@ -8,6 +9,9 @@ async function run() {
     const jdkFile = core.getInput('jdkFile', {required: true});
 
     await installer.getJava(version, arch, jdkFile);
+
+    const matchersPath = path.join(__dirname, '..', '.github');
+    console.log(`##[add-matcher]${path.join(matchersPath, 'java.json')}`);
   } catch (error) {
     core.setFailed(error.message);
   }