Page MenuHomePhabricator

D13570.id32857.diff
No OneTemporary

D13570.id32857.diff

diff --git a/src/workflow/ArcanistLintWorkflow.php b/src/workflow/ArcanistLintWorkflow.php
--- a/src/workflow/ArcanistLintWorkflow.php
+++ b/src/workflow/ArcanistLintWorkflow.php
@@ -97,6 +97,11 @@
"With 'compiler', show lint warnings in suitable for your editor. ".
"With 'xml', show lint warnings in the Checkstyle XML format."),
),
+ 'outfile' => array(
+ 'param' => 'path',
+ 'help' => pht(
+ 'Output the linter results to a file. Defaults to stdout.'),
+ ),
'only-new' => array(
'param' => 'bool',
'supports' => array('git', 'hg'), // TODO: svn
@@ -464,7 +469,18 @@
}
$all_autofix = true;
- $console->writeOut('%s', $renderer->renderPreamble());
+ $tmp = null;
+
+ if ($this->getArgument('outfile') !== null) {
+ $tmp = new TempFile();
+ }
+
+ $preamble = $renderer->renderPreamble();
+ if ($tmp) {
+ Filesystem::appendFile($tmp, $preamble);
+ } else {
+ $console->writeOut('%s', $preamble);
+ }
foreach ($results as $result) {
$result_all_autofix = $result->isAllAutofix();
@@ -479,7 +495,11 @@
$lint_result = $renderer->renderLintResult($result);
if ($lint_result) {
- $console->writeOut('%s', $lint_result);
+ if ($tmp) {
+ Filesystem::appendFile($tmp, $lint_result);
+ } else {
+ $console->writeOut('%s', $lint_result);
+ }
}
if ($apply_patches && $result->isPatchable()) {
@@ -516,7 +536,13 @@
}
}
- $console->writeOut('%s', $renderer->renderPostamble());
+ $postamble = $renderer->renderPostamble();
+ if ($tmp) {
+ Filesystem::appendFile($tmp, $postamble);
+ Filesystem::rename($tmp, $this->getArgument('outfile'));
+ } else {
+ $console->writeOut('%s', $postamble);
+ }
if ($wrote_to_disk && $this->shouldAmendChanges) {
if ($this->shouldAmendWithoutPrompt ||

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 13, 9:05 AM (1 w, 2 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7613858
Default Alt Text
D13570.id32857.diff (1 KB)

Event Timeline