Enhance stack trace information for rule conflicts in BuildManager
Fixes #2278
When a builder attempts to begin or end a scheduling rule that doesn't match the outer scope rule, the error message now includes:
- Builder name and label
- Builder class name
- Plugin ID
- Project name
- The conflicting rule
This makes it much easier to identify which builder is causing the rule mismatch, especially in complex build scenarios with multiple builders.
The enhancement catches IllegalArgumentException at the point where beginRule() and endRule() are called in BuildManager.basicBuild() and wraps it with detailed context before re-throwing.
Test Results
1 953 files ±0 1 953 suites ±0 1h 29m 49s ⏱️ + 5m 10s 4 744 tests ±0 4 720 ✅ ±0 24 💤 ±0 0 ❌ ±0 14 232 runs ±0 14 050 ✅ ±0 182 💤 ±0 0 ❌ ±0
Results for commit 02578f4c. ± Comparison against base commit b0bbf457.
:recycle: This comment has been updated with latest results.