mirror of
https://we.phorge.it/source/arcanist.git
synced 2024-11-28 01:32:41 +01:00
Merge "phage" from "experimental"
Summary: Ref T13395. Currently, "phage" is required for various cluster operations. Bring the working code out of "experimental". This isn't the final form; "wilds" has a fancier version. Test Plan: Ran phage workflows against the cluster. Maniphest Tasks: T13395 Differential Revision: https://secure.phabricator.com/D20982
This commit is contained in:
parent
9b74cb4ee6
commit
61e059984a
4 changed files with 42 additions and 0 deletions
1
bin/phage
Symbolic link
1
bin/phage
Symbolic link
|
@ -0,0 +1 @@
|
|||
../scripts/phage.php
|
29
scripts/phage.php
Executable file
29
scripts/phage.php
Executable file
|
@ -0,0 +1,29 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
|
||||
require_once dirname(__FILE__).'/__init_script__.php';
|
||||
ini_set('memory_limit', -1);
|
||||
|
||||
$args = new PhutilArgumentParser($argv);
|
||||
$args->parseStandardArguments();
|
||||
|
||||
$args->parsePartial(array());
|
||||
|
||||
|
||||
// TODO: This is pretty minimal and should be shared with "arc".
|
||||
$working_directory = getcwd();
|
||||
$working_copy = ArcanistWorkingCopyIdentity::newFromPath($working_directory);
|
||||
$config = id(new ArcanistConfigurationManager())
|
||||
->setWorkingCopyIdentity($working_copy);
|
||||
|
||||
foreach ($config->getProjectConfig('load') as $load) {
|
||||
$load = Filesystem::resolvePath($working_copy->getProjectRoot().'/'.$load);
|
||||
phutil_load_library($load);
|
||||
}
|
||||
|
||||
|
||||
$workflows = id(new PhutilClassMapQuery())
|
||||
->setAncestorClass('PhageWorkflow')
|
||||
->execute();
|
||||
$workflows[] = new PhutilHelpArgumentWorkflow();
|
||||
$args->parseWorkflows($workflows);
|
|
@ -473,6 +473,7 @@ phutil_register_library_map(array(
|
|||
'PhagePHPAgent' => 'phage/agent/PhagePHPAgent.php',
|
||||
'PhagePHPAgentBootloader' => 'phage/bootloader/PhagePHPAgentBootloader.php',
|
||||
'PhagePlanAction' => 'phage/action/PhagePlanAction.php',
|
||||
'PhageWorkflow' => 'phage/workflow/PhageWorkflow.php',
|
||||
'Phobject' => 'object/Phobject.php',
|
||||
'PhobjectTestCase' => 'object/__tests__/PhobjectTestCase.php',
|
||||
'PhpunitTestEngine' => 'unit/engine/PhpunitTestEngine.php',
|
||||
|
@ -1348,6 +1349,7 @@ phutil_register_library_map(array(
|
|||
'PhagePHPAgent' => 'Phobject',
|
||||
'PhagePHPAgentBootloader' => 'PhageAgentBootloader',
|
||||
'PhagePlanAction' => 'PhageAction',
|
||||
'PhageWorkflow' => 'PhutilArgumentWorkflow',
|
||||
'Phobject' => 'Iterator',
|
||||
'PhobjectTestCase' => 'PhutilTestCase',
|
||||
'PhpunitTestEngine' => 'ArcanistUnitTestEngine',
|
||||
|
|
10
src/phage/workflow/PhageWorkflow.php
Normal file
10
src/phage/workflow/PhageWorkflow.php
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
|
||||
abstract class PhageWorkflow
|
||||
extends PhutilArgumentWorkflow {
|
||||
|
||||
public function isExecutable() {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue