@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final 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 %s 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 $resources 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}