Initial commit

This commit is contained in:
olemorud
2023-03-14 12:58:38 +01:00
commit fd580bda03
5 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
{
"problemMatcher": [
{
"owner": "gcc-problem-matcher",
"pattern": [
{
"regexp": "^${{ BASE }}\/?(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
]
}
]
}

33
src/index.js Normal file
View File

@@ -0,0 +1,33 @@
const path = require('path');
const fs = require('node:fs');
//const core = require('@actions/core');
// C:\Users\ => C\:\\Users\\
const escapeRegExp = (s) =>
s.replace(/[:.*+?^${}()|\/[\]\\]/g, "\\$&");
// ${{ key }}, ${{var}}, ${{ aggqq43g3qg4 }}
const variable = (key) =>
new RegExp("\\${{\\s*?" + key + "\\s*?}}", "g");
// default value set in /action.yml
// const root = core.getInput('root', { required: false });
root = '/tmp/workspace';
const templatePath = path.join(__dirname, "gcc_matcher.jsontemplate");
const parsed =
fs.readFileSync(templatePath, "ascii")
.replace(variable("BASE"), escapeRegExp(root));
const matcherPath = path.join(__dirname, "gcc_matcher.json");
fs.writeFileSync(matcherPath, parsed);
console.log('::add-matcher::' + matcherPath);
/* for testing */
exports.escapeRegExp = escapeRegExp
exports.variable = variable;