SIGN IN SIGN UP

Resolve relative customCodeCops paths in workspace compilation (#2239)

### ❔What, Why & How

`Get-CustomAnalyzers` now resolves relative `customCodeCops` entries to
absolute paths against the project folder before they are passed to
`altool workspace compile`.

`altool` only resolves the first comma-separated `--customanalyzers`
entry to absolute when dispatching `alc.exe`; the rest stayed relative
and `alc.exe` resolved them against the per-app project folder, where
`.alcops` did not exist — yielding `AL1006` errors for every analyzer
except the first. URL entries and already-rooted paths are unchanged.
The non-workspace `Run-AlPipeline` path is untouched.

Note: the issue title was about `PipelineInitialize.ps1` not firing
under workspace compilation. That part is by design —
`PipelineInitialize` is a `Run-AlPipeline` lifecycle hook. The right
hook for compile-time setup with workspace compilation is
`PreCompileApp.ps1`. Once users switch to `PreCompileApp.ps1`, this fix
unblocks the multi-analyzer scenario.

Related to issue: #2235

### ✅ Checklist

- [x] Add tests (E2E, unit tests)
- [x] Update RELEASENOTES.md
- [ ] Update documentation (e.g. for new settings or scenarios)
- [ ] Add telemetry
A
Alexander Holstrup committed
a53b9be2d302263d13f339c74fab8b6663ddd44d
Parent: 69660ba
Committed by GitHub <noreply@github.com> on 5/6/2026, 2:15:14 PM