Page MenuHomePhabricator

Modularize "arc lint" renderers
ClosedPublic

Authored by epriestley on Sep 25 2017, 9:48 PM.

Details

Summary

Ref T12996. arc lint can render in different formats with --output <format>.

Previously, these were a big switch() statement and a bunch of hard-coded stuff.

Modularize them so that that third parties could add new renderers, and this code can be refactored toward parallelizing the lint step.

This has a small behavioral change: we no longer hide "autofix" messages. I'd like to generally simplify the number of amend/autofix flags here, so this edges us toward that slightly.

Test Plan

Ran arc lint with all the --output flags in states with warnings and no warnings, saw sensible-seeming behavior.

Diff Detail

Repository
rARC Arcanist
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.