SIGN IN SIGN UP

Fix workspace compilation with external dependencies (#2217)

## Problem

When `workspaceCompilation` is enabled, builds fail with AL1022 errors
for external AL app dependencies from `appDependencyProbingPaths`. The
same repository builds successfully with workspace compilation disabled.
Fixes #2214.

The root cause is twofold:

1. **Zip files not extracted.** `GetDependencies` (via
`DownloadArtifact`/`DownloadRelease`) returns raw `.zip` file paths for
dependencies from `appDependencyProbingPaths`. Run-ALPipeline handles
this today which is why everything works without workspace compilation.
However, for workspace compilation to work we need to extract the .zip
files first.

2. **Test app dependencies not copied.** `Compile.ps1` only copied
`$dependencyApps` to the package cache, ignoring `$dependencyTestApps`
entirely. Test folders depending on external test app dependencies would
fail with AL1022.

## Approach

- Added a `Resolve-DependencyFiles` helper in
`DownloadProjectDependencies.psm1` that extracts `.app` files from zip
archives while preserving test app markers (`(...)` wrapping). Source
zips are cleaned up after extraction.
- Applied `Resolve-DependencyFiles` in both
`DownloadDependenciesFromProbingPaths` and
`DownloadDependenciesFromCurrentBuild` (which can also fall back to
`latestBuild` and return zips).
- Updated `Compile.ps1` to copy both `$dependencyApps` and
`$dependencyTestApps` to the package cache, with a warning when
dependency file paths don't exist.

Related to #2214

---------

Co-authored-by: aholstrup1 <aholstrup1@users.noreply.github.com>
A
Alexander Holstrup committed
040d14c202ff8609d1dcadadc2041c8c5ad19b0c
Parent: 3946686
Committed by GitHub <noreply@github.com> on 4/21/2026, 12:43:55 PM