Page MenuHomePhabricator

Introducing the new Bitcoin ABC lint engine
Changes PlannedPublic

Authored by Fabien on Wed, Jun 12, 10:34.

Details

Reviewers
deadalnix
Group Reviewers
Restricted Project
Summary

We are currently using the Arcanist built-in
ArcanistConfigurationDrivenLintEngine, which parses the .arclint
file to build the list of the linters to run and their associated paths
to lint.

This diffs introduces a new BitcoinABCConfigurationDrivenLintEngine
and use it as a replacement.
It works exactly the same, because it is basically a copy/paste of the
arcanist lint engine, but it can be extended (the arcanist one is
final).

The ability to extend is a first step to allow running some linters
sequentially, which is required to solve the autofix conflicts issue
with clang-format and autopep8.

Arcanist ArcanistConfigurationDrivenLintEngine class:
https://secure.phabricator.com/diffusion/ARC/browse/master/src/lint/engine/ArcanistConfigurationDrivenLintEngine.php

Test Plan
arc lint --everything

The arc lint behavior should be unchanged.

Diff Detail

Repository
rABC Bitcoin ABC
Branch
arcanist_lint_engine
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 6280
Build 10607: Bitcoin ABC Teamcity Staging
Build 10606: arc lint + arc unit