Page MenuHomePhabricator

D10533.diff
No OneTemporary

D10533.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -41,7 +41,6 @@
'ArcanistCommitWorkflow' => 'workflow/ArcanistCommitWorkflow.php',
'ArcanistCompilerLintRenderer' => 'lint/renderer/ArcanistCompilerLintRenderer.php',
'ArcanistComprehensiveLintEngine' => 'lint/engine/ArcanistComprehensiveLintEngine.php',
- 'ArcanistConduitLinter' => 'lint/linter/ArcanistConduitLinter.php',
'ArcanistConfiguration' => 'configuration/ArcanistConfiguration.php',
'ArcanistConfigurationDrivenLintEngine' => 'lint/engine/ArcanistConfigurationDrivenLintEngine.php',
'ArcanistConfigurationManager' => 'configuration/ArcanistConfigurationManager.php',
@@ -242,7 +241,6 @@
'ArcanistCommitWorkflow' => 'ArcanistWorkflow',
'ArcanistCompilerLintRenderer' => 'ArcanistLintRenderer',
'ArcanistComprehensiveLintEngine' => 'ArcanistLintEngine',
- 'ArcanistConduitLinter' => 'ArcanistLinter',
'ArcanistConfigurationDrivenLintEngine' => 'ArcanistLintEngine',
'ArcanistConsoleLintRenderer' => 'ArcanistLintRenderer',
'ArcanistCoverWorkflow' => 'ArcanistWorkflow',
diff --git a/src/lint/linter/ArcanistConduitLinter.php b/src/lint/linter/ArcanistConduitLinter.php
deleted file mode 100644
--- a/src/lint/linter/ArcanistConduitLinter.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-
-/**
- * Implements linting via Conduit RPC call.
- *
- * This linter is slow by definition, but allows sophisticated linting that
- * relies on stuff like big indexes of a codebase. Recommended usage is to gate
- * these to the advice lint level.
- *
- * The conduit endpoint should implement a method named the same as the value
- * of `ArcanistConduitLinter::CONDUIT_METHOD`. It takes an array with a key
- * `file_contents` which is an array mapping file paths to their complete
- * contents. It should return an array mapping those same paths to arrays
- * describing the lint for each path.
- *
- * The lint for a path is described as a list of structured dictionaries. The
- * dictionary structure is effectively defined by
- * `ArcanistLintMessage::newFromDictionary`.
- *
- * Effective keys are:
- * - `path`: must match passed in path.
- * - `line`
- * - `char`
- * - `code`
- * - `severity`: must match a constant in @{class:ArcanistLintSeverity}.
- * - `name`
- * - `description`
- * - `original` & `replacement`: optional patch information.
- * - `locations`: other locations of the same error (in the same format).
- *
- * This class is intended for customization via instantiation, not via
- * subclassing.
- */
-final class ArcanistConduitLinter extends ArcanistLinter {
- const CONDUIT_METHOD = 'lint.getalllint';
-
- private $conduitURI;
- private $linterName;
- private $results;
-
- public function __construct($conduit_uri = null, $linter_name = null) {
- // TODO: Facebook uses this (probably?) but we need to be able to
- // construct it without arguments for ".arclint".
- $this->conduitURI = $conduit_uri;
- $this->linterName = $linter_name;
- }
-
- public function getLinterName() {
- return $this->linterName;
- }
-
- public function getLintNameMap() {
- // See @{method:getLintSeverityMap} for rationale.
- throw new ArcanistUsageException(
- pht('%s does not support a name map.', __CLASS__));
- }
-
- public function getLintSeverityMap() {
- // The rationale here is that this class will only be used for custom
- // linting in installations. No two server endpoints will be the same across
- // different instantiations. Therefore, the server can handle all severity
- // customization directly.
- throw new ArcanistUsageException(
- pht(
- '%s does not support client-side severity customization.',
- __CLASS__));
- }
-
- protected function canCustomizeLintSeverities() {
- return false;
- }
-
- public function willLintPaths(array $paths) {
- // Load all file path data into $this->data.
- array_map(array($this, 'getData'), $paths);
-
- $conduit = new ConduitClient($this->conduitURI);
-
- $this->results = $conduit->callMethodSynchronous(
- self::CONDUIT_METHOD,
- array(
- 'file_contents' => $this->data,
- ));
- }
-
- public function lintPath($path) {
- $lints = idx($this->results, $path);
-
- if (!$lints) {
- return;
- }
-
- foreach ($lints as $lint) {
- $this->addLintMessage(ArcanistLintMessage::newFromDictionary($lint));
- }
- }
-
-}

File Metadata

Mime Type
text/plain
Expires
Fri, May 10, 1:48 PM (4 w, 6 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6278089
Default Alt Text
D10533.diff (4 KB)

Event Timeline