mirror of https://github.com/aminya/setup-cpp
feat: add llvm problem matchers
This commit is contained in:
parent
016b16a6b8
commit
32a17be32c
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "llvm",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"severity": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -16,7 +16,7 @@
|
|||
"build.docker": "pnpm build && docker build -f ./building/docker/debian_node.dockerfile -t setup_cpp .",
|
||||
"bump": "ncu -u -x execa",
|
||||
"clean": "shx rm -rf dist exe",
|
||||
"copy.matchers": "shx cp ./src/gcc/gcc_matcher.json ./dist/ && shx cp ./src/msvc/msvc_matcher.json ./dist && shx cp ./src/python/python_matcher.json ./dist/",
|
||||
"copy.matchers": "shx cp ./src/gcc/gcc_matcher.json ./dist/ && shx cp ./src/msvc/msvc_matcher.json ./dist && shx cp ./src/python/python_matcher.json ./dist/ && shx cp ./src/llvm/llvm_matcher.json ./dist/ ",
|
||||
"dev": "cross-env NODE_ENV=development parcel watch",
|
||||
"format": "prettier --write .",
|
||||
"lint": "eslint . --fix",
|
||||
|
|
|
@ -8,8 +8,11 @@ import { getSpecificVersionAndUrl, getVersions, semverCoerceIfInvalid } from "..
|
|||
import { setupMacOSSDK } from "../macos-sdk/macos-sdk"
|
||||
import { addBinExtension } from "../utils/extension/extension"
|
||||
import { addEnv } from "../utils/env/addEnv"
|
||||
import { setOutput } from "@actions/core"
|
||||
import { info, setOutput } from "@actions/core"
|
||||
import { setupAptPack } from "../utils/setup/setupAptPack"
|
||||
import { warning } from "../utils/io/io"
|
||||
import { existsSync } from "fs"
|
||||
import { isGitHubCI } from "../utils/env/isci"
|
||||
|
||||
//================================================
|
||||
// Version
|
||||
|
@ -281,9 +284,24 @@ export async function activateLLVM(directory: string, versionGiven: string) {
|
|||
addEnv("LIBRARY_PATH", `${directory}/lib`)
|
||||
|
||||
await setupMacOSSDK()
|
||||
|
||||
if (isGitHubCI()) {
|
||||
addLLVMLoggingMatcher()
|
||||
}
|
||||
}
|
||||
|
||||
/** Setup llvm tools (clang tidy, clang format, etc) without activating llvm and using it as the compiler */
|
||||
export function setupClangTools(version: string, setupDir: string, arch: string): Promise<InstallationInfo> {
|
||||
if (isGitHubCI()) {
|
||||
addLLVMLoggingMatcher()
|
||||
}
|
||||
return setupBin("llvm", version, getLLVMPackageInfo, setupDir, arch)
|
||||
}
|
||||
|
||||
function addLLVMLoggingMatcher() {
|
||||
const matcherPath = path.join(__dirname, "llvm_matcher.json")
|
||||
if (!existsSync(matcherPath)) {
|
||||
return warning("the llvm_matcher.json file does not exist in the same folder as setup_cpp.js")
|
||||
}
|
||||
info(`::add-matcher::${matcherPath}`)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"problemMatcher": [
|
||||
{
|
||||
"owner": "llvm",
|
||||
"pattern": [
|
||||
{
|
||||
"regexp": "^(.*?):(\\d+):(\\d*):?\\s+(?:fatal\\s+)?(warning|error):\\s+(.*)$",
|
||||
"file": 1,
|
||||
"line": 2,
|
||||
"column": 3,
|
||||
"severity": 4,
|
||||
"message": 5
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue