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,
|
'module' => $module_name,
|
||||||
));
|
));
|
||||||
$disk_path = $this->getModulePathOnDisk($req_module);
|
$disk_path = $this->getModulePathOnDisk($req_module);
|
||||||
$futures[$req_module] = new ExecFuture(
|
if (Filesystem::pathExists($disk_path)) {
|
||||||
'%s %s',
|
$futures[$req_module] = new ExecFuture(
|
||||||
$bin,
|
'%s %s',
|
||||||
$disk_path);
|
$bin,
|
||||||
|
$disk_path);
|
||||||
|
} else {
|
||||||
|
$dependencies[$req_module] = array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -241,7 +245,12 @@ class ArcanistPhutilModuleLinter extends ArcanistLinter {
|
||||||
$library = null,
|
$library = null,
|
||||||
$name);
|
$name);
|
||||||
if ($class_spec) {
|
if ($class_spec) {
|
||||||
if (phutil_autoload_class($name)) {
|
try {
|
||||||
|
$loaded = phutil_autoload_class($name);
|
||||||
|
} catch (PhutilLibraryLoadException $ex) {
|
||||||
|
$loaded = false;
|
||||||
|
}
|
||||||
|
if ($loaded) {
|
||||||
$resolvable[] = $message;
|
$resolvable[] = $message;
|
||||||
$need_classes[$name] = $class_spec;
|
$need_classes[$name] = $class_spec;
|
||||||
} else {
|
} else {
|
||||||
|
@ -274,7 +283,12 @@ class ArcanistPhutilModuleLinter extends ArcanistLinter {
|
||||||
$library = null,
|
$library = null,
|
||||||
$name);
|
$name);
|
||||||
if ($func_spec) {
|
if ($func_spec) {
|
||||||
if (phutil_autoload_function($name)) {
|
try {
|
||||||
|
$loaded = phutil_autoload_function($name);
|
||||||
|
} catch (PhutilLibraryLoadException $ex) {
|
||||||
|
$loaded = false;
|
||||||
|
}
|
||||||
|
if ($loaded) {
|
||||||
$resolvable[] = $message;
|
$resolvable[] = $message;
|
||||||
$need_functions[$name] = $func_spec;
|
$need_functions[$name] = $func_spec;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue