HomePhabricator

Set the working directory to the project root for external linter `ExecFuture`…

Description

Set the working directory to the project root for external linter ExecFuture classes.

Summary: Fixes T5085. Currently, the ExecFuture instances that are used to call an external linter are executed in the current working directory. This means that if a path is specified in the .arclint file, relative to the project root directory, that the path will not be properly interpreted by the external linter when arc lint is called from a level deeper than the project root.

Test Plan: Ran arc lint from a subdirectory of a project and verified that the linter did not throw an exception due to not being able to find the specified configuration file.

Reviewers: epriestley, Blessed Reviewers

Reviewed By: epriestley, Blessed Reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T5085

Differential Revision: https://secure.phabricator.com/D9159

Event Timeline