This is the existential risk for this project.
XCResultKit drives xcrun xcresulttool get --format json --legacy. Apple has deprecated the legacy commands and will eventually remove them; when that happens, xchtmlreport stops working entirely.
We are two hops from a change we do not control: upstream davidahouse/XCResultKit last shipped v1.2.2 in Feb 2025, and its own tracking issue (davidahouse/XCResultKit#58, "Stop using --legacy") is open and unaddressed.
Task: decide the strategy and then execute it:
- contribute the migration upstream to XCResultKit (best for the ecosystem, slowest, depends on upstream responsiveness), or
- vendor/fork XCResultKit into this repo (full control, ongoing maintenance cost), or
- read the new
xcresulttool JSON format directly and drop the dependency
Whichever path, the fixture suite added in 3.0 is what makes the migration verifiable — the new format can be diffed against the old one on the same bundles.
This is the existential risk for this project.
XCResultKit drives
xcrun xcresulttool get --format json --legacy. Apple has deprecated the legacy commands and will eventually remove them; when that happens, xchtmlreport stops working entirely.We are two hops from a change we do not control: upstream
davidahouse/XCResultKitlast shipped v1.2.2 in Feb 2025, and its own tracking issue (davidahouse/XCResultKit#58, "Stop using --legacy") is open and unaddressed.Task: decide the strategy and then execute it:
xcresulttoolJSON format directly and drop the dependencyWhichever path, the fixture suite added in 3.0 is what makes the migration verifiable — the new format can be diffed against the old one on the same bundles.