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
F14122635: D7599.id17144.diff
Fri, Nov 29, 6:25 PM
Unknown Object (File)
Thu, Nov 28, 3:50 AM
Unknown Object (File)
Wed, Nov 27, 1:59 PM
Unknown Object (File)
Tue, Nov 26, 11:20 AM
Unknown Object (File)
Tue, Nov 26, 7:48 AM
Unknown Object (File)
Fri, Nov 22, 6:49 PM
Unknown Object (File)
Sun, Nov 17, 8:12 AM
Unknown Object (File)
Thu, Nov 14, 5:08 AM

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

Branch
csharp-multiple-lint
Lint
Lint Passed
Unit
Test Failures

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?