Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/celerity/management/CelerityManagementMapWorkflow.php
12256 views
1
<?php
2
3
final class CelerityManagementMapWorkflow
4
extends CelerityManagementWorkflow {
5
6
protected function didConstruct() {
7
$this
8
->setName('map')
9
->setExamples('**map** [options]')
10
->setSynopsis(pht('Rebuild static resource maps.'))
11
->setArguments(
12
array());
13
}
14
15
public function execute(PhutilArgumentParser $args) {
16
$resources_map = CelerityPhysicalResources::getAll();
17
18
$this->log(
19
pht(
20
'Rebuilding %d resource source(s).',
21
phutil_count($resources_map)));
22
23
foreach ($resources_map as $name => $resources) {
24
$this->rebuildResources($resources);
25
}
26
27
$this->log(pht('Done.'));
28
29
return 0;
30
}
31
32
/**
33
* Rebuild the resource map for a resource source.
34
*
35
* @param CelerityPhysicalResources Resource source to rebuild.
36
* @return void
37
*/
38
private function rebuildResources(CelerityPhysicalResources $resources) {
39
$this->log(
40
pht(
41
'Rebuilding resource source "%s" (%s)...',
42
$resources->getName(),
43
get_class($resources)));
44
45
id(new CelerityResourceMapGenerator($resources))
46
->setDebug(true)
47
->generate()
48
->write();
49
}
50
51
protected function log($message) {
52
$console = PhutilConsole::getConsole();
53
$console->writeErr("%s\n", $message);
54
}
55
56
}
57
58