1
0
Fork 0
mirror of https://we.phorge.it/source/arcanist.git synced 2024-11-28 17:52:42 +01:00

Add events framework to Arcanist

Test Plan:
Added a test event listener, added an event dispatch in diff workflow, run the
workflow, the listener was called.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, jungejason, epriestley

Differential Revision: 1102
This commit is contained in:
Marek Sapota 2011-11-10 13:47:45 -08:00
parent 5be54ec283
commit 53c64f64b0
4 changed files with 41 additions and 0 deletions

View file

@ -252,6 +252,13 @@ try {
$workflow->setRepositoryAPI($repository_api); $workflow->setRepositoryAPI($repository_api);
} }
$listeners = $working_copy->getConfig('events.listeners');
if ($listeners) {
foreach ($listeners as $listener) {
id(new $listener())->register();
}
}
$config->willRunWorkflow($command, $workflow); $config->willRunWorkflow($command, $workflow);
$workflow->willRunWorkflow(); $workflow->willRunWorkflow();
$err = $workflow->run(); $err = $workflow->run();

View file

@ -35,6 +35,7 @@ phutil_register_library_map(array(
'ArcanistDifferentialCommitMessageParserException' => 'differential/commitmessage', 'ArcanistDifferentialCommitMessageParserException' => 'differential/commitmessage',
'ArcanistDifferentialRevisionRef' => 'differential/revision', 'ArcanistDifferentialRevisionRef' => 'differential/revision',
'ArcanistDownloadWorkflow' => 'workflow/download', 'ArcanistDownloadWorkflow' => 'workflow/download',
'ArcanistEventType' => 'events/constant/type',
'ArcanistExportWorkflow' => 'workflow/export', 'ArcanistExportWorkflow' => 'workflow/export',
'ArcanistFilenameLinter' => 'lint/linter/filename', 'ArcanistFilenameLinter' => 'lint/linter/filename',
'ArcanistGeneratedLinter' => 'lint/linter/generated', 'ArcanistGeneratedLinter' => 'lint/linter/generated',
@ -114,6 +115,7 @@ phutil_register_library_map(array(
'ArcanistDiffUtilsTestCase' => 'ArcanistPhutilTestCase', 'ArcanistDiffUtilsTestCase' => 'ArcanistPhutilTestCase',
'ArcanistDiffWorkflow' => 'ArcanistBaseWorkflow', 'ArcanistDiffWorkflow' => 'ArcanistBaseWorkflow',
'ArcanistDownloadWorkflow' => 'ArcanistBaseWorkflow', 'ArcanistDownloadWorkflow' => 'ArcanistBaseWorkflow',
'ArcanistEventType' => 'PhutilEventType',
'ArcanistExportWorkflow' => 'ArcanistBaseWorkflow', 'ArcanistExportWorkflow' => 'ArcanistBaseWorkflow',
'ArcanistFilenameLinter' => 'ArcanistLinter', 'ArcanistFilenameLinter' => 'ArcanistLinter',
'ArcanistGeneratedLinter' => 'ArcanistLinter', 'ArcanistGeneratedLinter' => 'ArcanistLinter',

View file

@ -0,0 +1,20 @@
<?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.
*/
final class ArcanistEventType extends PhutilEventType {
}

View file

@ -0,0 +1,12 @@
<?php
/**
* This file is automatically generated. Lint this module to rebuild it.
* @generated
*/
phutil_require_module('phutil', 'events/constant/type');
phutil_require_source('ArcanistEventType.php');