mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-21 22:32:41 +01:00
Improve phutil module linter behavior for vanished modules and missing or
broken __init__.php. Summary: This allows phutilmodulelinter to generate missing __init__.php and recover from missing modules without horrible fataltown. Test Plan: Reviewers: CC:
This commit is contained in:
parent
12f1ba1d77
commit
10b0a553b4
1 changed files with 20 additions and 6 deletions
|
@ -189,10 +189,14 @@ class ArcanistPhutilModuleLinter extends ArcanistLinter {
|
|||
'module' => $module_name,
|
||||
));
|
||||
$disk_path = $this->getModulePathOnDisk($req_module);
|
||||
$futures[$req_module] = new ExecFuture(
|
||||
'%s %s',
|
||||
$bin,
|
||||
$disk_path);
|
||||
if (Filesystem::pathExists($disk_path)) {
|
||||
$futures[$req_module] = new ExecFuture(
|
||||
'%s %s',
|
||||
$bin,
|
||||
$disk_path);
|
||||
} else {
|
||||
$dependencies[$req_module] = array();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -241,7 +245,12 @@ class ArcanistPhutilModuleLinter extends ArcanistLinter {
|
|||
$library = null,
|
||||
$name);
|
||||
if ($class_spec) {
|
||||
if (phutil_autoload_class($name)) {
|
||||
try {
|
||||
$loaded = phutil_autoload_class($name);
|
||||
} catch (PhutilLibraryLoadException $ex) {
|
||||
$loaded = false;
|
||||
}
|
||||
if ($loaded) {
|
||||
$resolvable[] = $message;
|
||||
$need_classes[$name] = $class_spec;
|
||||
} else {
|
||||
|
@ -274,7 +283,12 @@ class ArcanistPhutilModuleLinter extends ArcanistLinter {
|
|||
$library = null,
|
||||
$name);
|
||||
if ($func_spec) {
|
||||
if (phutil_autoload_function($name)) {
|
||||
try {
|
||||
$loaded = phutil_autoload_function($name);
|
||||
} catch (PhutilLibraryLoadException $ex) {
|
||||
$loaded = false;
|
||||
}
|
||||
if ($loaded) {
|
||||
$resolvable[] = $message;
|
||||
$need_functions[$name] = $func_spec;
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue