Page MenuHomestyx hydra

No OneTemporary

diff --git a/scripts/celerity_mapper.php b/scripts/celerity_mapper.php
index f766a669fb..b852e8ee09 100755
--- a/scripts/celerity_mapper.php
+++ b/scripts/celerity_mapper.php
@@ -1,189 +1,191 @@
#!/usr/bin/env php
<?php
$package_spec = array(
'core.pkg.css' => array(
'phabricator-core-css',
'phabricator-core-buttons-css',
'phabricator-standard-page-view',
'aphront-dialog-view-css',
'aphront-form-view-css',
'aphront-panel-view-css',
'aphront-side-nav-view-css',
'aphront-table-view-css',
'aphront-crumbs-view-css',
'aphront-tokenizer-control-css',
'aphront-typeahead-control-css',
'phabricator-directory-css',
'phabricator-remarkup-css',
'syntax-highlighting-css',
),
'differential.pkg.css' => array(
'differential-core-view-css',
'differential-changeset-view-css',
'differential-revision-detail-css',
'differential-revision-history-css',
'differential-table-of-contents-css',
'differential-revision-comment-css',
'differential-revision-add-comment-css',
'differential-revision-comment-list-css',
),
'differential.pkg.js' => array(
'javelin-behavior-differential-feedback-preview',
'javelin-behavior-differential-edit-inline-comments',
'javelin-behavior-differential-populate',
'javelin-behavior-differential-show-more',
'javelin-behavior-differential-diff-radios',
),
'diffusion.pkg.css' => array(
'diffusion-commit-view-css',
),
);
require_once dirname(__FILE__).'/__init_script__.php';
if ($argc != 2) {
$self = basename($argv[0]);
echo "usage: {$self} <webroot>\n";
exit(1);
}
phutil_require_module('phutil', 'filesystem');
phutil_require_module('phutil', 'filesystem/filefinder');
phutil_require_module('phutil', 'future/exec');
phutil_require_module('phutil', 'parser/docblock');
$root = Filesystem::resolvePath($argv[1]);
echo "Finding static resources...\n";
$files = id(new FileFinder($root))
->withType('f')
->withSuffix('js')
->withSuffix('css')
->setGenerateChecksums(true)
->find();
echo "Processing ".count($files)." files";
$file_map = array();
foreach ($files as $path => $hash) {
echo ".";
$name = '/'.Filesystem::readablePath($path, $root);
$file_map[$name] = array(
'hash' => $hash,
'disk' => $path,
);
}
echo "\n";
$runtime_map = array();
$hash_map = array();
$parser = new PhutilDocblockParser();
foreach ($file_map as $path => $info) {
$data = Filesystem::readFile($info['disk']);
$matches = array();
$ok = preg_match('@/[*][*].*?[*]/@s', $data, $matches);
if (!$ok) {
throw new Exception(
"File {$path} does not have a header doc comment. Encode dependency ".
"data in a header docblock.");
}
list($description, $metadata) = $parser->parse($matches[0]);
$provides = preg_split('/\s+/', trim(idx($metadata, 'provides')));
$requires = preg_split('/\s+/', trim(idx($metadata, 'requires')));
$provides = array_filter($provides);
$requires = array_filter($requires);
if (count($provides) !== 1) {
throw new Exception(
"File {$path} must @provide exactly one Celerity target.");
}
$provides = reset($provides);
$type = 'js';
if (preg_match('/\.css$/', $path)) {
$type = 'css';
}
$uri = '/res/'.substr($info['hash'], 0, 8).$path;
$hash_map[$provides] = $info['hash'];
$runtime_map[$provides] = array(
'uri' => $uri,
'type' => $type,
'requires' => $requires,
'disk' => $path,
);
}
$package_map = array();
foreach ($package_spec as $name => $package) {
$hashes = array();
$type = null;
foreach ($package as $symbol) {
if (empty($hash_map[$symbol])) {
throw new Exception(
"Package specification for '{$name}' includes '{$symbol}', but that ".
"symbol is not defined anywhere.");
}
if ($type === null) {
$type = $runtime_map[$symbol]['type'];
} else {
$ntype = $runtime_map[$symbol]['type'];
if ($type !== $ntype) {
throw new Exception(
"Package specification for '{$name}' mixes resources of type ".
"'{$type}' with resources of type '{$ntype}'. Each package may only ".
"contain one type of resource.");
}
}
$hashes[] = $symbol.':'.$hash_map[$symbol];
}
$key = substr(md5(implode("\n", $hashes)), 0, 8);
$package_map['packages'][$key] = array(
'name' => $name,
'symbols' => $package,
'uri' => '/res/pkg/'.$key.'/'.$name,
'type' => $type,
);
foreach ($package as $symbol) {
$package_map['reverse'][$symbol] = $key;
}
}
-
+ksort($runtime_map);
$runtime_map = var_export($runtime_map, true);
$runtime_map = preg_replace('/\s+$/m', '', $runtime_map);
$runtime_map = preg_replace('/array \(/', 'array(', $runtime_map);
+ksort($package_map['packages']);
+ksort($package_map['reverse']);
$package_map = var_export($package_map, true);
$pacakge_map = preg_replace('/\s+$/m', '', $package_map);
$package_map = preg_replace('/array \(/', 'array(', $package_map);
$resource_map = <<<EOFILE
<?php
/**
* This file is automatically generated. Use 'celerity_mapper.php' to rebuild
* it.
* @generated
*/
celerity_register_resource_map({$runtime_map}, {$pacakge_map});
EOFILE;
echo "Writing map...\n";
Filesystem::writeFile(
$root.'/../src/__celerity_resource_map__.php',
$resource_map);
echo "Done.\n";
diff --git a/src/__celerity_resource_map__.php b/src/__celerity_resource_map__.php
index ac645498db..15f450663c 100644
--- a/src/__celerity_resource_map__.php
+++ b/src/__celerity_resource_map__.php
@@ -1,752 +1,752 @@
<?php
/**
* This file is automatically generated. Use 'celerity_mapper.php' to rebuild
* it.
* @generated
*/
celerity_register_resource_map(array(
- 'javelin-behavior-diffusion-jump-to' =>
+ 'aphront-crumbs-view-css' =>
array(
- 'uri' => '/res/4f3f6cdc/rsrc/js/application/diffusion/behavior-jump-to.js',
- 'type' => 'js',
+ 'uri' => '/res/c666a518/rsrc/css/aphront/crumbs-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js',
+ 'disk' => '/rsrc/css/aphront/crumbs-view.css',
),
- 'javelin-behavior-diffusion-pull-lastmodified' =>
+ 'aphront-dark-console-css' =>
array(
- 'uri' => '/res/6a5e7374/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
- 'type' => 'js',
+ 'uri' => '/res/0417eb95/rsrc/css/aphront/dark-console.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
+ 'disk' => '/rsrc/css/aphront/dark-console.css',
),
- 'javelin-behavior-owners-path-editor' =>
+ 'aphront-dialog-view-css' =>
array(
- 'uri' => '/res/7568aa22/rsrc/js/application/owners/owners-path-editor.js',
- 'type' => 'js',
+ 'uri' => '/res/9be517dc/rsrc/css/aphront/dialog-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'owners-path-editor',
- 1 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/owners/owners-path-editor.js',
+ 'disk' => '/rsrc/css/aphront/dialog-view.css',
),
- 'owners-path-editor' =>
+ 'aphront-error-view-css' =>
array(
- 'uri' => '/res/b01c1ca9/rsrc/js/application/owners/OwnersPathEditor.js',
- 'type' => 'js',
+ 'uri' => '/res/19b27527/rsrc/css/aphront/error-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'multirow-row-manager',
- 1 => 'javelin-lib-dev',
- 2 => 'javelin-typeahead-dev',
- 3 => 'path-typeahead',
),
- 'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js',
+ 'disk' => '/rsrc/css/aphront/error-view.css',
),
- 'herald-rule-editor' =>
+ 'aphront-form-view-css' =>
array(
- 'uri' => '/res/ec8e2110/rsrc/js/application/herald/HeraldRuleEditor.js',
- 'type' => 'js',
+ 'uri' => '/res/82eca506/rsrc/css/aphront/form-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'multirow-row-manager',
- 1 => 'javelin-lib-dev',
- 2 => 'javelin-typeahead-dev',
- 3 => 'path-typeahead',
),
- 'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js',
+ 'disk' => '/rsrc/css/aphront/form-view.css',
),
- 'javelin-behavior-herald-rule-editor' =>
+ 'aphront-headsup-action-list-view-css' =>
array(
- 'uri' => '/res/48108130/rsrc/js/application/herald/herald-rule-editor.js',
- 'type' => 'js',
+ 'uri' => '/res/fe9accb9/rsrc/css/aphront/headsup-action-list-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'herald-rule-editor',
- 1 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/herald/herald-rule-editor.js',
+ 'disk' => '/rsrc/css/aphront/headsup-action-list-view.css',
),
- 'path-typeahead' =>
+ 'aphront-list-filter-view-css' =>
array(
- 'uri' => '/res/42fb76c3/rsrc/js/application/herald/PathTypeahead.js',
- 'type' => 'js',
+ 'uri' => '/res/50a790ae/rsrc/css/aphront/list-filter-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
- 1 => 'javelin-typeahead-dev',
),
- 'disk' => '/rsrc/js/application/herald/PathTypeahead.js',
+ 'disk' => '/rsrc/css/aphront/list-filter-view.css',
),
- 'javelin-behavior-differential-populate' =>
+ 'aphront-pager-view-css' =>
array(
- 'uri' => '/res/a13dcd7e/rsrc/js/application/differential/behavior-populate.js',
- 'type' => 'js',
+ 'uri' => '/res/73ec8cd5/rsrc/css/aphront/pager-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-populate.js',
+ 'disk' => '/rsrc/css/aphront/pager-view.css',
),
- 'javelin-behavior-differential-add-reviewers' =>
+ 'aphront-panel-view-css' =>
array(
- 'uri' => '/res/330154e4/rsrc/js/application/differential/behavior-add-reviewers.js',
- 'type' => 'js',
+ 'uri' => '/res/8f9f3632/rsrc/css/aphront/panel-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-add-reviewers.js',
+ 'disk' => '/rsrc/css/aphront/panel-view.css',
),
- 'javelin-behavior-differential-edit-inline-comments' =>
+ 'aphront-request-failure-view-css' =>
array(
- 'uri' => '/res/6a6f38e6/rsrc/js/application/differential/behavior-edit-inline-comments.js',
- 'type' => 'js',
+ 'uri' => '/res/97b8337a/rsrc/css/aphront/request-failure-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js',
+ 'disk' => '/rsrc/css/aphront/request-failure-view.css',
),
- 'javelin-behavior-differential-show-more' =>
+ 'aphront-side-nav-view-css' =>
array(
- 'uri' => '/res/ea998002/rsrc/js/application/differential/behavior-show-more.js',
- 'type' => 'js',
+ 'uri' => '/res/4f4c5ca8/rsrc/css/aphront/side-nav-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-show-more.js',
+ 'disk' => '/rsrc/css/aphront/side-nav-view.css',
),
- 'javelin-behavior-differential-show-all-comments' =>
+ 'aphront-table-view-css' =>
array(
- 'uri' => '/res/2a3592b8/rsrc/js/application/differential/behavior-show-all-comments.js',
- 'type' => 'js',
+ 'uri' => '/res/f09b7da6/rsrc/css/aphront/table-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js',
+ 'disk' => '/rsrc/css/aphront/table-view.css',
),
- 'javelin-behavior-differential-feedback-preview' =>
+ 'aphront-tokenizer-control-css' =>
array(
- 'uri' => '/res/8695d8b8/rsrc/js/application/differential/behavior-comment-preview.js',
- 'type' => 'js',
+ 'uri' => '/res/190349be/rsrc/css/aphront/tokenizer.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
+ 0 => 'aphront-typeahead-control-css',
),
- 'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js',
+ 'disk' => '/rsrc/css/aphront/tokenizer.css',
),
- 'javelin-behavior-differential-diff-radios' =>
+ 'aphront-typeahead-control-css' =>
array(
- 'uri' => '/res/fdeb3823/rsrc/js/application/differential/behavior-diff-radios.js',
- 'type' => 'js',
+ 'uri' => '/res/928df9f0/rsrc/css/aphront/typeahead.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js',
+ 'disk' => '/rsrc/css/aphront/typeahead.css',
),
- 'javelin-behavior-phabricator-object-selector' =>
+ 'differential-changeset-view-css' =>
array(
- 'uri' => '/res/c0f12b29/rsrc/js/application/core/behavior-object-selector.js',
- 'type' => 'js',
+ 'uri' => '/res/f26ca6f9/rsrc/css/application/differential/changeset-view.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/core/behavior-object-selector.js',
+ 'disk' => '/rsrc/css/application/differential/changeset-view.css',
),
- 'javelin-behavior-aphront-basic-tokenizer' =>
+ 'differential-core-view-css' =>
array(
- 'uri' => '/res/8317d761/rsrc/js/application/core/behavior-tokenizer.js',
- 'type' => 'js',
+ 'uri' => '/res/525d1a12/rsrc/css/application/differential/core.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/core/behavior-tokenizer.js',
+ 'disk' => '/rsrc/css/application/differential/core.css',
),
- 'javelin-behavior-error-log' =>
+ 'differential-revision-add-comment-css' =>
array(
- 'uri' => '/res/c57a323f/rsrc/js/application/core/behavior-error-log.js',
- 'type' => 'js',
+ 'uri' => '/res/aaae14d3/rsrc/css/application/differential/add-comment.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/core/behavior-error-log.js',
+ 'disk' => '/rsrc/css/application/differential/add-comment.css',
),
- 'multirow-row-manager' =>
+ 'differential-revision-comment-css' =>
array(
- 'uri' => '/res/330d076b/rsrc/js/application/core/MultirowRowManager.js',
- 'type' => 'js',
+ 'uri' => '/res/7185c7fe/rsrc/css/application/differential/revision-comment.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/core/MultirowRowManager.js',
+ 'disk' => '/rsrc/css/application/differential/revision-comment.css',
),
- 'javelin-behavior-dark-console' =>
+ 'differential-revision-comment-list-css' =>
array(
- 'uri' => '/res/020b0265/rsrc/js/application/core/behavior-dark-console.js',
- 'type' => 'js',
+ 'uri' => '/res/10b9a829/rsrc/css/application/differential/revision-comment-list.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/application/core/behavior-dark-console.js',
+ 'disk' => '/rsrc/css/application/differential/revision-comment-list.css',
),
- 'javelin-behavior-workflow' =>
+ 'differential-revision-detail-css' =>
array(
- 'uri' => '/res/15446e7e/rsrc/js/application/core/behavior-workflow.js',
- 'type' => 'js',
+ 'uri' => '/res/a63e2d06/rsrc/css/application/differential/revision-detail.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/core/behavior-workflow.js',
+ 'disk' => '/rsrc/css/application/differential/revision-detail.css',
),
- 'javelin-behavior-maniphest-transaction-controls' =>
+ 'differential-revision-history-css' =>
array(
- 'uri' => '/res/fc6a8722/rsrc/js/application/maniphest/behavior-transaction-controls.js',
- 'type' => 'js',
+ 'uri' => '/res/755f3da3/rsrc/css/application/differential/revision-history.css',
+ 'type' => 'css',
'requires' =>
array(
- 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js',
+ 'disk' => '/rsrc/css/application/differential/revision-history.css',
),
- 'javelin-typeahead-prod' =>
+ 'differential-table-of-contents-css' =>
array(
- 'uri' => '/res/69d5fad1/rsrc/js/javelin/typeahead.min.js',
- 'type' => 'js',
+ 'uri' => '/res/e68f6f05/rsrc/css/application/differential/table-of-contents.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/typeahead.min.js',
+ 'disk' => '/rsrc/css/application/differential/table-of-contents.css',
),
- 'javelin-workflow-prod' =>
+ 'diffusion-commit-view-css' =>
array(
- 'uri' => '/res/b758e0a0/rsrc/js/javelin/workflow.min.js',
- 'type' => 'js',
+ 'uri' => '/res/8c139192/rsrc/css/application/diffusion/commit-view.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/workflow.min.js',
+ 'disk' => '/rsrc/css/application/diffusion/commit-view.css',
),
- 'javelin-magical-init' =>
+ 'diffusion-source-css' =>
array(
- 'uri' => '/res/76614f84/rsrc/js/javelin/init.dev.js',
- 'type' => 'js',
+ 'uri' => '/res/7f50817b/rsrc/css/application/diffusion/diffusion-source.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/init.dev.js',
+ 'disk' => '/rsrc/css/application/diffusion/diffusion-source.css',
),
- 'javelin-workflow-dev' =>
+ 'herald-css' =>
array(
- 'uri' => '/res/c6b17f93/rsrc/js/javelin/workflow.dev.js',
- 'type' => 'js',
+ 'uri' => '/res/211a4b1b/rsrc/css/application/herald/herald.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/workflow.dev.js',
+ 'disk' => '/rsrc/css/application/herald/herald.css',
),
- 'javelin-lib-dev' =>
+ 'herald-rule-editor' =>
array(
- 'uri' => '/res/a0e7a5e9/rsrc/js/javelin/javelin.dev.js',
+ 'uri' => '/res/ec8e2110/rsrc/js/application/herald/HeraldRuleEditor.js',
'type' => 'js',
'requires' =>
array(
+ 0 => 'multirow-row-manager',
+ 1 => 'javelin-lib-dev',
+ 2 => 'javelin-typeahead-dev',
+ 3 => 'path-typeahead',
),
- 'disk' => '/rsrc/js/javelin/javelin.dev.js',
+ 'disk' => '/rsrc/js/application/herald/HeraldRuleEditor.js',
),
- 'javelin-init-prod' =>
+ 'herald-test-css' =>
array(
- 'uri' => '/res/1267c868/rsrc/js/javelin/init.min.js',
- 'type' => 'js',
+ 'uri' => '/res/28269358/rsrc/css/application/herald/herald-test.css',
+ 'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/init.min.js',
+ 'disk' => '/rsrc/css/application/herald/herald-test.css',
),
- 'javelin-lib-prod' =>
+ 'javelin-behavior-aphront-basic-tokenizer' =>
array(
- 'uri' => '/res/2f2b3b2e/rsrc/js/javelin/javelin.min.js',
+ 'uri' => '/res/8317d761/rsrc/js/application/core/behavior-tokenizer.js',
'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/js/javelin/javelin.min.js',
+ 'disk' => '/rsrc/js/application/core/behavior-tokenizer.js',
),
- 'javelin-typeahead-dev' =>
+ 'javelin-behavior-dark-console' =>
array(
- 'uri' => '/res/6de6ae59/rsrc/js/javelin/typeahead.dev.js',
+ 'uri' => '/res/020b0265/rsrc/js/application/core/behavior-dark-console.js',
'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/js/javelin/typeahead.dev.js',
+ 'disk' => '/rsrc/js/application/core/behavior-dark-console.js',
),
- 'diffusion-commit-view-css' =>
+ 'javelin-behavior-differential-add-reviewers' =>
array(
- 'uri' => '/res/8c139192/rsrc/css/application/diffusion/commit-view.css',
- 'type' => 'css',
+ 'uri' => '/res/330154e4/rsrc/js/application/differential/behavior-add-reviewers.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/diffusion/commit-view.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-add-reviewers.js',
),
- 'diffusion-source-css' =>
+ 'javelin-behavior-differential-diff-radios' =>
array(
- 'uri' => '/res/7f50817b/rsrc/css/application/diffusion/diffusion-source.css',
- 'type' => 'css',
+ 'uri' => '/res/fdeb3823/rsrc/js/application/differential/behavior-diff-radios.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/diffusion/diffusion-source.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-diff-radios.js',
),
- 'owners-path-editor-css' =>
+ 'javelin-behavior-differential-edit-inline-comments' =>
array(
- 'uri' => '/res/f40dc6b1/rsrc/css/application/owners/owners-path-editor.css',
- 'type' => 'css',
+ 'uri' => '/res/6a6f38e6/rsrc/js/application/differential/behavior-edit-inline-comments.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/owners/owners-path-editor.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-edit-inline-comments.js',
),
- 'herald-css' =>
+ 'javelin-behavior-differential-feedback-preview' =>
array(
- 'uri' => '/res/211a4b1b/rsrc/css/application/herald/herald.css',
- 'type' => 'css',
+ 'uri' => '/res/8695d8b8/rsrc/js/application/differential/behavior-comment-preview.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/herald/herald.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-comment-preview.js',
),
- 'herald-test-css' =>
+ 'javelin-behavior-differential-populate' =>
array(
- 'uri' => '/res/28269358/rsrc/css/application/herald/herald-test.css',
- 'type' => 'css',
+ 'uri' => '/res/a13dcd7e/rsrc/js/application/differential/behavior-populate.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/herald/herald-test.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-populate.js',
),
- 'phabricator-profile-css' =>
+ 'javelin-behavior-differential-show-all-comments' =>
array(
- 'uri' => '/res/259ad37f/rsrc/css/application/people/profile.css',
- 'type' => 'css',
+ 'uri' => '/res/2a3592b8/rsrc/js/application/differential/behavior-show-all-comments.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/people/profile.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-show-all-comments.js',
),
- 'differential-table-of-contents-css' =>
+ 'javelin-behavior-differential-show-more' =>
array(
- 'uri' => '/res/e68f6f05/rsrc/css/application/differential/table-of-contents.css',
- 'type' => 'css',
+ 'uri' => '/res/ea998002/rsrc/js/application/differential/behavior-show-more.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/table-of-contents.css',
+ 'disk' => '/rsrc/js/application/differential/behavior-show-more.js',
),
- 'differential-revision-history-css' =>
+ 'javelin-behavior-diffusion-jump-to' =>
array(
- 'uri' => '/res/755f3da3/rsrc/css/application/differential/revision-history.css',
- 'type' => 'css',
+ 'uri' => '/res/4f3f6cdc/rsrc/js/application/diffusion/behavior-jump-to.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/revision-history.css',
+ 'disk' => '/rsrc/js/application/diffusion/behavior-jump-to.js',
),
- 'differential-changeset-view-css' =>
+ 'javelin-behavior-diffusion-pull-lastmodified' =>
array(
- 'uri' => '/res/f26ca6f9/rsrc/css/application/differential/changeset-view.css',
- 'type' => 'css',
+ 'uri' => '/res/6a5e7374/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/changeset-view.css',
+ 'disk' => '/rsrc/js/application/diffusion/behavior-pull-lastmodified.js',
),
- 'differential-revision-comment-list-css' =>
+ 'javelin-behavior-error-log' =>
array(
- 'uri' => '/res/10b9a829/rsrc/css/application/differential/revision-comment-list.css',
- 'type' => 'css',
+ 'uri' => '/res/c57a323f/rsrc/js/application/core/behavior-error-log.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/revision-comment-list.css',
+ 'disk' => '/rsrc/js/application/core/behavior-error-log.js',
),
- 'differential-revision-detail-css' =>
+ 'javelin-behavior-herald-rule-editor' =>
array(
- 'uri' => '/res/a63e2d06/rsrc/css/application/differential/revision-detail.css',
- 'type' => 'css',
+ 'uri' => '/res/48108130/rsrc/js/application/herald/herald-rule-editor.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'herald-rule-editor',
+ 1 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/revision-detail.css',
+ 'disk' => '/rsrc/js/application/herald/herald-rule-editor.js',
),
- 'differential-revision-comment-css' =>
+ 'javelin-behavior-maniphest-transaction-controls' =>
array(
- 'uri' => '/res/7185c7fe/rsrc/css/application/differential/revision-comment.css',
- 'type' => 'css',
+ 'uri' => '/res/fc6a8722/rsrc/js/application/maniphest/behavior-transaction-controls.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/revision-comment.css',
+ 'disk' => '/rsrc/js/application/maniphest/behavior-transaction-controls.js',
),
- 'differential-revision-add-comment-css' =>
+ 'javelin-behavior-owners-path-editor' =>
array(
- 'uri' => '/res/aaae14d3/rsrc/css/application/differential/add-comment.css',
- 'type' => 'css',
+ 'uri' => '/res/7568aa22/rsrc/js/application/owners/owners-path-editor.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'owners-path-editor',
+ 1 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/add-comment.css',
+ 'disk' => '/rsrc/js/application/owners/owners-path-editor.js',
),
- 'differential-core-view-css' =>
+ 'javelin-behavior-phabricator-object-selector' =>
array(
- 'uri' => '/res/525d1a12/rsrc/css/application/differential/core.css',
- 'type' => 'css',
+ 'uri' => '/res/85d0769b/rsrc/js/application/core/behavior-object-selector.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/differential/core.css',
+ 'disk' => '/rsrc/js/application/core/behavior-object-selector.js',
),
- 'phabricator-standard-page-view' =>
+ 'javelin-behavior-workflow' =>
array(
- 'uri' => '/res/0d41ea7c/rsrc/css/application/base/standard-page-view.css',
- 'type' => 'css',
+ 'uri' => '/res/15446e7e/rsrc/js/application/core/behavior-workflow.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/application/base/standard-page-view.css',
+ 'disk' => '/rsrc/js/application/core/behavior-workflow.js',
),
- 'phabricator-ui-example-css' =>
+ 'javelin-init-prod' =>
array(
- 'uri' => '/res/365a10f1/rsrc/css/application/uiexample/example.css',
- 'type' => 'css',
+ 'uri' => '/res/1267c868/rsrc/js/javelin/init.min.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/application/uiexample/example.css',
+ 'disk' => '/rsrc/js/javelin/init.min.js',
),
- 'phabricator-object-selector-css' =>
+ 'javelin-lib-dev' =>
array(
- 'uri' => '/res/52a7e289/rsrc/css/application/objectselector/object-selector.css',
- 'type' => 'css',
+ 'uri' => '/res/a0e7a5e9/rsrc/js/javelin/javelin.dev.js',
+ 'type' => 'js',
'requires' =>
array(
- 0 => 'aphront-dialog-view-css',
),
- 'disk' => '/rsrc/css/application/objectselector/object-selector.css',
+ 'disk' => '/rsrc/js/javelin/javelin.dev.js',
),
- 'maniphest-task-summary-css' =>
+ 'javelin-lib-prod' =>
array(
- 'uri' => '/res/8dc6fb13/rsrc/css/application/maniphest/task-summary.css',
- 'type' => 'css',
+ 'uri' => '/res/2f2b3b2e/rsrc/js/javelin/javelin.min.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/application/maniphest/task-summary.css',
+ 'disk' => '/rsrc/js/javelin/javelin.min.js',
),
- 'mainphest-task-detail-css' =>
+ 'javelin-magical-init' =>
array(
- 'uri' => '/res/e5f3beca/rsrc/css/application/maniphest/task-detail.css',
- 'type' => 'css',
+ 'uri' => '/res/76614f84/rsrc/js/javelin/init.dev.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/application/maniphest/task-detail.css',
+ 'disk' => '/rsrc/js/javelin/init.dev.js',
),
- 'maniphest-transaction-detail-css' =>
+ 'javelin-typeahead-dev' =>
array(
- 'uri' => '/res/16725026/rsrc/css/application/maniphest/transaction-detail.css',
- 'type' => 'css',
+ 'uri' => '/res/6de6ae59/rsrc/js/javelin/typeahead.dev.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/application/maniphest/transaction-detail.css',
+ 'disk' => '/rsrc/js/javelin/typeahead.dev.js',
),
- 'phabricator-directory-css' =>
+ 'javelin-typeahead-prod' =>
array(
- 'uri' => '/res/6a000601/rsrc/css/application/directory/phabricator-directory.css',
- 'type' => 'css',
+ 'uri' => '/res/69d5fad1/rsrc/js/javelin/typeahead.min.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/application/directory/phabricator-directory.css',
+ 'disk' => '/rsrc/js/javelin/typeahead.min.js',
),
- 'phabricator-remarkup-css' =>
+ 'javelin-workflow-dev' =>
array(
- 'uri' => '/res/1fc75ba6/rsrc/css/core/remarkup.css',
- 'type' => 'css',
+ 'uri' => '/res/c6b17f93/rsrc/js/javelin/workflow.dev.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/core/remarkup.css',
+ 'disk' => '/rsrc/js/javelin/workflow.dev.js',
),
- 'phabricator-core-buttons-css' =>
+ 'javelin-workflow-prod' =>
array(
- 'uri' => '/res/53b4f712/rsrc/css/core/buttons.css',
- 'type' => 'css',
+ 'uri' => '/res/b758e0a0/rsrc/js/javelin/workflow.min.js',
+ 'type' => 'js',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/core/buttons.css',
+ 'disk' => '/rsrc/js/javelin/workflow.min.js',
),
- 'syntax-highlighting-css' =>
+ 'mainphest-task-detail-css' =>
array(
- 'uri' => '/res/fb673ece/rsrc/css/core/syntax.css',
+ 'uri' => '/res/e5f3beca/rsrc/css/application/maniphest/task-detail.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/core/syntax.css',
+ 'disk' => '/rsrc/css/application/maniphest/task-detail.css',
),
- 'phabricator-core-css' =>
+ 'maniphest-task-summary-css' =>
array(
- 'uri' => '/res/6eebb99b/rsrc/css/core/core.css',
+ 'uri' => '/res/8dc6fb13/rsrc/css/application/maniphest/task-summary.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/core/core.css',
+ 'disk' => '/rsrc/css/application/maniphest/task-summary.css',
),
- 'aphront-side-nav-view-css' =>
+ 'maniphest-transaction-detail-css' =>
array(
- 'uri' => '/res/4f4c5ca8/rsrc/css/aphront/side-nav-view.css',
+ 'uri' => '/res/16725026/rsrc/css/application/maniphest/transaction-detail.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/side-nav-view.css',
+ 'disk' => '/rsrc/css/application/maniphest/transaction-detail.css',
),
- 'aphront-list-filter-view-css' =>
+ 'multirow-row-manager' =>
array(
- 'uri' => '/res/50a790ae/rsrc/css/aphront/list-filter-view.css',
- 'type' => 'css',
+ 'uri' => '/res/330d076b/rsrc/js/application/core/MultirowRowManager.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
),
- 'disk' => '/rsrc/css/aphront/list-filter-view.css',
+ 'disk' => '/rsrc/js/application/core/MultirowRowManager.js',
),
- 'aphront-tokenizer-control-css' =>
+ 'owners-path-editor' =>
array(
- 'uri' => '/res/190349be/rsrc/css/aphront/tokenizer.css',
- 'type' => 'css',
+ 'uri' => '/res/b01c1ca9/rsrc/js/application/owners/OwnersPathEditor.js',
+ 'type' => 'js',
'requires' =>
array(
- 0 => 'aphront-typeahead-control-css',
+ 0 => 'multirow-row-manager',
+ 1 => 'javelin-lib-dev',
+ 2 => 'javelin-typeahead-dev',
+ 3 => 'path-typeahead',
),
- 'disk' => '/rsrc/css/aphront/tokenizer.css',
+ 'disk' => '/rsrc/js/application/owners/OwnersPathEditor.js',
),
- 'aphront-request-failure-view-css' =>
+ 'owners-path-editor-css' =>
array(
- 'uri' => '/res/97b8337a/rsrc/css/aphront/request-failure-view.css',
+ 'uri' => '/res/f40dc6b1/rsrc/css/application/owners/owners-path-editor.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/request-failure-view.css',
+ 'disk' => '/rsrc/css/application/owners/owners-path-editor.css',
),
- 'aphront-dark-console-css' =>
+ 'path-typeahead' =>
array(
- 'uri' => '/res/0417eb95/rsrc/css/aphront/dark-console.css',
- 'type' => 'css',
+ 'uri' => '/res/42fb76c3/rsrc/js/application/herald/PathTypeahead.js',
+ 'type' => 'js',
'requires' =>
array(
+ 0 => 'javelin-lib-dev',
+ 1 => 'javelin-typeahead-dev',
),
- 'disk' => '/rsrc/css/aphront/dark-console.css',
+ 'disk' => '/rsrc/js/application/herald/PathTypeahead.js',
),
- 'aphront-panel-view-css' =>
+ 'phabricator-core-buttons-css' =>
array(
- 'uri' => '/res/8f9f3632/rsrc/css/aphront/panel-view.css',
+ 'uri' => '/res/53b4f712/rsrc/css/core/buttons.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/panel-view.css',
+ 'disk' => '/rsrc/css/core/buttons.css',
),
- 'aphront-typeahead-control-css' =>
+ 'phabricator-core-css' =>
array(
- 'uri' => '/res/928df9f0/rsrc/css/aphront/typeahead.css',
+ 'uri' => '/res/6eebb99b/rsrc/css/core/core.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/typeahead.css',
+ 'disk' => '/rsrc/css/core/core.css',
),
- 'aphront-form-view-css' =>
+ 'phabricator-directory-css' =>
array(
- 'uri' => '/res/82eca506/rsrc/css/aphront/form-view.css',
+ 'uri' => '/res/6a000601/rsrc/css/application/directory/phabricator-directory.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/form-view.css',
+ 'disk' => '/rsrc/css/application/directory/phabricator-directory.css',
),
- 'aphront-dialog-view-css' =>
+ 'phabricator-object-selector-css' =>
array(
- 'uri' => '/res/9be517dc/rsrc/css/aphront/dialog-view.css',
+ 'uri' => '/res/52a7e289/rsrc/css/application/objectselector/object-selector.css',
'type' => 'css',
'requires' =>
array(
+ 0 => 'aphront-dialog-view-css',
),
- 'disk' => '/rsrc/css/aphront/dialog-view.css',
+ 'disk' => '/rsrc/css/application/objectselector/object-selector.css',
),
- 'aphront-crumbs-view-css' =>
+ 'phabricator-profile-css' =>
array(
- 'uri' => '/res/c666a518/rsrc/css/aphront/crumbs-view.css',
+ 'uri' => '/res/259ad37f/rsrc/css/application/people/profile.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/crumbs-view.css',
+ 'disk' => '/rsrc/css/application/people/profile.css',
),
- 'aphront-table-view-css' =>
+ 'phabricator-remarkup-css' =>
array(
- 'uri' => '/res/03724b05/rsrc/css/aphront/table-view.css',
+ 'uri' => '/res/1fc75ba6/rsrc/css/core/remarkup.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/table-view.css',
+ 'disk' => '/rsrc/css/core/remarkup.css',
),
- 'aphront-headsup-action-list-view-css' =>
+ 'phabricator-standard-page-view' =>
array(
- 'uri' => '/res/fe9accb9/rsrc/css/aphront/headsup-action-list-view.css',
+ 'uri' => '/res/0d41ea7c/rsrc/css/application/base/standard-page-view.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/headsup-action-list-view.css',
+ 'disk' => '/rsrc/css/application/base/standard-page-view.css',
),
- 'aphront-error-view-css' =>
+ 'phabricator-ui-example-css' =>
array(
- 'uri' => '/res/19b27527/rsrc/css/aphront/error-view.css',
+ 'uri' => '/res/365a10f1/rsrc/css/application/uiexample/example.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/error-view.css',
+ 'disk' => '/rsrc/css/application/uiexample/example.css',
),
- 'aphront-pager-view-css' =>
+ 'syntax-highlighting-css' =>
array(
- 'uri' => '/res/73ec8cd5/rsrc/css/aphront/pager-view.css',
+ 'uri' => '/res/fb673ece/rsrc/css/core/syntax.css',
'type' => 'css',
'requires' =>
array(
),
- 'disk' => '/rsrc/css/aphront/pager-view.css',
+ 'disk' => '/rsrc/css/core/syntax.css',
),
), array (
'packages' =>
array (
- 'd06872a7' =>
+ '14e8c91d' =>
array (
'name' => 'core.pkg.css',
'symbols' =>
array (
0 => 'phabricator-core-css',
1 => 'phabricator-core-buttons-css',
2 => 'phabricator-standard-page-view',
3 => 'aphront-dialog-view-css',
4 => 'aphront-form-view-css',
5 => 'aphront-panel-view-css',
6 => 'aphront-side-nav-view-css',
7 => 'aphront-table-view-css',
8 => 'aphront-crumbs-view-css',
9 => 'aphront-tokenizer-control-css',
10 => 'aphront-typeahead-control-css',
11 => 'phabricator-directory-css',
12 => 'phabricator-remarkup-css',
13 => 'syntax-highlighting-css',
),
- 'uri' => '/res/pkg/d06872a7/core.pkg.css',
+ 'uri' => '/res/pkg/14e8c91d/core.pkg.css',
'type' => 'css',
),
+ '6c786373' =>
+ array (
+ 'name' => 'differential.pkg.js',
+ 'symbols' =>
+ array (
+ 0 => 'javelin-behavior-differential-feedback-preview',
+ 1 => 'javelin-behavior-differential-edit-inline-comments',
+ 2 => 'javelin-behavior-differential-populate',
+ 3 => 'javelin-behavior-differential-show-more',
+ 4 => 'javelin-behavior-differential-diff-radios',
+ ),
+ 'uri' => '/res/pkg/6c786373/differential.pkg.js',
+ 'type' => 'js',
+ ),
'8d8a971a' =>
array (
'name' => 'differential.pkg.css',
'symbols' =>
array (
0 => 'differential-core-view-css',
1 => 'differential-changeset-view-css',
2 => 'differential-revision-detail-css',
3 => 'differential-revision-history-css',
4 => 'differential-table-of-contents-css',
5 => 'differential-revision-comment-css',
6 => 'differential-revision-add-comment-css',
7 => 'differential-revision-comment-list-css',
),
'uri' => '/res/pkg/8d8a971a/differential.pkg.css',
'type' => 'css',
),
- '6c786373' =>
- array (
- 'name' => 'differential.pkg.js',
- 'symbols' =>
- array (
- 0 => 'javelin-behavior-differential-feedback-preview',
- 1 => 'javelin-behavior-differential-edit-inline-comments',
- 2 => 'javelin-behavior-differential-populate',
- 3 => 'javelin-behavior-differential-show-more',
- 4 => 'javelin-behavior-differential-diff-radios',
- ),
- 'uri' => '/res/pkg/6c786373/differential.pkg.js',
- 'type' => 'js',
- ),
'eadf6ec3' =>
array (
'name' => 'diffusion.pkg.css',
'symbols' =>
array (
0 => 'diffusion-commit-view-css',
),
'uri' => '/res/pkg/eadf6ec3/diffusion.pkg.css',
'type' => 'css',
),
),
'reverse' =>
array (
- 'phabricator-core-css' => 'd06872a7',
- 'phabricator-core-buttons-css' => 'd06872a7',
- 'phabricator-standard-page-view' => 'd06872a7',
- 'aphront-dialog-view-css' => 'd06872a7',
- 'aphront-form-view-css' => 'd06872a7',
- 'aphront-panel-view-css' => 'd06872a7',
- 'aphront-side-nav-view-css' => 'd06872a7',
- 'aphront-table-view-css' => 'd06872a7',
- 'aphront-crumbs-view-css' => 'd06872a7',
- 'aphront-tokenizer-control-css' => 'd06872a7',
- 'aphront-typeahead-control-css' => 'd06872a7',
- 'phabricator-directory-css' => 'd06872a7',
- 'phabricator-remarkup-css' => 'd06872a7',
- 'syntax-highlighting-css' => 'd06872a7',
- 'differential-core-view-css' => '8d8a971a',
+ 'aphront-crumbs-view-css' => '14e8c91d',
+ 'aphront-dialog-view-css' => '14e8c91d',
+ 'aphront-form-view-css' => '14e8c91d',
+ 'aphront-panel-view-css' => '14e8c91d',
+ 'aphront-side-nav-view-css' => '14e8c91d',
+ 'aphront-table-view-css' => '14e8c91d',
+ 'aphront-tokenizer-control-css' => '14e8c91d',
+ 'aphront-typeahead-control-css' => '14e8c91d',
'differential-changeset-view-css' => '8d8a971a',
+ 'differential-core-view-css' => '8d8a971a',
+ 'differential-revision-add-comment-css' => '8d8a971a',
+ 'differential-revision-comment-css' => '8d8a971a',
+ 'differential-revision-comment-list-css' => '8d8a971a',
'differential-revision-detail-css' => '8d8a971a',
'differential-revision-history-css' => '8d8a971a',
'differential-table-of-contents-css' => '8d8a971a',
- 'differential-revision-comment-css' => '8d8a971a',
- 'differential-revision-add-comment-css' => '8d8a971a',
- 'differential-revision-comment-list-css' => '8d8a971a',
- 'javelin-behavior-differential-feedback-preview' => '6c786373',
+ 'diffusion-commit-view-css' => 'eadf6ec3',
+ 'javelin-behavior-differential-diff-radios' => '6c786373',
'javelin-behavior-differential-edit-inline-comments' => '6c786373',
+ 'javelin-behavior-differential-feedback-preview' => '6c786373',
'javelin-behavior-differential-populate' => '6c786373',
'javelin-behavior-differential-show-more' => '6c786373',
- 'javelin-behavior-differential-diff-radios' => '6c786373',
- 'diffusion-commit-view-css' => 'eadf6ec3',
+ 'phabricator-core-buttons-css' => '14e8c91d',
+ 'phabricator-core-css' => '14e8c91d',
+ 'phabricator-directory-css' => '14e8c91d',
+ 'phabricator-remarkup-css' => '14e8c91d',
+ 'phabricator-standard-page-view' => '14e8c91d',
+ 'syntax-highlighting-css' => '14e8c91d',
),
));
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
index 3b35f33608..99834e2890 100644
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -1,859 +1,865 @@
<?php
/**
* This file is automatically generated. Use 'phutil_mapper.php' to rebuild it.
* @generated
*/
phutil_register_library_map(array(
'class' =>
array(
'Aphront400Response' => 'aphront/response/400',
'Aphront404Response' => 'aphront/response/404',
'AphrontAjaxResponse' => 'aphront/response/ajax',
'AphrontApplicationConfiguration' => 'aphront/applicationconfiguration',
'AphrontController' => 'aphront/controller',
'AphrontCrumbsView' => 'view/layout/crumbs',
'AphrontDatabaseConnection' => 'storage/connection/base',
'AphrontDefaultApplicationConfiguration' => 'aphront/default/configuration',
'AphrontDefaultApplicationController' => 'aphront/default/controller',
'AphrontDialogResponse' => 'aphront/response/dialog',
'AphrontDialogView' => 'view/dialog',
'AphrontErrorView' => 'view/form/error',
'AphrontException' => 'aphront/exception/base',
'AphrontFileResponse' => 'aphront/response/file',
'AphrontFormCheckboxControl' => 'view/form/control/checkbox',
'AphrontFormControl' => 'view/form/control/base',
'AphrontFormDividerControl' => 'view/form/control/divider',
'AphrontFormFileControl' => 'view/form/control/file',
'AphrontFormMarkupControl' => 'view/form/control/markup',
'AphrontFormPasswordControl' => 'view/form/control/password',
'AphrontFormRecaptchaControl' => 'view/form/control/recaptcha',
'AphrontFormSelectControl' => 'view/form/control/select',
'AphrontFormStaticControl' => 'view/form/control/static',
'AphrontFormSubmitControl' => 'view/form/control/submit',
'AphrontFormTextAreaControl' => 'view/form/control/textarea',
'AphrontFormTextControl' => 'view/form/control/text',
'AphrontFormToggleButtonsControl' => 'view/form/control/togglebuttons',
'AphrontFormTokenizerControl' => 'view/form/control/tokenizer',
'AphrontFormView' => 'view/form/base',
'AphrontHeadsupActionListView' => 'view/layout/headsup/actionlist',
'AphrontHeadsupActionView' => 'view/layout/headsup/action',
'AphrontIsolatedDatabaseConnection' => 'storage/connection/isolated',
'AphrontIsolatedDatabaseConnectionTestCase' => 'storage/connection/isolated/__tests__',
'AphrontListFilterView' => 'view/layout/listfilter',
'AphrontMySQLDatabaseConnection' => 'storage/connection/mysql',
'AphrontNullView' => 'view/null',
'AphrontPageView' => 'view/page/base',
'AphrontPagerView' => 'view/control/pager',
'AphrontPanelView' => 'view/layout/panel',
'AphrontQueryAccessDeniedException' => 'storage/exception/accessdenied',
'AphrontQueryConnectionException' => 'storage/exception/connection',
'AphrontQueryConnectionLostException' => 'storage/exception/connectionlost',
'AphrontQueryCountException' => 'storage/exception/count',
'AphrontQueryDuplicateKeyException' => 'storage/exception/duplicatekey',
'AphrontQueryException' => 'storage/exception/base',
'AphrontQueryObjectMissingException' => 'storage/exception/objectmissing',
'AphrontQueryParameterException' => 'storage/exception/parameter',
'AphrontQueryRecoverableException' => 'storage/exception/recoverable',
'AphrontRedirectException' => 'aphront/exception/redirect',
'AphrontRedirectResponse' => 'aphront/response/redirect',
'AphrontRequest' => 'aphront/request',
'AphrontRequestFailureView' => 'view/page/failure',
'AphrontResponse' => 'aphront/response/base',
'AphrontSideNavView' => 'view/layout/sidenav',
'AphrontTableView' => 'view/control/table',
'AphrontTokenizerTemplateView' => 'view/control/tokenizer',
'AphrontTypeaheadTemplateView' => 'view/control/typeahead',
'AphrontURIMapper' => 'aphront/mapper',
'AphrontView' => 'view/base',
'AphrontWebpageResponse' => 'aphront/response/webpage',
'CelerityAPI' => 'infrastructure/celerity/api',
'CelerityResourceController' => 'infrastructure/celerity/controller',
'CelerityResourceMap' => 'infrastructure/celerity/map',
'CelerityStaticResourceResponse' => 'infrastructure/celerity/response',
'ConduitAPIMethod' => 'applications/conduit/method/base',
'ConduitAPIRequest' => 'applications/conduit/protocol/request',
'ConduitAPI_conduit_connect_Method' => 'applications/conduit/method/conduit/connect',
'ConduitAPI_conduit_ping_Method' => 'applications/conduit/method/conduit/ping',
'ConduitAPI_daemon_launched_Method' => 'applications/conduit/method/daemon/launched',
'ConduitAPI_daemon_log_Method' => 'applications/conduit/method/daemon/log',
'ConduitAPI_differential_creatediff_Method' => 'applications/conduit/method/differential/creatediff',
'ConduitAPI_differential_createrevision_Method' => 'applications/conduit/method/differential/createrevision',
'ConduitAPI_differential_find_Method' => 'applications/conduit/method/differential/find',
'ConduitAPI_differential_getalldiffs_Method' => 'applications/conduit/method/differential/getalldiffs',
'ConduitAPI_differential_getcommitmessage_Method' => 'applications/conduit/method/differential/getcommitmessage',
'ConduitAPI_differential_getcommitpaths_Method' => 'applications/conduit/method/differential/getcommitpaths',
'ConduitAPI_differential_getdiff_Method' => 'applications/conduit/method/differential/getdiff',
'ConduitAPI_differential_getrevision_Method' => 'applications/conduit/method/differential/getrevision',
'ConduitAPI_differential_getrevisionfeedback_Method' => 'applications/conduit/method/differential/getrevisionfeedback',
'ConduitAPI_differential_markcommitted_Method' => 'applications/conduit/method/differential/markcommitted',
'ConduitAPI_differential_parsecommitmessage_Method' => 'applications/conduit/method/differential/parsecommitmessage',
'ConduitAPI_differential_setdiffproperty_Method' => 'applications/conduit/method/differential/setdiffproperty',
'ConduitAPI_differential_updaterevision_Method' => 'applications/conduit/method/differential/updaterevision',
'ConduitAPI_differential_updatetaskrevisionassoc_Method' => 'applications/conduit/method/differential/updatetaskrevisionassoc',
'ConduitAPI_diffusion_getcommits_Method' => 'applications/conduit/method/diffusion/getcommits',
'ConduitAPI_file_upload_Method' => 'applications/conduit/method/file/upload',
'ConduitAPI_path_getowners_Method' => 'applications/conduit/method/path/getowners',
'ConduitAPI_user_find_Method' => 'applications/conduit/method/user/find',
'ConduitAPI_user_whoami_Method' => 'applications/conduit/method/user/whoami',
'ConduitException' => 'applications/conduit/protocol/exception',
'DarkConsole' => 'aphront/console/api',
'DarkConsoleConfigPlugin' => 'aphront/console/plugin/config',
'DarkConsoleController' => 'aphront/console/controller',
'DarkConsoleCore' => 'aphront/console/core',
'DarkConsoleErrorLogPlugin' => 'aphront/console/plugin/errorlog',
'DarkConsoleErrorLogPluginAPI' => 'aphront/console/plugin/errorlog/api',
'DarkConsolePlugin' => 'aphront/console/plugin/base',
'DarkConsoleRequestPlugin' => 'aphront/console/plugin/request',
'DarkConsoleServicesPlugin' => 'aphront/console/plugin/services',
'DarkConsoleServicesPluginAPI' => 'aphront/console/plugin/services/api',
'DarkConsoleXHProfPlugin' => 'aphront/console/plugin/xhprof',
'DarkConsoleXHProfPluginAPI' => 'aphront/console/plugin/xhprof/api',
'DatabaseConfigurationProvider' => 'applications/base/storage/configuration',
'DifferentialAction' => 'applications/differential/constants/action',
'DifferentialAddCommentView' => 'applications/differential/view/addcomment',
'DifferentialAttachController' => 'applications/differential/controller/attach',
'DifferentialCCWelcomeMail' => 'applications/differential/mail/ccwelcome',
'DifferentialChangeType' => 'applications/differential/constants/changetype',
'DifferentialChangeset' => 'applications/differential/storage/changeset',
'DifferentialChangesetDetailView' => 'applications/differential/view/changesetdetailview',
'DifferentialChangesetListView' => 'applications/differential/view/changesetlistview',
'DifferentialChangesetParser' => 'applications/differential/parser/changeset',
'DifferentialChangesetViewController' => 'applications/differential/controller/changesetview',
'DifferentialComment' => 'applications/differential/storage/comment',
'DifferentialCommentEditor' => 'applications/differential/editor/comment',
'DifferentialCommentMail' => 'applications/differential/mail/comment',
'DifferentialCommentPreviewController' => 'applications/differential/controller/commentpreview',
'DifferentialCommentSaveController' => 'applications/differential/controller/commentsave',
'DifferentialCommitMessage' => 'applications/differential/parser/commitmessage',
'DifferentialCommitMessageData' => 'applications/differential/data/commitmessage',
'DifferentialCommitMessageParserException' => 'applications/differential/parser/commitmessage/exception',
'DifferentialController' => 'applications/differential/controller/base',
'DifferentialDAO' => 'applications/differential/storage/base',
'DifferentialDiff' => 'applications/differential/storage/diff',
'DifferentialDiffContentMail' => 'applications/differential/mail/diffcontent',
'DifferentialDiffCreateController' => 'applications/differential/controller/diffcreate',
'DifferentialDiffProperty' => 'applications/differential/storage/diffproperty',
'DifferentialDiffTableOfContentsView' => 'applications/differential/view/difftableofcontents',
'DifferentialDiffViewController' => 'applications/differential/controller/diffview',
'DifferentialHunk' => 'applications/differential/storage/hunk',
'DifferentialInlineComment' => 'applications/differential/storage/inlinecomment',
'DifferentialInlineCommentEditController' => 'applications/differential/controller/inlinecommentedit',
'DifferentialInlineCommentPreviewController' => 'applications/differential/controller/inlinecommentpreview',
'DifferentialInlineCommentView' => 'applications/differential/view/inlinecomment',
'DifferentialLintStatus' => 'applications/differential/constants/lintstatus',
'DifferentialMail' => 'applications/differential/mail/base',
'DifferentialMarkupEngineFactory' => 'applications/differential/parser/markup',
'DifferentialNewDiffMail' => 'applications/differential/mail/newdiff',
'DifferentialReviewRequestMail' => 'applications/differential/mail/reviewrequest',
'DifferentialRevision' => 'applications/differential/storage/revision',
'DifferentialRevisionCommentListView' => 'applications/differential/view/revisioncommentlist',
'DifferentialRevisionCommentView' => 'applications/differential/view/revisioncomment',
'DifferentialRevisionControlSystem' => 'applications/differential/constants/revisioncontrolsystem',
'DifferentialRevisionDetailRenderer' => 'applications/differential/controller/customrenderer',
'DifferentialRevisionDetailView' => 'applications/differential/view/revisiondetail',
'DifferentialRevisionEditController' => 'applications/differential/controller/revisionedit',
'DifferentialRevisionEditor' => 'applications/differential/editor/revision',
'DifferentialRevisionListController' => 'applications/differential/controller/revisionlist',
'DifferentialRevisionListData' => 'applications/differential/data/revisionlist',
'DifferentialRevisionStatus' => 'applications/differential/constants/revisionstatus',
'DifferentialRevisionUpdateHistoryView' => 'applications/differential/view/revisionupdatehistory',
'DifferentialRevisionViewController' => 'applications/differential/controller/revisionview',
'DifferentialSubscribeController' => 'applications/differential/controller/subscribe',
'DifferentialTasksAttacher' => 'applications/differential/tasks',
'DifferentialUnitStatus' => 'applications/differential/constants/unitstatus',
'DifferentialViewTime' => 'applications/differential/storage/viewtime',
'DiffusionBranchInformation' => 'applications/diffusion/data/branch',
'DiffusionBranchQuery' => 'applications/diffusion/query/branch/base',
'DiffusionBranchTableView' => 'applications/diffusion/view/branchtable',
'DiffusionBrowseController' => 'applications/diffusion/controller/browse',
'DiffusionBrowseFileController' => 'applications/diffusion/controller/file',
'DiffusionBrowseQuery' => 'applications/diffusion/query/browse/base',
'DiffusionBrowseTableView' => 'applications/diffusion/view/browsetable',
'DiffusionChangeController' => 'applications/diffusion/controller/change',
'DiffusionCommitChangeTableView' => 'applications/diffusion/view/commitchangetable',
'DiffusionCommitController' => 'applications/diffusion/controller/commit',
'DiffusionController' => 'applications/diffusion/controller/base',
'DiffusionDiffController' => 'applications/diffusion/controller/diff',
'DiffusionDiffQuery' => 'applications/diffusion/query/diff/base',
'DiffusionFileContent' => 'applications/diffusion/data/filecontent',
'DiffusionFileContentQuery' => 'applications/diffusion/query/filecontent/base',
'DiffusionGitBranchQuery' => 'applications/diffusion/query/branch/git',
'DiffusionGitBrowseQuery' => 'applications/diffusion/query/browse/git',
'DiffusionGitDiffQuery' => 'applications/diffusion/query/diff/git',
'DiffusionGitFileContentQuery' => 'applications/diffusion/query/filecontent/git',
'DiffusionGitHistoryQuery' => 'applications/diffusion/query/history/git',
'DiffusionGitLastModifiedQuery' => 'applications/diffusion/query/lastmodified/git',
'DiffusionGitPathIDQuery' => 'applications/diffusion/query/pathid/base',
'DiffusionGitRequest' => 'applications/diffusion/request/git',
'DiffusionHistoryController' => 'applications/diffusion/controller/history',
'DiffusionHistoryQuery' => 'applications/diffusion/query/history/base',
'DiffusionHistoryTableView' => 'applications/diffusion/view/historytable',
'DiffusionHomeController' => 'applications/diffusion/controller/home',
'DiffusionLastModifiedController' => 'applications/diffusion/controller/lastmodified',
'DiffusionLastModifiedQuery' => 'applications/diffusion/query/lastmodified/base',
'DiffusionPathChange' => 'applications/diffusion/data/pathchange',
'DiffusionPathChangeQuery' => 'applications/diffusion/query/pathchange/base',
'DiffusionPathCompleteController' => 'applications/diffusion/controller/pathcomplete',
'DiffusionPathValidateController' => 'applications/diffusion/controller/pathvalidate',
'DiffusionRepositoryController' => 'applications/diffusion/controller/repository',
'DiffusionRepositoryPath' => 'applications/diffusion/data/repositorypath',
'DiffusionRequest' => 'applications/diffusion/request/base',
'DiffusionSvnBrowseQuery' => 'applications/diffusion/query/browse/svn',
'DiffusionSvnDiffQuery' => 'applications/diffusion/query/diff/svn',
'DiffusionSvnFileContentQuery' => 'applications/diffusion/query/filecontent/svn',
'DiffusionSvnHistoryQuery' => 'applications/diffusion/query/history/svn',
'DiffusionSvnLastModifiedQuery' => 'applications/diffusion/query/lastmodified/svn',
'DiffusionSvnRequest' => 'applications/diffusion/request/svn',
'DiffusionView' => 'applications/diffusion/view/base',
'HeraldAction' => 'applications/herald/storage/action',
'HeraldActionConfig' => 'applications/herald/config/action',
'HeraldApplyTranscript' => 'applications/herald/storage/transcript/apply',
'HeraldCommitAdapter' => 'applications/herald/adapter/commit',
'HeraldCondition' => 'applications/herald/storage/condition',
'HeraldConditionConfig' => 'applications/herald/config/condition',
'HeraldConditionTranscript' => 'applications/herald/storage/transcript/condition',
'HeraldContentTypeConfig' => 'applications/herald/config/contenttype',
'HeraldController' => 'applications/herald/controller/base',
'HeraldDAO' => 'applications/herald/storage/base',
'HeraldDeleteController' => 'applications/herald/controller/delete',
'HeraldDifferentialRevisionAdapter' => 'applications/herald/adapter/differential',
'HeraldDryRunAdapter' => 'applications/herald/adapter/dryrun',
'HeraldEffect' => 'applications/herald/engine/effect',
'HeraldEngine' => 'applications/herald/engine/engine',
'HeraldFieldConfig' => 'applications/herald/config/field',
'HeraldHomeController' => 'applications/herald/controller/home',
'HeraldInvalidConditionException' => 'applications/herald/engine/engine/exception',
'HeraldInvalidFieldException' => 'applications/herald/engine/engine/exception',
'HeraldNewController' => 'applications/herald/controller/new',
'HeraldObjectAdapter' => 'applications/herald/adapter/base',
'HeraldObjectTranscript' => 'applications/herald/storage/transcript/object',
'HeraldRecursiveConditionsException' => 'applications/herald/engine/engine/exception',
'HeraldRule' => 'applications/herald/storage/rule',
'HeraldRuleController' => 'applications/herald/controller/rule',
'HeraldRuleTranscript' => 'applications/herald/storage/transcript/rule',
'HeraldTestConsoleController' => 'applications/herald/controller/test',
'HeraldTranscript' => 'applications/herald/storage/transcript/base',
'HeraldTranscriptController' => 'applications/herald/controller/transcript',
'HeraldTranscriptListController' => 'applications/herald/controller/transcriptlist',
'HeraldValueTypeConfig' => 'applications/herald/config/valuetype',
'Javelin' => 'infrastructure/javelin/api',
'LiskDAO' => 'storage/lisk/dao',
'LiskIsolationTestCase' => 'storage/lisk/dao/__tests__',
'LiskIsolationTestDAO' => 'storage/lisk/dao/__tests__',
'LiskIsolationTestDAOException' => 'storage/lisk/dao/__tests__',
'ManiphestController' => 'applications/maniphest/controller/base',
'ManiphestDAO' => 'applications/maniphest/storage/base',
'ManiphestTask' => 'applications/maniphest/storage/task',
'ManiphestTaskDetailController' => 'applications/maniphest/controller/taskdetail',
'ManiphestTaskEditController' => 'applications/maniphest/controller/taskedit',
'ManiphestTaskListController' => 'applications/maniphest/controller/tasklist',
'ManiphestTaskListView' => 'applications/maniphest/view/tasklist',
'ManiphestTaskPriority' => 'applications/maniphest/constants/priority',
'ManiphestTaskSelectorSearchController' => 'applications/maniphest/controller/taskselectorsearch',
'ManiphestTaskStatus' => 'applications/maniphest/constants/status',
'ManiphestTaskSummaryView' => 'applications/maniphest/view/tasksummary',
'ManiphestTransaction' => 'applications/maniphest/storage/transaction',
'ManiphestTransactionDetailView' => 'applications/maniphest/view/transactiondetail',
'ManiphestTransactionEditor' => 'applications/maniphest/editor/transaction',
'ManiphestTransactionListView' => 'applications/maniphest/view/transactionlist',
'ManiphestTransactionSaveController' => 'applications/maniphest/controller/transactionsave',
'ManiphestTransactionType' => 'applications/maniphest/constants/transactiontype',
'Phabricator404Controller' => 'applications/base/controller/404',
'PhabricatorAuthController' => 'applications/auth/controller/base',
'PhabricatorConduitAPIController' => 'applications/conduit/controller/api',
'PhabricatorConduitConnectionLog' => 'applications/conduit/storage/connectionlog',
'PhabricatorConduitConsoleController' => 'applications/conduit/controller/console',
'PhabricatorConduitController' => 'applications/conduit/controller/base',
'PhabricatorConduitDAO' => 'applications/conduit/storage/base',
'PhabricatorConduitLogController' => 'applications/conduit/controller/log',
'PhabricatorConduitMethodCallLog' => 'applications/conduit/storage/methodcalllog',
'PhabricatorController' => 'applications/base/controller/base',
'PhabricatorDaemon' => 'infrastructure/daemon/base',
'PhabricatorDaemonCombinedLogController' => 'applications/daemon/controller/combined',
'PhabricatorDaemonConsoleController' => 'applications/daemon/controller/console',
'PhabricatorDaemonControl' => 'infrastructure/daemon/control',
'PhabricatorDaemonController' => 'applications/daemon/controller/base',
'PhabricatorDaemonDAO' => 'infrastructure/daemon/storage/base',
'PhabricatorDaemonLog' => 'infrastructure/daemon/storage/log',
'PhabricatorDaemonLogEvent' => 'infrastructure/daemon/storage/event',
'PhabricatorDaemonLogEventsView' => 'applications/daemon/view/daemonlogevents',
'PhabricatorDaemonLogListController' => 'applications/daemon/controller/loglist',
'PhabricatorDaemonLogListView' => 'applications/daemon/view/daemonloglist',
'PhabricatorDaemonLogViewController' => 'applications/daemon/controller/logview',
'PhabricatorDaemonReference' => 'infrastructure/daemon/control/reference',
'PhabricatorDaemonTimelineConsoleController' => 'applications/daemon/controller/timeline',
'PhabricatorDaemonTimelineEventController' => 'applications/daemon/controller/timelineevent',
'PhabricatorDirectoryCategory' => 'applications/directory/storage/category',
'PhabricatorDirectoryCategoryDeleteController' => 'applications/directory/controller/categorydelete',
'PhabricatorDirectoryCategoryEditController' => 'applications/directory/controller/categoryedit',
'PhabricatorDirectoryCategoryListController' => 'applications/directory/controller/categorylist',
'PhabricatorDirectoryController' => 'applications/directory/controller/base',
'PhabricatorDirectoryDAO' => 'applications/directory/storage/base',
'PhabricatorDirectoryItem' => 'applications/directory/storage/item',
'PhabricatorDirectoryItemDeleteController' => 'applications/directory/controller/itemdelete',
'PhabricatorDirectoryItemEditController' => 'applications/directory/controller/itemedit',
'PhabricatorDirectoryItemListController' => 'applications/directory/controller/itemlist',
'PhabricatorDirectoryMainController' => 'applications/directory/controller/main',
'PhabricatorDraft' => 'applications/draft/storage/draft',
'PhabricatorDraftDAO' => 'applications/draft/storage/base',
'PhabricatorEditPreferencesController' => 'applications/preferences/controller/edit',
'PhabricatorEmailLoginController' => 'applications/auth/controller/email',
'PhabricatorEmailTokenController' => 'applications/auth/controller/emailtoken',
'PhabricatorEnv' => 'infrastructure/env',
'PhabricatorFile' => 'applications/files/storage/file',
'PhabricatorFileController' => 'applications/files/controller/base',
'PhabricatorFileDAO' => 'applications/files/storage/base',
'PhabricatorFileImageMacro' => 'applications/files/storage/imagemacro',
'PhabricatorFileListController' => 'applications/files/controller/list',
+ 'PhabricatorFileMacroDeleteController' => 'applications/files/controller/macrodelete',
+ 'PhabricatorFileMacroEditController' => 'applications/files/controller/macroedit',
+ 'PhabricatorFileMacroListController' => 'applications/files/controller/macrolist',
'PhabricatorFileStorageBlob' => 'applications/files/storage/storageblob',
'PhabricatorFileURI' => 'applications/files/uri',
'PhabricatorFileUploadController' => 'applications/files/controller/upload',
'PhabricatorFileViewController' => 'applications/files/controller/view',
'PhabricatorGoodForNothingWorker' => 'infrastructure/daemon/workers/worker/goodfornothing',
'PhabricatorHandleObjectSelectorDataView' => 'applications/phid/handle/view/selector',
'PhabricatorLiskDAO' => 'applications/base/storage/lisk',
'PhabricatorLoginController' => 'applications/auth/controller/login',
'PhabricatorLogoutController' => 'applications/auth/controller/logout',
'PhabricatorMailImplementationAdapter' => 'applications/metamta/adapter/base',
'PhabricatorMailImplementationAmazonSESAdapter' => 'applications/metamta/adapter/amazonses',
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'applications/metamta/adapter/phpmailerlite',
'PhabricatorMailImplementationTestAdapter' => 'applications/metamta/adapter/test',
'PhabricatorMetaMTAController' => 'applications/metamta/controller/base',
'PhabricatorMetaMTADAO' => 'applications/metamta/storage/base',
'PhabricatorMetaMTADaemon' => 'applications/metamta/daemon/mta',
'PhabricatorMetaMTAListController' => 'applications/metamta/controller/list',
'PhabricatorMetaMTAMail' => 'applications/metamta/storage/mail',
'PhabricatorMetaMTAMailTestCase' => 'applications/metamta/storage/mail/__tests__',
'PhabricatorMetaMTAMailingList' => 'applications/metamta/storage/mailinglist',
'PhabricatorMetaMTAMailingListEditController' => 'applications/metamta/controller/mailinglistedit',
'PhabricatorMetaMTAMailingListsController' => 'applications/metamta/controller/mailinglists',
'PhabricatorMetaMTASendController' => 'applications/metamta/controller/send',
'PhabricatorMetaMTAViewController' => 'applications/metamta/controller/view',
'PhabricatorOAuthDefaultRegistrationController' => 'applications/auth/controller/oauthregistration/default',
'PhabricatorOAuthDiagnosticsController' => 'applications/auth/controller/oauthdiagnostics',
'PhabricatorOAuthFailureView' => 'applications/auth/view/oauthfailure',
'PhabricatorOAuthLoginController' => 'applications/auth/controller/oauth',
'PhabricatorOAuthProvider' => 'applications/auth/oauth/provider/base',
'PhabricatorOAuthProviderFacebook' => 'applications/auth/oauth/provider/facebook',
'PhabricatorOAuthProviderGithub' => 'applications/auth/oauth/provider/github',
'PhabricatorOAuthRegistrationController' => 'applications/auth/controller/oauthregistration/base',
'PhabricatorOAuthUnlinkController' => 'applications/auth/controller/unlink',
'PhabricatorObjectHandle' => 'applications/phid/handle',
'PhabricatorObjectHandleData' => 'applications/phid/handle/data',
'PhabricatorObjectSelectorDialog' => 'view/control/objectselector',
'PhabricatorOwnersController' => 'applications/owners/controller/base',
'PhabricatorOwnersDAO' => 'applications/owners/storage/base',
'PhabricatorOwnersDeleteController' => 'applications/owners/controller/delete',
'PhabricatorOwnersDetailController' => 'applications/owners/controller/detail',
'PhabricatorOwnersEditController' => 'applications/owners/controller/edit',
'PhabricatorOwnersListController' => 'applications/owners/controller/list',
'PhabricatorOwnersOwner' => 'applications/owners/storage/owner',
'PhabricatorOwnersPackage' => 'applications/owners/storage/package',
'PhabricatorOwnersPath' => 'applications/owners/storage/path',
'PhabricatorPHID' => 'applications/phid/storage/phid',
'PhabricatorPHIDAllocateController' => 'applications/phid/controller/allocate',
'PhabricatorPHIDConstants' => 'applications/phid/constants',
'PhabricatorPHIDController' => 'applications/phid/controller/base',
'PhabricatorPHIDDAO' => 'applications/phid/storage/base',
'PhabricatorPHIDListController' => 'applications/phid/controller/list',
'PhabricatorPHIDLookupController' => 'applications/phid/controller/lookup',
'PhabricatorPeopleController' => 'applications/people/controller/base',
'PhabricatorPeopleEditController' => 'applications/people/controller/edit',
'PhabricatorPeopleListController' => 'applications/people/controller/list',
'PhabricatorPeopleProfileController' => 'applications/people/controller/profile',
'PhabricatorPeopleProfileEditController' => 'applications/people/controller/profileedit',
'PhabricatorPreferencesController' => 'applications/preferences/controller/base',
'PhabricatorProject' => 'applications/project/storage/project',
'PhabricatorProjectAffiliation' => 'applications/project/storage/affiliation',
'PhabricatorProjectAffiliationEditController' => 'applications/project/controller/editaffiliation',
'PhabricatorProjectController' => 'applications/project/controller/base',
'PhabricatorProjectDAO' => 'applications/project/storage/base',
'PhabricatorProjectEditController' => 'applications/project/controller/edit',
'PhabricatorProjectListController' => 'applications/project/controller/list',
'PhabricatorProjectProfile' => 'applications/project/storage/profile',
'PhabricatorProjectProfileController' => 'applications/project/controller/profile',
'PhabricatorRedirectController' => 'applications/base/controller/redirect',
'PhabricatorRemarkupRuleDifferential' => 'infrastructure/markup/remarkup/markuprule/differential',
'PhabricatorRemarkupRuleDiffusion' => 'infrastructure/markup/remarkup/markuprule/diffusion',
'PhabricatorRemarkupRuleImageMacro' => 'infrastructure/markup/remarkup/markuprule/imagemacro',
'PhabricatorRemarkupRuleManiphest' => 'infrastructure/markup/remarkup/markuprule/maniphest',
'PhabricatorRepository' => 'applications/repository/storage/repository',
'PhabricatorRepositoryArcanistProject' => 'applications/repository/storage/arcanistproject',
'PhabricatorRepositoryArcanistProjectEditController' => 'applications/repository/controller/arcansistprojectedit',
'PhabricatorRepositoryCommit' => 'applications/repository/storage/commit',
'PhabricatorRepositoryCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/base',
'PhabricatorRepositoryCommitData' => 'applications/repository/storage/commitdata',
'PhabricatorRepositoryCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/base',
'PhabricatorRepositoryCommitHeraldWorker' => 'applications/repository/worker/herald',
'PhabricatorRepositoryCommitMessageDetailParser' => 'applications/repository/parser/base',
'PhabricatorRepositoryCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/base',
'PhabricatorRepositoryCommitParserWorker' => 'applications/repository/worker/base',
'PhabricatorRepositoryCommitTaskDaemon' => 'applications/repository/daemon/committask',
'PhabricatorRepositoryController' => 'applications/repository/controller/base',
'PhabricatorRepositoryCreateController' => 'applications/repository/controller/create',
'PhabricatorRepositoryDAO' => 'applications/repository/storage/base',
'PhabricatorRepositoryDaemon' => 'applications/repository/daemon/base',
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'applications/repository/parser/default',
'PhabricatorRepositoryEditController' => 'applications/repository/controller/edit',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/git',
'PhabricatorRepositoryGitCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/git',
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/git',
'PhabricatorRepositoryGitFetchDaemon' => 'applications/repository/daemon/gitfetch',
'PhabricatorRepositoryGitHubNotification' => 'applications/repository/storage/githubnotification',
'PhabricatorRepositoryGitHubPostReceiveController' => 'applications/repository/controller/github-post-receive',
'PhabricatorRepositoryListController' => 'applications/repository/controller/list',
'PhabricatorRepositoryShortcut' => 'applications/repository/storage/shortcut',
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'applications/repository/worker/commitchangeparser/svn',
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'applications/repository/daemon/commitdiscovery/svn',
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'applications/repository/worker/commitmessageparser/svn',
'PhabricatorRepositoryType' => 'applications/repository/constants/repositorytype',
'PhabricatorSearchAbstractDocument' => 'applications/search/index/abstractdocument',
'PhabricatorSearchBaseController' => 'applications/search/controller/base',
'PhabricatorSearchController' => 'applications/search/controller/search',
'PhabricatorSearchDAO' => 'applications/search/storage/base',
'PhabricatorSearchDifferentialIndexer' => 'applications/search/index/indexer/differential',
'PhabricatorSearchDocument' => 'applications/search/storage/document/document',
'PhabricatorSearchDocumentField' => 'applications/search/storage/document/field',
'PhabricatorSearchDocumentIndexer' => 'applications/search/index/indexer/base',
'PhabricatorSearchDocumentRelationship' => 'applications/search/storage/document/relationship',
'PhabricatorSearchExecutor' => 'applications/search/execute/base',
'PhabricatorSearchField' => 'applications/search/constants/field',
'PhabricatorSearchManiphestIndexer' => 'applications/search/index/indexer/maniphest',
'PhabricatorSearchMySQLExecutor' => 'applications/search/execute/mysql',
'PhabricatorSearchQuery' => 'applications/search/storage/query',
'PhabricatorSearchRelationship' => 'applications/search/constants/relationship',
'PhabricatorStandardPageView' => 'view/page/standard',
'PhabricatorStatusController' => 'applications/status/base',
'PhabricatorTaskmasterDaemon' => 'infrastructure/daemon/workers/taskmaster',
'PhabricatorTestCase' => 'infrastructure/testing/testcase',
'PhabricatorTimelineCursor' => 'infrastructure/daemon/timeline/storage/cursor',
'PhabricatorTimelineDAO' => 'infrastructure/daemon/timeline/storage/base',
'PhabricatorTimelineEvent' => 'infrastructure/daemon/timeline/storage/event',
'PhabricatorTimelineEventData' => 'infrastructure/daemon/timeline/storage/eventdata',
'PhabricatorTimelineIterator' => 'infrastructure/daemon/timeline/cursor/iterator',
'PhabricatorTypeaheadCommonDatasourceController' => 'applications/typeahead/controller/common',
'PhabricatorTypeaheadDatasourceController' => 'applications/typeahead/controller/base',
'PhabricatorUIExample' => 'applications/uiexample/examples/base',
'PhabricatorUIExampleController' => 'applications/uiexample/controller/base',
'PhabricatorUIExampleRenderController' => 'applications/uiexample/controller/render',
'PhabricatorUIListFilterExample' => 'applications/uiexample/examples/listfilter',
'PhabricatorUIPagerExample' => 'applications/uiexample/examples/pager',
'PhabricatorUser' => 'applications/people/storage/user',
'PhabricatorUserDAO' => 'applications/people/storage/base',
'PhabricatorUserOAuthInfo' => 'applications/people/storage/useroauthinfo',
'PhabricatorUserPreferences' => 'applications/people/storage/preferences',
'PhabricatorUserProfile' => 'applications/people/storage/profile',
'PhabricatorUserSettingsController' => 'applications/people/controller/settings',
'PhabricatorWorker' => 'infrastructure/daemon/workers/worker',
'PhabricatorWorkerDAO' => 'infrastructure/daemon/workers/storage/base',
'PhabricatorWorkerTask' => 'infrastructure/daemon/workers/storage/task',
'PhabricatorWorkerTaskData' => 'infrastructure/daemon/workers/storage/taskdata',
'PhabricatorWorkerTaskDetailController' => 'applications/daemon/controller/workertaskdetail',
'PhabricatorXHPASTViewController' => 'applications/xhpastview/controller/base',
'PhabricatorXHPASTViewDAO' => 'applications/xhpastview/storage/base',
'PhabricatorXHPASTViewFrameController' => 'applications/xhpastview/controller/viewframe',
'PhabricatorXHPASTViewFramesetController' => 'applications/xhpastview/controller/viewframeset',
'PhabricatorXHPASTViewInputController' => 'applications/xhpastview/controller/viewinput',
'PhabricatorXHPASTViewPanelController' => 'applications/xhpastview/controller/viewpanel',
'PhabricatorXHPASTViewParseTree' => 'applications/xhpastview/storage/parsetree',
'PhabricatorXHPASTViewRunController' => 'applications/xhpastview/controller/run',
'PhabricatorXHPASTViewStreamController' => 'applications/xhpastview/controller/viewstream',
'PhabricatorXHPASTViewTreeController' => 'applications/xhpastview/controller/viewtree',
'PhabricatorXHProfController' => 'applications/xhprof/controller/base',
'PhabricatorXHProfProfileController' => 'applications/xhprof/controller/profile',
'PhabricatorXHProfProfileSymbolView' => 'applications/xhprof/view/symbol',
'PhabricatorXHProfProfileTopLevelView' => 'applications/xhprof/view/toplevel',
),
'function' =>
array(
'_qsprintf_check_scalar_type' => 'storage/qsprintf',
'_qsprintf_check_type' => 'storage/qsprintf',
'celerity_generate_unique_node_id' => 'infrastructure/celerity/api',
'celerity_register_resource_map' => 'infrastructure/celerity/map',
'javelin_render_tag' => 'infrastructure/javelin/markup',
'phabricator_format_relative_time' => 'view/utils',
'phabricator_format_timestamp' => 'view/utils',
'phabricator_format_units_generic' => 'view/utils',
'phabricator_render_form' => 'infrastructure/javelin/markup',
'qsprintf' => 'storage/qsprintf',
'queryfx' => 'storage/queryfx',
'queryfx_all' => 'storage/queryfx',
'queryfx_one' => 'storage/queryfx',
'require_celerity_resource' => 'infrastructure/celerity/api',
'vqsprintf' => 'storage/qsprintf',
'vqueryfx' => 'storage/queryfx',
'vqueryfx_all' => 'storage/queryfx',
'xsprintf_query' => 'storage/qsprintf',
),
'requires_class' =>
array(
'Aphront400Response' => 'AphrontResponse',
'Aphront404Response' => 'AphrontResponse',
'AphrontAjaxResponse' => 'AphrontResponse',
'AphrontCrumbsView' => 'AphrontView',
'AphrontDefaultApplicationConfiguration' => 'AphrontApplicationConfiguration',
'AphrontDefaultApplicationController' => 'AphrontController',
'AphrontDialogResponse' => 'AphrontResponse',
'AphrontDialogView' => 'AphrontView',
'AphrontErrorView' => 'AphrontView',
'AphrontFileResponse' => 'AphrontResponse',
'AphrontFormCheckboxControl' => 'AphrontFormControl',
'AphrontFormControl' => 'AphrontView',
'AphrontFormDividerControl' => 'AphrontFormControl',
'AphrontFormFileControl' => 'AphrontFormControl',
'AphrontFormMarkupControl' => 'AphrontFormControl',
'AphrontFormPasswordControl' => 'AphrontFormControl',
'AphrontFormRecaptchaControl' => 'AphrontFormControl',
'AphrontFormSelectControl' => 'AphrontFormControl',
'AphrontFormStaticControl' => 'AphrontFormControl',
'AphrontFormSubmitControl' => 'AphrontFormControl',
'AphrontFormTextAreaControl' => 'AphrontFormControl',
'AphrontFormTextControl' => 'AphrontFormControl',
'AphrontFormToggleButtonsControl' => 'AphrontFormControl',
'AphrontFormTokenizerControl' => 'AphrontFormControl',
'AphrontFormView' => 'AphrontView',
'AphrontHeadsupActionListView' => 'AphrontView',
'AphrontHeadsupActionView' => 'AphrontView',
'AphrontIsolatedDatabaseConnection' => 'AphrontDatabaseConnection',
'AphrontIsolatedDatabaseConnectionTestCase' => 'PhabricatorTestCase',
'AphrontListFilterView' => 'AphrontView',
'AphrontMySQLDatabaseConnection' => 'AphrontDatabaseConnection',
'AphrontNullView' => 'AphrontView',
'AphrontPageView' => 'AphrontView',
'AphrontPagerView' => 'AphrontView',
'AphrontPanelView' => 'AphrontView',
'AphrontQueryAccessDeniedException' => 'AphrontQueryRecoverableException',
'AphrontQueryConnectionException' => 'AphrontQueryException',
'AphrontQueryConnectionLostException' => 'AphrontQueryRecoverableException',
'AphrontQueryCountException' => 'AphrontQueryException',
'AphrontQueryDuplicateKeyException' => 'AphrontQueryException',
'AphrontQueryObjectMissingException' => 'AphrontQueryException',
'AphrontQueryParameterException' => 'AphrontQueryException',
'AphrontQueryRecoverableException' => 'AphrontQueryException',
'AphrontRedirectException' => 'AphrontException',
'AphrontRedirectResponse' => 'AphrontResponse',
'AphrontRequestFailureView' => 'AphrontView',
'AphrontSideNavView' => 'AphrontView',
'AphrontTableView' => 'AphrontView',
'AphrontTokenizerTemplateView' => 'AphrontView',
'AphrontTypeaheadTemplateView' => 'AphrontView',
'AphrontWebpageResponse' => 'AphrontResponse',
'CelerityResourceController' => 'AphrontController',
'ConduitAPI_conduit_connect_Method' => 'ConduitAPIMethod',
'ConduitAPI_conduit_ping_Method' => 'ConduitAPIMethod',
'ConduitAPI_daemon_launched_Method' => 'ConduitAPIMethod',
'ConduitAPI_daemon_log_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_creatediff_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_createrevision_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_find_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getalldiffs_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getcommitmessage_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getcommitpaths_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getdiff_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getrevision_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_getrevisionfeedback_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_markcommitted_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_parsecommitmessage_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_setdiffproperty_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_updaterevision_Method' => 'ConduitAPIMethod',
'ConduitAPI_differential_updatetaskrevisionassoc_Method' => 'ConduitAPIMethod',
'ConduitAPI_diffusion_getcommits_Method' => 'ConduitAPIMethod',
'ConduitAPI_file_upload_Method' => 'ConduitAPIMethod',
'ConduitAPI_path_getowners_Method' => 'ConduitAPIMethod',
'ConduitAPI_user_find_Method' => 'ConduitAPIMethod',
'ConduitAPI_user_whoami_Method' => 'ConduitAPIMethod',
'DarkConsoleConfigPlugin' => 'DarkConsolePlugin',
'DarkConsoleController' => 'PhabricatorController',
'DarkConsoleErrorLogPlugin' => 'DarkConsolePlugin',
'DarkConsoleRequestPlugin' => 'DarkConsolePlugin',
'DarkConsoleServicesPlugin' => 'DarkConsolePlugin',
'DarkConsoleXHProfPlugin' => 'DarkConsolePlugin',
'DifferentialAddCommentView' => 'AphrontView',
'DifferentialAttachController' => 'DifferentialController',
'DifferentialCCWelcomeMail' => 'DifferentialReviewRequestMail',
'DifferentialChangeset' => 'DifferentialDAO',
'DifferentialChangesetDetailView' => 'AphrontView',
'DifferentialChangesetListView' => 'AphrontView',
'DifferentialChangesetViewController' => 'DifferentialController',
'DifferentialComment' => 'DifferentialDAO',
'DifferentialCommentMail' => 'DifferentialMail',
'DifferentialCommentPreviewController' => 'DifferentialController',
'DifferentialCommentSaveController' => 'DifferentialController',
'DifferentialController' => 'PhabricatorController',
'DifferentialDAO' => 'PhabricatorLiskDAO',
'DifferentialDiff' => 'DifferentialDAO',
'DifferentialDiffContentMail' => 'DifferentialMail',
'DifferentialDiffCreateController' => 'DifferentialController',
'DifferentialDiffProperty' => 'DifferentialDAO',
'DifferentialDiffTableOfContentsView' => 'AphrontView',
'DifferentialDiffViewController' => 'DifferentialController',
'DifferentialHunk' => 'DifferentialDAO',
'DifferentialInlineComment' => 'DifferentialDAO',
'DifferentialInlineCommentEditController' => 'DifferentialController',
'DifferentialInlineCommentPreviewController' => 'DifferentialController',
'DifferentialInlineCommentView' => 'AphrontView',
'DifferentialNewDiffMail' => 'DifferentialReviewRequestMail',
'DifferentialReviewRequestMail' => 'DifferentialMail',
'DifferentialRevision' => 'DifferentialDAO',
'DifferentialRevisionCommentListView' => 'AphrontView',
'DifferentialRevisionCommentView' => 'AphrontView',
'DifferentialRevisionDetailView' => 'AphrontView',
'DifferentialRevisionEditController' => 'DifferentialController',
'DifferentialRevisionListController' => 'DifferentialController',
'DifferentialRevisionUpdateHistoryView' => 'AphrontView',
'DifferentialRevisionViewController' => 'DifferentialController',
'DifferentialSubscribeController' => 'DifferentialController',
'DifferentialViewTime' => 'DifferentialDAO',
'DiffusionBranchTableView' => 'DiffusionView',
'DiffusionBrowseController' => 'DiffusionController',
'DiffusionBrowseFileController' => 'DiffusionController',
'DiffusionBrowseTableView' => 'DiffusionView',
'DiffusionChangeController' => 'DiffusionController',
'DiffusionCommitChangeTableView' => 'DiffusionView',
'DiffusionCommitController' => 'DiffusionController',
'DiffusionController' => 'PhabricatorController',
'DiffusionDiffController' => 'DiffusionController',
'DiffusionGitBranchQuery' => 'DiffusionBranchQuery',
'DiffusionGitBrowseQuery' => 'DiffusionBrowseQuery',
'DiffusionGitDiffQuery' => 'DiffusionDiffQuery',
'DiffusionGitFileContentQuery' => 'DiffusionFileContentQuery',
'DiffusionGitHistoryQuery' => 'DiffusionHistoryQuery',
'DiffusionGitLastModifiedQuery' => 'DiffusionLastModifiedQuery',
'DiffusionGitRequest' => 'DiffusionRequest',
'DiffusionHistoryController' => 'DiffusionController',
'DiffusionHistoryTableView' => 'DiffusionView',
'DiffusionHomeController' => 'DiffusionController',
'DiffusionLastModifiedController' => 'DiffusionController',
'DiffusionPathCompleteController' => 'DiffusionController',
'DiffusionPathValidateController' => 'DiffusionController',
'DiffusionRepositoryController' => 'DiffusionController',
'DiffusionSvnBrowseQuery' => 'DiffusionBrowseQuery',
'DiffusionSvnDiffQuery' => 'DiffusionDiffQuery',
'DiffusionSvnFileContentQuery' => 'DiffusionFileContentQuery',
'DiffusionSvnHistoryQuery' => 'DiffusionHistoryQuery',
'DiffusionSvnLastModifiedQuery' => 'DiffusionLastModifiedQuery',
'DiffusionSvnRequest' => 'DiffusionRequest',
'DiffusionView' => 'AphrontView',
'HeraldAction' => 'HeraldDAO',
'HeraldApplyTranscript' => 'HeraldDAO',
'HeraldCommitAdapter' => 'HeraldObjectAdapter',
'HeraldCondition' => 'HeraldDAO',
'HeraldController' => 'PhabricatorController',
'HeraldDAO' => 'PhabricatorLiskDAO',
'HeraldDeleteController' => 'HeraldController',
'HeraldDifferentialRevisionAdapter' => 'HeraldObjectAdapter',
'HeraldDryRunAdapter' => 'HeraldObjectAdapter',
'HeraldHomeController' => 'HeraldController',
'HeraldNewController' => 'HeraldController',
'HeraldRule' => 'HeraldDAO',
'HeraldRuleController' => 'HeraldController',
'HeraldTestConsoleController' => 'HeraldController',
'HeraldTranscript' => 'HeraldDAO',
'HeraldTranscriptController' => 'HeraldController',
'HeraldTranscriptListController' => 'HeraldController',
'LiskIsolationTestCase' => 'PhabricatorTestCase',
'LiskIsolationTestDAO' => 'LiskDAO',
'ManiphestController' => 'PhabricatorController',
'ManiphestDAO' => 'PhabricatorLiskDAO',
'ManiphestTask' => 'ManiphestDAO',
'ManiphestTaskDetailController' => 'ManiphestController',
'ManiphestTaskEditController' => 'ManiphestController',
'ManiphestTaskListController' => 'ManiphestController',
'ManiphestTaskListView' => 'AphrontView',
'ManiphestTaskSelectorSearchController' => 'ManiphestController',
'ManiphestTaskSummaryView' => 'AphrontView',
'ManiphestTransaction' => 'ManiphestDAO',
'ManiphestTransactionDetailView' => 'AphrontView',
'ManiphestTransactionListView' => 'AphrontView',
'ManiphestTransactionSaveController' => 'ManiphestController',
'Phabricator404Controller' => 'PhabricatorController',
'PhabricatorAuthController' => 'PhabricatorController',
'PhabricatorConduitAPIController' => 'PhabricatorConduitController',
'PhabricatorConduitConnectionLog' => 'PhabricatorConduitDAO',
'PhabricatorConduitConsoleController' => 'PhabricatorConduitController',
'PhabricatorConduitController' => 'PhabricatorController',
'PhabricatorConduitDAO' => 'PhabricatorLiskDAO',
'PhabricatorConduitLogController' => 'PhabricatorConduitController',
'PhabricatorConduitMethodCallLog' => 'PhabricatorConduitDAO',
'PhabricatorController' => 'AphrontController',
'PhabricatorDaemon' => 'PhutilDaemon',
'PhabricatorDaemonCombinedLogController' => 'PhabricatorDaemonController',
'PhabricatorDaemonConsoleController' => 'PhabricatorDaemonController',
'PhabricatorDaemonController' => 'PhabricatorController',
'PhabricatorDaemonDAO' => 'PhabricatorLiskDAO',
'PhabricatorDaemonLog' => 'PhabricatorDaemonDAO',
'PhabricatorDaemonLogEvent' => 'PhabricatorDaemonDAO',
'PhabricatorDaemonLogEventsView' => 'AphrontView',
'PhabricatorDaemonLogListController' => 'PhabricatorDaemonController',
'PhabricatorDaemonLogListView' => 'AphrontView',
'PhabricatorDaemonLogViewController' => 'PhabricatorDaemonController',
'PhabricatorDaemonTimelineConsoleController' => 'PhabricatorDaemonController',
'PhabricatorDaemonTimelineEventController' => 'PhabricatorDaemonController',
'PhabricatorDirectoryCategory' => 'PhabricatorDirectoryDAO',
'PhabricatorDirectoryCategoryDeleteController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryCategoryEditController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryCategoryListController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryController' => 'PhabricatorController',
'PhabricatorDirectoryDAO' => 'PhabricatorLiskDAO',
'PhabricatorDirectoryItem' => 'PhabricatorDirectoryDAO',
'PhabricatorDirectoryItemDeleteController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryItemEditController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryItemListController' => 'PhabricatorDirectoryController',
'PhabricatorDirectoryMainController' => 'PhabricatorDirectoryController',
'PhabricatorDraft' => 'PhabricatorDraftDAO',
'PhabricatorDraftDAO' => 'PhabricatorLiskDAO',
'PhabricatorEditPreferencesController' => 'PhabricatorPreferencesController',
'PhabricatorEmailLoginController' => 'PhabricatorAuthController',
'PhabricatorEmailTokenController' => 'PhabricatorAuthController',
'PhabricatorFile' => 'PhabricatorFileDAO',
'PhabricatorFileController' => 'PhabricatorController',
'PhabricatorFileDAO' => 'PhabricatorLiskDAO',
'PhabricatorFileImageMacro' => 'PhabricatorFileDAO',
'PhabricatorFileListController' => 'PhabricatorFileController',
+ 'PhabricatorFileMacroDeleteController' => 'PhabricatorFileController',
+ 'PhabricatorFileMacroEditController' => 'PhabricatorFileController',
+ 'PhabricatorFileMacroListController' => 'PhabricatorFileController',
'PhabricatorFileStorageBlob' => 'PhabricatorFileDAO',
'PhabricatorFileUploadController' => 'PhabricatorFileController',
'PhabricatorFileViewController' => 'PhabricatorFileController',
'PhabricatorGoodForNothingWorker' => 'PhabricatorWorker',
'PhabricatorLiskDAO' => 'LiskDAO',
'PhabricatorLoginController' => 'PhabricatorAuthController',
'PhabricatorLogoutController' => 'PhabricatorAuthController',
'PhabricatorMailImplementationAmazonSESAdapter' => 'PhabricatorMailImplementationPHPMailerLiteAdapter',
'PhabricatorMailImplementationPHPMailerLiteAdapter' => 'PhabricatorMailImplementationAdapter',
'PhabricatorMailImplementationTestAdapter' => 'PhabricatorMailImplementationAdapter',
'PhabricatorMetaMTAController' => 'PhabricatorController',
'PhabricatorMetaMTADAO' => 'PhabricatorLiskDAO',
'PhabricatorMetaMTADaemon' => 'PhabricatorDaemon',
'PhabricatorMetaMTAListController' => 'PhabricatorMetaMTAController',
'PhabricatorMetaMTAMail' => 'PhabricatorMetaMTADAO',
'PhabricatorMetaMTAMailTestCase' => 'PhabricatorTestCase',
'PhabricatorMetaMTAMailingList' => 'PhabricatorMetaMTADAO',
'PhabricatorMetaMTAMailingListEditController' => 'PhabricatorMetaMTAController',
'PhabricatorMetaMTAMailingListsController' => 'PhabricatorMetaMTAController',
'PhabricatorMetaMTASendController' => 'PhabricatorMetaMTAController',
'PhabricatorMetaMTAViewController' => 'PhabricatorMetaMTAController',
'PhabricatorOAuthDefaultRegistrationController' => 'PhabricatorOAuthRegistrationController',
'PhabricatorOAuthDiagnosticsController' => 'PhabricatorAuthController',
'PhabricatorOAuthFailureView' => 'AphrontView',
'PhabricatorOAuthLoginController' => 'PhabricatorAuthController',
'PhabricatorOAuthProviderFacebook' => 'PhabricatorOAuthProvider',
'PhabricatorOAuthProviderGithub' => 'PhabricatorOAuthProvider',
'PhabricatorOAuthRegistrationController' => 'PhabricatorAuthController',
'PhabricatorOAuthUnlinkController' => 'PhabricatorAuthController',
'PhabricatorOwnersController' => 'PhabricatorController',
'PhabricatorOwnersDAO' => 'PhabricatorLiskDAO',
'PhabricatorOwnersDeleteController' => 'PhabricatorOwnersController',
'PhabricatorOwnersDetailController' => 'PhabricatorOwnersController',
'PhabricatorOwnersEditController' => 'PhabricatorOwnersController',
'PhabricatorOwnersListController' => 'PhabricatorOwnersController',
'PhabricatorOwnersOwner' => 'PhabricatorOwnersDAO',
'PhabricatorOwnersPackage' => 'PhabricatorOwnersDAO',
'PhabricatorOwnersPath' => 'PhabricatorOwnersDAO',
'PhabricatorPHID' => 'PhabricatorPHIDDAO',
'PhabricatorPHIDAllocateController' => 'PhabricatorPHIDController',
'PhabricatorPHIDController' => 'PhabricatorController',
'PhabricatorPHIDDAO' => 'PhabricatorLiskDAO',
'PhabricatorPHIDListController' => 'PhabricatorPHIDController',
'PhabricatorPHIDLookupController' => 'PhabricatorPHIDController',
'PhabricatorPeopleController' => 'PhabricatorController',
'PhabricatorPeopleEditController' => 'PhabricatorPeopleController',
'PhabricatorPeopleListController' => 'PhabricatorPeopleController',
'PhabricatorPeopleProfileController' => 'PhabricatorPeopleController',
'PhabricatorPeopleProfileEditController' => 'PhabricatorPeopleController',
'PhabricatorPreferencesController' => 'PhabricatorController',
'PhabricatorProject' => 'PhabricatorProjectDAO',
'PhabricatorProjectAffiliation' => 'PhabricatorProjectDAO',
'PhabricatorProjectAffiliationEditController' => 'PhabricatorProjectController',
'PhabricatorProjectController' => 'PhabricatorController',
'PhabricatorProjectDAO' => 'PhabricatorLiskDAO',
'PhabricatorProjectEditController' => 'PhabricatorProjectController',
'PhabricatorProjectListController' => 'PhabricatorProjectController',
'PhabricatorProjectProfile' => 'PhabricatorProjectDAO',
'PhabricatorProjectProfileController' => 'PhabricatorProjectController',
'PhabricatorRedirectController' => 'PhabricatorController',
'PhabricatorRemarkupRuleDifferential' => 'PhutilRemarkupRule',
'PhabricatorRemarkupRuleDiffusion' => 'PhutilRemarkupRule',
'PhabricatorRemarkupRuleImageMacro' => 'PhutilRemarkupRule',
'PhabricatorRemarkupRuleManiphest' => 'PhutilRemarkupRule',
'PhabricatorRepository' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryArcanistProject' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryArcanistProjectEditController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryCommit' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryCommitChangeParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
'PhabricatorRepositoryCommitData' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryCommitDiscoveryDaemon' => 'PhabricatorRepositoryDaemon',
'PhabricatorRepositoryCommitHeraldWorker' => 'PhabricatorRepositoryCommitParserWorker',
'PhabricatorRepositoryCommitMessageParserWorker' => 'PhabricatorRepositoryCommitParserWorker',
'PhabricatorRepositoryCommitParserWorker' => 'PhabricatorWorker',
'PhabricatorRepositoryCommitTaskDaemon' => 'PhabricatorRepositoryDaemon',
'PhabricatorRepositoryController' => 'PhabricatorController',
'PhabricatorRepositoryCreateController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryDAO' => 'PhabricatorLiskDAO',
'PhabricatorRepositoryDaemon' => 'PhabricatorDaemon',
'PhabricatorRepositoryDefaultCommitMessageDetailParser' => 'PhabricatorRepositoryCommitMessageDetailParser',
'PhabricatorRepositoryEditController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryGitCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
'PhabricatorRepositoryGitCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
'PhabricatorRepositoryGitCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
'PhabricatorRepositoryGitFetchDaemon' => 'PhabricatorRepositoryDaemon',
'PhabricatorRepositoryGitHubNotification' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositoryGitHubPostReceiveController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryListController' => 'PhabricatorRepositoryController',
'PhabricatorRepositoryShortcut' => 'PhabricatorRepositoryDAO',
'PhabricatorRepositorySvnCommitChangeParserWorker' => 'PhabricatorRepositoryCommitChangeParserWorker',
'PhabricatorRepositorySvnCommitDiscoveryDaemon' => 'PhabricatorRepositoryCommitDiscoveryDaemon',
'PhabricatorRepositorySvnCommitMessageParserWorker' => 'PhabricatorRepositoryCommitMessageParserWorker',
'PhabricatorSearchBaseController' => 'PhabricatorController',
'PhabricatorSearchController' => 'PhabricatorSearchBaseController',
'PhabricatorSearchDAO' => 'PhabricatorLiskDAO',
'PhabricatorSearchDifferentialIndexer' => 'PhabricatorSearchDocumentIndexer',
'PhabricatorSearchDocument' => 'PhabricatorSearchDAO',
'PhabricatorSearchDocumentField' => 'PhabricatorSearchDAO',
'PhabricatorSearchDocumentRelationship' => 'PhabricatorSearchDAO',
'PhabricatorSearchManiphestIndexer' => 'PhabricatorSearchDocumentIndexer',
'PhabricatorSearchMySQLExecutor' => 'PhabricatorSearchExecutor',
'PhabricatorSearchQuery' => 'PhabricatorSearchDAO',
'PhabricatorStandardPageView' => 'AphrontPageView',
'PhabricatorStatusController' => 'PhabricatorController',
'PhabricatorTaskmasterDaemon' => 'PhabricatorDaemon',
'PhabricatorTestCase' => 'ArcanistPhutilTestCase',
'PhabricatorTimelineCursor' => 'PhabricatorTimelineDAO',
'PhabricatorTimelineDAO' => 'PhabricatorLiskDAO',
'PhabricatorTimelineEvent' => 'PhabricatorTimelineDAO',
'PhabricatorTimelineEventData' => 'PhabricatorTimelineDAO',
'PhabricatorTypeaheadCommonDatasourceController' => 'PhabricatorTypeaheadDatasourceController',
'PhabricatorTypeaheadDatasourceController' => 'PhabricatorController',
'PhabricatorUIExampleController' => 'PhabricatorController',
'PhabricatorUIExampleRenderController' => 'PhabricatorUIExampleController',
'PhabricatorUIListFilterExample' => 'PhabricatorUIExample',
'PhabricatorUIPagerExample' => 'PhabricatorUIExample',
'PhabricatorUser' => 'PhabricatorUserDAO',
'PhabricatorUserDAO' => 'PhabricatorLiskDAO',
'PhabricatorUserOAuthInfo' => 'PhabricatorUserDAO',
'PhabricatorUserPreferences' => 'PhabricatorUserDAO',
'PhabricatorUserProfile' => 'PhabricatorUserDAO',
'PhabricatorUserSettingsController' => 'PhabricatorPeopleController',
'PhabricatorWorkerDAO' => 'PhabricatorLiskDAO',
'PhabricatorWorkerTask' => 'PhabricatorWorkerDAO',
'PhabricatorWorkerTaskData' => 'PhabricatorWorkerDAO',
'PhabricatorWorkerTaskDetailController' => 'PhabricatorDaemonController',
'PhabricatorXHPASTViewController' => 'PhabricatorController',
'PhabricatorXHPASTViewDAO' => 'PhabricatorLiskDAO',
'PhabricatorXHPASTViewFrameController' => 'PhabricatorXHPASTViewController',
'PhabricatorXHPASTViewFramesetController' => 'PhabricatorXHPASTViewController',
'PhabricatorXHPASTViewInputController' => 'PhabricatorXHPASTViewPanelController',
'PhabricatorXHPASTViewPanelController' => 'PhabricatorXHPASTViewController',
'PhabricatorXHPASTViewParseTree' => 'PhabricatorXHPASTViewDAO',
'PhabricatorXHPASTViewRunController' => 'PhabricatorXHPASTViewController',
'PhabricatorXHPASTViewStreamController' => 'PhabricatorXHPASTViewPanelController',
'PhabricatorXHPASTViewTreeController' => 'PhabricatorXHPASTViewPanelController',
'PhabricatorXHProfController' => 'PhabricatorController',
'PhabricatorXHProfProfileController' => 'PhabricatorXHProfController',
'PhabricatorXHProfProfileSymbolView' => 'AphrontView',
'PhabricatorXHProfProfileTopLevelView' => 'AphrontView',
),
'requires_interface' =>
array(
),
));
diff --git a/src/aphront/default/configuration/AphrontDefaultApplicationConfiguration.php b/src/aphront/default/configuration/AphrontDefaultApplicationConfiguration.php
index 873927f4bf..bbca0aaa09 100644
--- a/src/aphront/default/configuration/AphrontDefaultApplicationConfiguration.php
+++ b/src/aphront/default/configuration/AphrontDefaultApplicationConfiguration.php
@@ -1,399 +1,404 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @group aphront
*/
class AphrontDefaultApplicationConfiguration
extends AphrontApplicationConfiguration {
public function __construct() {
}
public function getApplicationName() {
return 'aphront-default';
}
public function getURIMap() {
return $this->getResourceURIMapRules() + array(
'/' => array(
'$' => 'PhabricatorDirectoryMainController',
),
'/directory/' => array(
'item/$'
=> 'PhabricatorDirectoryItemListController',
'item/edit/(?:(?P<id>\d+)/)?$'
=> 'PhabricatorDirectoryItemEditController',
'item/delete/(?P<id>\d+)/'
=> 'PhabricatorDirectoryItemDeleteController',
'category/$'
=> 'PhabricatorDirectoryCategoryListController',
'category/edit/(?:(?P<id>\d+)/)?$'
=> 'PhabricatorDirectoryCategoryEditController',
'category/delete/(?P<id>\d+)/'
=> 'PhabricatorDirectoryCategoryDeleteController',
),
'/file/' => array(
'$' => 'PhabricatorFileListController',
'upload/$' => 'PhabricatorFileUploadController',
'(?P<view>info)/(?P<phid>[^/]+)/' => 'PhabricatorFileViewController',
'(?P<view>view)/(?P<phid>[^/]+)/' => 'PhabricatorFileViewController',
'(?P<view>download)/(?P<phid>[^/]+)/' => 'PhabricatorFileViewController',
+ 'macro/' => array(
+ '$' => 'PhabricatorFileMacroListController',
+ 'edit/(?:(?P<id>\d+)/)?$' => 'PhabricatorFileMacroEditController',
+ 'delete/(?P<id>\d+)/$' => 'PhabricatorFileMacroDeleteController',
+ ),
),
'/phid/' => array(
'$' => 'PhabricatorPHIDLookupController',
'list/$' => 'PhabricatorPHIDListController',
'new/$' => 'PhabricatorPHIDAllocateController',
),
'/people/' => array(
'$' => 'PhabricatorPeopleListController',
'edit/(?:(?P<username>\w+)/)?$' => 'PhabricatorPeopleEditController',
),
'/p/(?P<username>\w+)/$' => 'PhabricatorPeopleProfileController',
'/profile/' => array(
'edit/$' => 'PhabricatorPeopleProfileEditController',
),
'/conduit/' => array(
'$' => 'PhabricatorConduitConsoleController',
'method/(?P<method>[^/]+)$' => 'PhabricatorConduitConsoleController',
'log/$' => 'PhabricatorConduitLogController',
),
'/api/(?P<method>[^/]+)$' => 'PhabricatorConduitAPIController',
'/D(?P<id>\d+)' => 'DifferentialRevisionViewController',
'/differential/' => array(
'$' => 'DifferentialRevisionListController',
'filter/(?P<filter>\w+)/$' => 'DifferentialRevisionListController',
'diff/' => array(
'(?P<id>\d+)/$' => 'DifferentialDiffViewController',
'create/$' => 'DifferentialDiffCreateController',
),
'changeset/$' => 'DifferentialChangesetViewController',
'revision/edit/(?:(?P<id>\d+)/)?$'
=> 'DifferentialRevisionEditController',
'comment/' => array(
'preview/(?P<id>\d+)/$' => 'DifferentialCommentPreviewController',
'save/$' => 'DifferentialCommentSaveController',
'inline/' => array(
'preview/(?P<id>\d+)/$' =>
'DifferentialInlineCommentPreviewController',
'edit/(?P<id>\d+)/$' => 'DifferentialInlineCommentEditController',
),
),
'attach/(?P<id>\d+)/(?P<type>\w+)/$' => 'DifferentialAttachController',
'subscribe/(?P<action>add|rem)/(?P<id>\d+)/$'
=> 'DifferentialSubscribeController',
),
'/typeahead/' => array(
'common/(?P<type>\w+)/$'
=> 'PhabricatorTypeaheadCommonDatasourceController',
),
'/mail/' => array(
'$' => 'PhabricatorMetaMTAListController',
'send/$' => 'PhabricatorMetaMTASendController',
'view/(?P<id>\d+)/$' => 'PhabricatorMetaMTAViewController',
'lists/$' => 'PhabricatorMetaMTAMailingListsController',
'lists/edit/(?:(?P<id>\d+)/)?$'
=> 'PhabricatorMetaMTAMailingListEditController',
),
'/login/' => array(
'$' => 'PhabricatorLoginController',
'email/$' => 'PhabricatorEmailLoginController',
'etoken/(?P<token>\w+)/$' => 'PhabricatorEmailTokenController',
),
'/logout/$' => 'PhabricatorLogoutController',
'/oauth/' => array(
'(?P<provider>github|facebook)/' => array(
'login/$' => 'PhabricatorOAuthLoginController',
'diagnose/$' => 'PhabricatorOAuthDiagnosticsController',
'unlink/$' => 'PhabricatorOAuthUnlinkController',
),
),
'/xhprof/' => array(
'profile/(?P<phid>[^/]+)/$' => 'PhabricatorXHProfProfileController',
),
'/~/' => 'DarkConsoleController',
'/settings/' => array(
'(?:page/(?P<page>[^/]+)/)?$' => 'PhabricatorUserSettingsController',
),
'/maniphest/' => array(
'$' => 'ManiphestTaskListController',
'view/(?P<view>\w+)/$' => 'ManiphestTaskListController',
'task/' => array(
'create/$' => 'ManiphestTaskEditController',
'edit/(?P<id>\d+)/$' => 'ManiphestTaskEditController',
),
'transaction/' => array(
'save/' => 'ManiphestTransactionSaveController',
),
'select/search/$' => 'ManiphestTaskSelectorSearchController',
),
'/T(?P<id>\d+)$' => 'ManiphestTaskDetailController',
'/github-post-receive/(?P<id>\d+)/(?P<token>[^/]+)/$'
=> 'PhabricatorRepositoryGitHubPostReceiveController',
'/repository/' => array(
'$' => 'PhabricatorRepositoryListController',
'create/$' => 'PhabricatorRepositoryCreateController',
'edit/(?P<id>\d+)/(?:(?P<view>\w+)?/)?$' =>
'PhabricatorRepositoryEditController',
'delete/(?P<id>\d+)/$' => 'PhabricatorRepositoryDeleteController',
'project/(?P<id>\d+)/' =>
'PhabricatorRepositoryArcanistProjectEditController',
),
'/search/' => array(
'$' => 'PhabricatorSearchController',
'(?P<id>\d+)/$' => 'PhabricatorSearchController',
),
'/project/' => array(
'$' => 'PhabricatorProjectListController',
'edit/(?:(?P<id>\d+)/)?$' => 'PhabricatorProjectEditController',
'view/(?P<id>\d+)/$' => 'PhabricatorProjectProfileController',
'affiliation/(?P<id>\d+)/$'
=> 'PhabricatorProjectAffiliationEditController',
),
'/r(?P<callsign>[A-Z]+)(?P<commit>[a-z0-9]+)$'
=> 'DiffusionCommitController',
'/diffusion/' => array(
'$' => 'DiffusionHomeController',
'(?P<callsign>[A-Z]+)/' => array(
'$' => 'DiffusionRepositoryController',
'repository/'.
'(?P<path>[^/]+)/'.
'$'
=> 'DiffusionRepositoryController',
'change/'.
'(?P<path>.*?)'.
'(?:[;](?P<commit>[a-z0-9]+))?'.
'$'
=> 'DiffusionChangeController',
'history/'.
'(?P<path>.*?)'.
'(?:[;](?P<commit>[a-z0-9]+))?'.
'$'
=> 'DiffusionHistoryController',
'browse/'.
'(?P<path>.*?)'.
'(?:[;](?P<commit>[a-z0-9]+))?'.
'(?:[$](?P<line>\d+))?'.
'$'
=> 'DiffusionBrowseController',
'diff/'.
'(?P<path>.*?)'.
'(?:[;](?P<commit>[a-z0-9]+))?'.
'$'
=> 'DiffusionDiffController',
'lastmodified/'.
'(?P<path>.*?)'.
'(?:[;](?P<commit>[a-z0-9]+))?'.
'$'
=> 'DiffusionLastModifiedController',
),
'services/' => array(
'path/' => array(
'complete/$' => 'DiffusionPathCompleteController',
'validate/$' => 'DiffusionPathValidateController',
),
),
),
'/daemon/' => array(
'task/(?P<id>\d+)/$' => 'PhabricatorWorkerTaskDetailController',
'log/' => array(
'$' => 'PhabricatorDaemonLogListController',
'combined/$' => 'PhabricatorDaemonCombinedLogController',
'(?P<id>\d+)/$' => 'PhabricatorDaemonLogViewController',
),
'timeline/$' => 'PhabricatorDaemonTimelineConsoleController',
'timeline/(?P<id>\d+)/$' => 'PhabricatorDaemonTimelineEventController',
'$' => 'PhabricatorDaemonConsoleController',
),
'/herald/' => array(
'$' => 'HeraldHomeController',
'view/(?P<view>[^/]+)/$' => 'HeraldHomeController',
'new/(?:(?P<type>[^/]+)/)?$' => 'HeraldNewController',
'rule/(?:(?P<id>\d+)/)?$' => 'HeraldRuleController',
'delete/(?P<id>\d+)/$' => 'HeraldDeleteController',
'test/$' => 'HeraldTestConsoleController',
'transcript/$' => 'HeraldTranscriptListController',
'transcript/(?P<id>\d+)/(?:(?P<filter>\w+)/)?$'
=> 'HeraldTranscriptController',
),
'/preferences/' => array(
'$' => 'PhabricatorEditPreferencesController'
),
'/uiexample/' => array(
'$' => 'PhabricatorUIExampleRenderController',
'view/(?P<class>[^/]+)/$' => 'PhabricatorUIExampleRenderController',
),
'/owners/' => array(
'$' => 'PhabricatorOwnersListController',
'view/(?P<view>[^/]+)/$' => 'PhabricatorOwnersListController',
'edit/(?P<id>\d+)/$' => 'PhabricatorOwnersEditController',
'new/$' => 'PhabricatorOwnersEditController',
'package/(?P<id>\d+)/$' => 'PhabricatorOwnersDetailController',
'delete/(?P<id>\d+)/$' => 'PhabricatorOwnersDeleteController',
),
'/xhpast/' => array(
'$' => 'PhabricatorXHPASTViewRunController',
'view/(?P<id>\d+)/$'
=> 'PhabricatorXHPASTViewFrameController',
'frameset/(?P<id>\d+)/$'
=> 'PhabricatorXHPASTViewFramesetController',
'input/(?P<id>\d+)/$'
=> 'PhabricatorXHPASTViewInputController',
'tree/(?P<id>\d+)/$'
=> 'PhabricatorXHPASTViewTreeController',
'stream/(?P<id>\d+)/$'
=> 'PhabricatorXHPASTViewStreamController',
),
'/status/$' => 'PhabricatorStatusController',
);
}
protected function getResourceURIMapRules() {
return array(
'/res/' => array(
'(?P<package>pkg/)?(?P<hash>[a-f0-9]{8})/(?P<path>.+\.(?:css|js))$'
=> 'CelerityResourceController',
),
);
}
public function buildRequest() {
$request = new AphrontRequest($this->getHost(), $this->getPath());
$request->setRequestData($_GET + $_POST);
$request->setApplicationConfiguration($this);
return $request;
}
public function handleException(Exception $ex) {
$class = phutil_escape_html(get_class($ex));
$message = phutil_escape_html($ex->getMessage());
$content =
'<div class="aphront-unhandled-exception">'.
'<h1>Unhandled Exception "'.$class.'": '.$message.'</h1>'.
'<code>'.phutil_escape_html((string)$ex).'</code>'.
'</div>';
$user = $this->getRequest()->getUser();
if (!$user) {
// If we hit an exception very early, we won't have a user.
$user = new PhabricatorUser();
}
$dialog = new AphrontDialogView();
$dialog
->setTitle('Exception!')
->setClass('aphront-exception-dialog')
->setUser($user)
->appendChild($content)
->addCancelButton('/');
$response = new AphrontDialogResponse();
$response->setDialog($dialog);
return $response;
}
public function willSendResponse(AphrontResponse $response) {
$request = $this->getRequest();
if ($response instanceof AphrontDialogResponse) {
if (!$request->isAjax()) {
$view = new PhabricatorStandardPageView();
$view->setRequest($request);
$view->appendChild(
'<div style="padding: 2em 0;">'.
$response->buildResponseString().
'</div>');
$response = new AphrontWebpageResponse();
$response->setContent($view->render());
return $response;
} else {
return id(new AphrontAjaxResponse())
->setContent(array(
'dialog' => $response->buildResponseString(),
));
}
} else if ($response instanceof AphrontRedirectResponse) {
if ($request->isAjax()) {
return id(new AphrontAjaxResponse())
->setContent(
array(
'redirect' => $response->getURI(),
));
}
} else if ($response instanceof Aphront404Response) {
$failure = new AphrontRequestFailureView();
$failure->setHeader('404 Not Found');
$failure->appendChild(
'<p>The page you requested was not found.</p>');
$view = new PhabricatorStandardPageView();
$view->setTitle('404 Not Found');
$view->setRequest($this->getRequest());
$view->appendChild($failure);
$response = new AphrontWebpageResponse();
$response->setContent($view->render());
$response->setHTTPResponseCode(404);
return $response;
}
return $response;
}
public function build404Controller() {
return array(new Phabricator404Controller($this->getRequest()), array());
}
public function buildRedirectController($uri) {
return array(
new PhabricatorRedirectController($this->getRequest()),
array(
'uri' => $uri,
));
}
}
diff --git a/src/applications/files/controller/base/PhabricatorFileController.php b/src/applications/files/controller/base/PhabricatorFileController.php
index 258c1cd4c1..99bac202b7 100644
--- a/src/applications/files/controller/base/PhabricatorFileController.php
+++ b/src/applications/files/controller/base/PhabricatorFileController.php
@@ -1,34 +1,46 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
abstract class PhabricatorFileController extends PhabricatorController {
public function buildStandardPageResponse($view, array $data) {
$page = $this->buildStandardPageView();
$page->setApplicationName('Files');
$page->setBaseURI('/file/');
$page->setTitle(idx($data, 'title'));
$page->setGlyph("\xE2\x87\xAA");
+ $page->setTabs(
+ array(
+ 'files' => array(
+ 'name' => 'Files',
+ 'href' => '/file/',
+ ),
+ 'macros' => array(
+ 'name' => 'Image Macros',
+ 'href' => '/file/macro/',
+ ),
+ ),
+ idx($data, 'tab'));
$page->appendChild($view);
$response = new AphrontWebpageResponse();
return $response->setContent($page->render());
}
}
diff --git a/src/applications/files/controller/macrodelete/PhabricatorFileMacroDeleteController.php b/src/applications/files/controller/macrodelete/PhabricatorFileMacroDeleteController.php
new file mode 100644
index 0000000000..d8d8187f89
--- /dev/null
+++ b/src/applications/files/controller/macrodelete/PhabricatorFileMacroDeleteController.php
@@ -0,0 +1,56 @@
+<?php
+
+/*
+ * Copyright 2011 Facebook, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+class PhabricatorFileMacroDeleteController extends PhabricatorFileController {
+
+ private $id;
+
+ public function willProcessRequest(array $data) {
+ $this->id = $data['id'];
+ }
+
+ public function processRequest() {
+
+ $macro = id(new PhabricatorFileImageMacro())->load($this->id);
+ if (!$macro) {
+ return new Aphront404Response();
+ }
+
+ $request = $this->getRequest();
+
+ if ($request->isDialogFormPost()) {
+ $macro->delete();
+ return id(new AphrontRedirectResponse())->setURI('/file/macro/');
+ }
+
+ $dialog = new AphrontDialogView();
+ $dialog
+ ->setUser($request->getUser())
+ ->setTitle('Really delete macro?')
+ ->appendChild(
+ '<p>Really delete the much-beloved image macro "'.
+ phutil_escape_html($macro->getName()).'"? It will be sorely missed.'.
+ '</p>')
+ ->setSubmitURI('/file/macro/delete/'.$this->id.'/')
+ ->addSubmitButton('Delete')
+ ->addCancelButton('/file/macro/');
+
+
+ return id(new AphrontDialogResponse())->setDialog($dialog);
+ }
+}
diff --git a/src/applications/files/controller/macrodelete/__init__.php b/src/applications/files/controller/macrodelete/__init__.php
new file mode 100644
index 0000000000..cd4f3b465e
--- /dev/null
+++ b/src/applications/files/controller/macrodelete/__init__.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * This file is automatically generated. Lint this module to rebuild it.
+ * @generated
+ */
+
+
+
+phutil_require_module('phabricator', 'aphront/response/404');
+phutil_require_module('phabricator', 'aphront/response/dialog');
+phutil_require_module('phabricator', 'aphront/response/redirect');
+phutil_require_module('phabricator', 'applications/files/controller/base');
+phutil_require_module('phabricator', 'applications/files/storage/imagemacro');
+phutil_require_module('phabricator', 'view/dialog');
+
+phutil_require_module('phutil', 'markup');
+phutil_require_module('phutil', 'utils');
+
+
+phutil_require_source('PhabricatorFileMacroDeleteController.php');
diff --git a/src/applications/files/controller/macroedit/PhabricatorFileMacroEditController.php b/src/applications/files/controller/macroedit/PhabricatorFileMacroEditController.php
new file mode 100644
index 0000000000..1b086d0112
--- /dev/null
+++ b/src/applications/files/controller/macroedit/PhabricatorFileMacroEditController.php
@@ -0,0 +1,124 @@
+<?php
+
+/*
+ * Copyright 2011 Facebook, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+class PhabricatorFileMacroEditController extends PhabricatorFileController {
+
+ private $id;
+
+ public function willProcessRequest(array $data) {
+ $this->id = idx($data, 'id');
+ }
+
+ public function processRequest() {
+
+ if ($this->id) {
+ $macro = id(new PhabricatorFileImageMacro())->load($this->id);
+ if (!$macro) {
+ return new Aphront404Response();
+ }
+ } else {
+ $macro = new PhabricatorFileImageMacro();
+ }
+
+ $errors = array();
+ $e_name = true;
+
+ $request = $this->getRequest();
+ if ($request->isFormPost()) {
+
+ $macro->setName($request->getStr('name'));
+
+ if (!strlen($macro->getName())) {
+ $errors[] = 'Macro name is required.';
+ $e_name = 'Required';
+ } else if (!preg_match('/^[a-z0-9_-]{3,}$/', $macro->getName())) {
+ $errors[] = 'Macro must be at least three characters long and contain '.
+ 'only lowercase letters, digits, hyphen and underscore.';
+ $e_name = 'Invalid';
+ } else {
+ $e_name = null;
+ }
+
+ if (!$errors) {
+
+ $file = PhabricatorFile::newFromPHPUpload(
+ idx($_FILES, 'file'),
+ array(
+ 'name' => $request->getStr('name'),
+ ));
+ $macro->setFilePHID($file->getPHID());
+
+ try {
+ $macro->save();
+ return id(new AphrontRedirectResponse())->setURI('/file/macro/');
+ } catch (AphrontQueryDuplicateKeyException $ex) {
+ $errors[] = 'Macro name is not unique!';
+ $e_name = 'Duplicate';
+ }
+ }
+ }
+
+ if ($errors) {
+ $error_view = new AphrontErrorView();
+ $error_view->setTitle('Form Errors');
+ $error_view->setErrors($errors);
+ } else {
+ $error_view = null;
+ }
+
+ $form = new AphrontFormView();
+ $form->setAction('/file/macro/edit/');
+ $form->setUser($request->getUser());
+
+ $form
+ ->setEncType('multipart/form-data')
+ ->appendChild(
+ id(new AphrontFormTextControl())
+ ->setLabel('Name')
+ ->setName('name')
+ ->setValue($macro->getName())
+ ->setCaption('This word or phrase will be replaced with the image.')
+ ->setError($e_name))
+ ->appendChild(
+ id(new AphrontFormFileControl())
+ ->setLabel('File')
+ ->setName('file')
+ ->setError(true))
+ ->appendChild(
+ id(new AphrontFormSubmitControl())
+ ->setValue('Save Image Macro')
+ ->addCancelButton('/file/macro/'));
+
+ $panel = new AphrontPanelView();
+ if ($macro->getID()) {
+ $panel->setHeader('Edit Image Macro');
+ } else {
+ $panel->setHeader('Create Image Macro');
+ }
+
+ $panel->appendChild($form);
+ $panel->setWidth(AphrontPanelView::WIDTH_FORM);
+
+ return $this->buildStandardPageResponse(
+ array($error_view, $panel),
+ array(
+ 'title' => 'Edit Image Macro',
+ ));
+ }
+
+}
diff --git a/src/applications/files/controller/macroedit/__init__.php b/src/applications/files/controller/macroedit/__init__.php
new file mode 100644
index 0000000000..85571d336b
--- /dev/null
+++ b/src/applications/files/controller/macroedit/__init__.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * This file is automatically generated. Lint this module to rebuild it.
+ * @generated
+ */
+
+
+
+phutil_require_module('phabricator', 'aphront/response/404');
+phutil_require_module('phabricator', 'aphront/response/redirect');
+phutil_require_module('phabricator', 'applications/files/controller/base');
+phutil_require_module('phabricator', 'applications/files/storage/file');
+phutil_require_module('phabricator', 'applications/files/storage/imagemacro');
+phutil_require_module('phabricator', 'view/form/base');
+phutil_require_module('phabricator', 'view/form/control/file');
+phutil_require_module('phabricator', 'view/form/control/submit');
+phutil_require_module('phabricator', 'view/form/control/text');
+phutil_require_module('phabricator', 'view/form/error');
+phutil_require_module('phabricator', 'view/layout/panel');
+
+phutil_require_module('phutil', 'utils');
+
+
+phutil_require_source('PhabricatorFileMacroEditController.php');
diff --git a/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php b/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php
new file mode 100644
index 0000000000..47c7eb3918
--- /dev/null
+++ b/src/applications/files/controller/macrolist/PhabricatorFileMacroListController.php
@@ -0,0 +1,89 @@
+<?php
+
+/*
+ * Copyright 2011 Facebook, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+class PhabricatorFileMacroListController extends PhabricatorFileController {
+
+ public function processRequest() {
+
+ $request = $this->getRequest();
+
+ $pager = new AphrontPagerView();
+ $pager->setOffset($request->getInt('page'));
+
+ $macros = id(new PhabricatorFileImageMacro())->loadAllWhere(
+ '1 = 1 ORDER BY id DESC LIMIT %d, %d',
+ $pager->getOffset(),
+ $pager->getPageSize() + 1);
+
+ $macros = $pager->sliceResults($macros);
+ $pager->setURI($request->getRequestURI(), 'page');
+
+ $rows = array();
+ foreach ($macros as $macro) {
+ $src = PhabricatorFileURI::getViewURIForPHID($macro->getFilePHID());
+ $rows[] = array(
+ phutil_render_tag(
+ 'a',
+ array(
+ 'href' => '/file/macro/edit/'.$macro->getID().'/',
+ ),
+ phutil_escape_html($macro->getName())),
+ phutil_render_tag(
+ 'img',
+ array(
+ 'src' => $src,
+ )),
+ javelin_render_tag(
+ 'a',
+ array(
+ 'href' => '/file/macro/delete/'.$macro->getID().'/',
+ 'sigil' => 'workflow',
+ 'class' => 'grey small button',
+ ),
+ 'Delete'),
+ );
+ }
+
+ $table = new AphrontTableView($rows);
+ $table->setHeaders(
+ array(
+ 'Name',
+ 'Image',
+ '',
+ ));
+ $table->setColumnClasses(
+ array(
+ 'pri',
+ 'wide thumb',
+ 'action',
+ ));
+
+ $panel = new AphrontPanelView();
+ $panel->appendChild($table);
+ $panel->setHeader('Image Macros');
+ $panel->setCreateButton('New Image Macro', '/file/macro/edit/');
+ $panel->appendChild($pager);
+
+ return $this->buildStandardPageResponse(
+ $panel,
+ array(
+ 'title' => 'Image Macros',
+ 'tab' => 'macros',
+ ));
+ }
+}
diff --git a/src/applications/files/controller/macrolist/__init__.php b/src/applications/files/controller/macrolist/__init__.php
new file mode 100644
index 0000000000..46fa4fc887
--- /dev/null
+++ b/src/applications/files/controller/macrolist/__init__.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * This file is automatically generated. Lint this module to rebuild it.
+ * @generated
+ */
+
+
+
+phutil_require_module('phabricator', 'applications/files/controller/base');
+phutil_require_module('phabricator', 'applications/files/storage/imagemacro');
+phutil_require_module('phabricator', 'applications/files/uri');
+phutil_require_module('phabricator', 'infrastructure/javelin/markup');
+phutil_require_module('phabricator', 'view/control/pager');
+phutil_require_module('phabricator', 'view/control/table');
+phutil_require_module('phabricator', 'view/layout/panel');
+
+phutil_require_module('phutil', 'markup');
+phutil_require_module('phutil', 'utils');
+
+
+phutil_require_source('PhabricatorFileMacroListController.php');
diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css
index a73e3936fb..ce53b32e84 100644
--- a/webroot/rsrc/css/aphront/table-view.css
+++ b/webroot/rsrc/css/aphront/table-view.css
@@ -1,88 +1,93 @@
/**
* @provides aphront-table-view-css
*/
.aphront-table-view {
width: 100%;
border-collapse: collapse;
background: #fdfdfd;
border: 1px solid #003366;
}
.aphront-table-view tr.alt {
background: #efefef;
}
.aphront-table-view th {
font-size: 12px;
font-weight: bold;
padding: 4px 8px;
background: #003366;
color: white;
white-space: nowrap;
}
.aphront-table-view td.header {
padding: 4px 8px;
background: #3b5998;
color: white;
white-space: nowrap;
text-align: right;
}
.aphront-table-view td {
vertical-align: top;
padding: 4px 8px;
font-size: 11px;
white-space: nowrap;
}
.aphront-table-view td.action {
padding-top: 1px;
padding-bottom: 1px;
}
.aphront-table-view td.larger {
font-size: 14px;
}
.aphront-table-view td.pri {
font-weight: bold;
}
.aphront-table-view td.wide {
white-space: normal;
width: 100%;
}
.aphront-table-view td.right {
text-align: right;
}
.aphront-table-view td.mono {
font-family: "Monaco", monospace;
font-size: 10px;
}
.aphront-table-view td.n {
font-family: "Monaco", monospace;
font-size: 10px;
text-align: right;
}
.aprhont-table-view td.wrap {
white-space: normal;
}
.aphront-table-view tr.highlighted,
.aphront-table-view tr.alt-highlighted {
background: #ffff66;
}
.aphront-table-view tr.no-data td {
padding: 1em;
text-align: center;
color: #888888;
font-style: italic;
}
+
+.aphront-table-view td.thumb img {
+ max-width: 64px;
+ max-height: 64px;
+}

File Metadata

Mime Type
text/x-diff
Expires
Mon, Dec 1, 9:37 AM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
430338
Default Alt Text
(133 KB)

Event Timeline