Files
setup-beam/dist/erlang-matchers.json
T
Daniel Widgren cfafb69ddd feat: add Erlang problem matchers (#433)
* feat: add Erlang problem matchers for erlc, dialyzer, CT, and EUnit

Adds GitHub Actions problem matchers for Erlang tooling, matching the
existing Elixir matcher support. Covers erlc errors/warnings (which
also catches dialyzer output), Common Test failures, and EUnit failures.

Closes #390

* chore: rebuild dist bundle and format test file

* refactor: move Erlang matchers into installOTP function

Moves maybeEnableErlangProblemMatchers() call inside installOTP(),
between setOutput and endGroup, matching the Elixir pattern.

* refactor: extract generic maybeEnableProblemMatchers function

Replaces separate maybeEnableErlangProblemMatchers and
maybeEnableElixirProblemMatchers with a single generic
maybeEnableProblemMatchers(language) and a problemMatchersEnabled()
helper.

* fix: use static paths for ncc to resolve matcher JSON files

ncc cannot trace dynamic template literals, so the matcher JSON files
were not being copied to dist/. Use a static map of paths instead.
2026-03-14 16:43:14 +00:00

67 lines
1.3 KiB
JSON

{
"problemMatcher": [
{
"owner": "erlc-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(\\S+):(\\d+):(\\d+): [wW]arning: (.+)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
},
{
"owner": "erlc-error",
"severity": "error",
"pattern": [
{
"regexp": "^(\\S+):(\\d+):(\\d+): (?![wW]arning)(.+)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
},
{
"owner": "ct-failure",
"severity": "error",
"pattern": [
{
"regexp": "^(\\S+) failed on line (\\d+)$",
"file": 1,
"line": 2
},
{
"regexp": "^Reason: (.+)$",
"message": 1
}
]
},
{
"owner": "eunit-failure",
"severity": "error",
"pattern": [
{
"regexp": "^\\S+: .+\\.\\.\\.\\*failed\\*$"
},
{
"regexp": "^in function .+ \\((.+), line (\\d+)\\)$",
"file": 1,
"line": 2
},
{
"regexp": "^in call from .+$"
},
{
"regexp": "^\\*\\*error:(.+)$",
"message": 1
}
]
}
]
}