Page MenuHomePhabricator

Add 'arc linters' to list available linters and status
ClosedPublic

Authored by epriestley on May 10 2014, 10:20 AM.
Tags
None
Referenced Files
F14011132: D9041.id21502.diff
Thu, Oct 31, 6:59 PM
F14008597: D9041.diff
Wed, Oct 30, 2:01 AM
F13966319: D9041.id.diff
Wed, Oct 16, 7:31 AM
Unknown Object (File)
Sat, Oct 12, 1:51 AM
Unknown Object (File)
Sep 19 2024, 10:47 AM
Unknown Object (File)
Sep 19 2024, 5:32 AM
Unknown Object (File)
Sep 19 2024, 5:32 AM
Unknown Object (File)
Sep 11 2024, 5:37 PM
Subscribers
Tokens
"Like" token, awarded by joshuaspence."Piece of Eight" token, awarded by chad."Like" token, awarded by avivey.

Details

Reviewers
joshuaspence
btrahan
Maniphest Tasks
Restricted Maniphest Task
Commits
rARCe13f5839d4e8: Add 'arc linters' to list available linters and status
Summary

Ref T2039. We're starting to get kind of a lot of linters; provide arc linters to help users review and understand them and construct .arclint files.

Test Plan

Screen_Shot_2014-05-10_at_3.17.25_AM.png (1×1 px, 219 KB)

Diff Detail

Repository
rARC Arcanist
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

epriestley retitled this revision from to Add 'arc linters' to list available linters and status.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added reviewers: joshuaspence, btrahan.
epriestley added a task: Restricted Maniphest Task.

I want to look over the code in more detail in a few hours time, but this looks really good.

btrahan edited edge metadata.
This revision is now accepted and ready to land.May 10 2014, 5:02 PM
joshuaspence edited edge metadata.

LGTM.

src/lint/linter/ArcanistSpellingLinter.php
19

"Spell Checker" or "spellchecker"? I'm honestly not sure which is more correct.

src/workflow/ArcanistLintersWorkflow.php
21–25

This isn't specific to this diff, but it seems flimsy to have to provide the correct amount of indentation (and wrapping) here. It would be nicer if in this method we could just specify an (unwrapped) string and have ArcanistBaseWorkflow take care of indentation and wrapping.

maybe I should just leave this open for a bit, seems like it's kind of a token gravy train

joshuaspence edited edge metadata.

Actually, I noticed that you didn't provide implementations for the new methods (getInfoName etc) for some of the existing linters:

  • ArcanistCppcheckLinter
  • ArcanistCpplintLinter
  • ArcanistCSharpLinter
  • ArcanistCSSLintLinter
  • ArcanistFlake8Linter
  • ArcanistJSHintLinter
  • ArcanistJSONLintLinter
  • ArcanistLesscLinter
  • ArcanistPuppetLintLinter
  • ArcanistPyFlakesLinter
  • ArcanistPyLintLinter
  • ArcanistRubyLinter
  • ArcanistScalaSBTLinter

Or was this intentional?

This revision now requires changes to proceed.May 10 2014, 11:45 PM

Oh, yeah, I just wrote enough of them to convince myself stuff was working. I'll do the other ones in a followup.

joshuaspence edited edge metadata.

Ok, close enough.

This revision is now accepted and ready to land.May 10 2014, 11:49 PM
epriestley updated this revision to Diff 21502.

Closed by commit rARCe13f5839d4e8 (authored by @epriestley).

avivey added inline comments.
src/workflow/ArcanistLintersWorkflow.php
42

Undefined variable: engine when not in workspace...

Yep, engine fix is coming in a moment...