Page MenuHomePhabricator

Upgrade C# linter to support linting multiple files at a time
ClosedPublic

Authored by hach-que on Nov 18 2013, 8:08 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Dec 7, 6:39 PM
Unknown Object (File)
Sat, Dec 7, 6:39 PM
Unknown Object (File)
Sat, Dec 7, 6:38 PM
Unknown Object (File)
Sat, Dec 7, 6:27 PM
Unknown Object (File)
Sat, Dec 7, 6:19 PM
Unknown Object (File)
Thu, Dec 5, 5:37 PM
Unknown Object (File)
Sun, Dec 1, 2:02 PM
Unknown Object (File)
Fri, Nov 29, 6:25 PM

Details

Summary

This upgrades cslint to support linting multiple files at a time. As this required a backwards-incompatible to cslint, I've added a SUPPORTED_VERSION constant which can be used to detect these kinds of breaking changes in the future (and prompt users to upgrade the cslint they have in their repository).

The reason for this upgrade is mainly around running arc lint --everything, where there are significant performance benefits gained when bulk linting lots of files per command execution.

Test Plan

Upgraded cslint in the Tychaia repository and ran arc lint --everything --trace. Saw a substantially less number of executions happening for linting and all of the results came through as expected.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

hach-que updated this revision to Unknown Object (????).Nov 18 2013, 8:11 AM

Removed debug code

I'm just averting my eyes from everything in this revision.

src/lint/linter/ArcanistCSharpLinter.php
122–126

We could probably just ignore this, it seems unlikely that future versions will casually break basic backward compatibility?