[TASK] Improve contract build error message
Overview
When building contracts here:
https://github.com/tangle-network/blueprint/blob/105255328a9c1bc0bd84878be7c89415dda81f95/cli/src/deploy/tangle.rs#L289
Multiple things can error: forge build, soldeer update, missing contracts dir, bad contract name
But every error just gets reduced to:
Error:
0: Runner setup failed: Building contracts
here: https://github.com/tangle-network/blueprint/blob/105255328a9c1bc0bd84878be7c89415dda81f95/cli/src/deploy/tangle.rs#L80
Which is not helpful at all.
Note that the status of forge build is somewhat reported to CLI users (for me it only prints "❌ Failed to build contracts"):
https://github.com/tangle-network/blueprint/blob/105255328a9c1bc0bd84878be7c89415dda81f95/cli/src/foundry/forge.rs#L115
but in the context of a test, that output isn't shown (unless you use --nocapture). Errors from Forge::build() need to include stderr, so that the harness can give something useful.