mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-19 20:10:55 +01:00
Make bin/diviner generate
with no arguments mean "generate everything"
Summary: Ref T988. This makes it easier to generate documentation. Test Plan: Ran with and without `--book`. Examined CLI output. Reviewers: chad, btrahan Reviewed By: btrahan CC: aran Maniphest Tasks: T988 Differential Revision: https://secure.phabricator.com/D8415
This commit is contained in:
parent
873a4721b8
commit
d07fc70bbe
3 changed files with 37 additions and 4 deletions
|
@ -30,7 +30,7 @@ final class DivinerAtomizeWorkflow extends DivinerWorkflow {
|
|||
}
|
||||
|
||||
public function execute(PhutilArgumentParser $args) {
|
||||
$this->readBookConfiguration($args);
|
||||
$this->readBookConfiguration($args->getArg('book'));
|
||||
|
||||
$console = PhutilConsole::getConsole();
|
||||
|
||||
|
|
|
@ -38,7 +38,41 @@ final class DivinerGenerateWorkflow extends DivinerWorkflow {
|
|||
}
|
||||
|
||||
public function execute(PhutilArgumentParser $args) {
|
||||
$this->readBookConfiguration($args);
|
||||
$book = $args->getArg('book');
|
||||
if ($book) {
|
||||
$books = array($book);
|
||||
} else {
|
||||
$cwd = getcwd();
|
||||
$this->log(pht('FINDING DOCUMENTATION BOOKS'));
|
||||
$books = id(new FileFinder($cwd))
|
||||
->withType('f')
|
||||
->withSuffix('book')
|
||||
->find();
|
||||
|
||||
if (!$books) {
|
||||
throw new PhutilArgumentUsageException(
|
||||
pht(
|
||||
"There are no Diviner '.book' files anywhere beneath the ".
|
||||
"current directory. Use '--book <book>' to specify a ".
|
||||
"documentation book to generate."));
|
||||
} else {
|
||||
$this->log(pht('Found %s book(s).', new PhutilNumber(count($books))));
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($books as $book) {
|
||||
$short_name = basename($book);
|
||||
|
||||
$this->log(pht('Generating book "%s"...', $short_name));
|
||||
$this->generateBook($book, $args);
|
||||
$this->log(pht('Completed generation of "%s".', $short_name)."\n");
|
||||
}
|
||||
}
|
||||
|
||||
private function generateBook($book, PhutilArgumentParser $args) {
|
||||
$this->atomCache = null;
|
||||
|
||||
$this->readBookConfiguration($book);
|
||||
|
||||
if ($args->getArg('clean')) {
|
||||
$this->log(pht('CLEARING CACHES'));
|
||||
|
|
|
@ -17,8 +17,7 @@ abstract class DivinerWorkflow extends PhabricatorManagementWorkflow {
|
|||
return $this->config;
|
||||
}
|
||||
|
||||
protected function readBookConfiguration(PhutilArgumentParser $args) {
|
||||
$book_path = $args->getArg('book');
|
||||
protected function readBookConfiguration($book_path) {
|
||||
if ($book_path === null) {
|
||||
throw new PhutilArgumentUsageException(
|
||||
"Specify a Diviner book configuration file with --book.");
|
||||
|
|
Loading…
Reference in a new issue