Skip to content

Commit c99485e

Browse files
author
epriestley
committedJan 29, 2020
Add "Author's Packages" and "Committer's Packages" Herald rules for Commits and Hooks
Summary: Fixes T13480. Adds the remaining missing Owners package rules for Herald commit adapters. Test Plan: Created hooks which care about these fields, pushed commits, saw sensible transcript values. Maniphest Tasks: T13480 Differential Revision: https://secure.phabricator.com/D20957
1 parent 6628cd2 commit c99485e

9 files changed

+170
-18
lines changed
 

‎src/__phutil_library_map__.php

+8
Original file line numberDiff line numberDiff line change
@@ -737,12 +737,14 @@
737737
'DiffusionCommitAuditorsHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php',
738738
'DiffusionCommitAuditorsTransaction' => 'applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php',
739739
'DiffusionCommitAuthorHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php',
740+
'DiffusionCommitAuthorPackagesHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorPackagesHeraldField.php',
740741
'DiffusionCommitAuthorProjectsHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php',
741742
'DiffusionCommitAutocloseHeraldField' => 'applications/diffusion/herald/DiffusionCommitAutocloseHeraldField.php',
742743
'DiffusionCommitBranchesController' => 'applications/diffusion/controller/DiffusionCommitBranchesController.php',
743744
'DiffusionCommitBranchesHeraldField' => 'applications/diffusion/herald/DiffusionCommitBranchesHeraldField.php',
744745
'DiffusionCommitBuildableTransaction' => 'applications/diffusion/xaction/DiffusionCommitBuildableTransaction.php',
745746
'DiffusionCommitCommitterHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php',
747+
'DiffusionCommitCommitterPackagesHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterPackagesHeraldField.php',
746748
'DiffusionCommitCommitterProjectsHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php',
747749
'DiffusionCommitConcernTransaction' => 'applications/diffusion/xaction/DiffusionCommitConcernTransaction.php',
748750
'DiffusionCommitController' => 'applications/diffusion/controller/DiffusionCommitController.php',
@@ -908,10 +910,12 @@
908910
'DiffusionPhpExternalSymbolsSource' => 'applications/diffusion/symbol/DiffusionPhpExternalSymbolsSource.php',
909911
'DiffusionPreCommitContentAffectedFilesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAffectedFilesHeraldField.php',
910912
'DiffusionPreCommitContentAuthorHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorHeraldField.php',
913+
'DiffusionPreCommitContentAuthorPackagesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorPackagesHeraldField.php',
911914
'DiffusionPreCommitContentAuthorProjectsHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorProjectsHeraldField.php',
912915
'DiffusionPreCommitContentAuthorRawHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorRawHeraldField.php',
913916
'DiffusionPreCommitContentBranchesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentBranchesHeraldField.php',
914917
'DiffusionPreCommitContentCommitterHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterHeraldField.php',
918+
'DiffusionPreCommitContentCommitterPackagesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterPackagesHeraldField.php',
915919
'DiffusionPreCommitContentCommitterProjectsHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterProjectsHeraldField.php',
916920
'DiffusionPreCommitContentCommitterRawHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterRawHeraldField.php',
917921
'DiffusionPreCommitContentDiffContentAddedHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentDiffContentAddedHeraldField.php',
@@ -6731,12 +6735,14 @@
67316735
'DiffusionCommitAuditorsHeraldField' => 'DiffusionCommitHeraldField',
67326736
'DiffusionCommitAuditorsTransaction' => 'DiffusionCommitTransactionType',
67336737
'DiffusionCommitAuthorHeraldField' => 'DiffusionCommitHeraldField',
6738+
'DiffusionCommitAuthorPackagesHeraldField' => 'DiffusionCommitHeraldField',
67346739
'DiffusionCommitAuthorProjectsHeraldField' => 'DiffusionCommitHeraldField',
67356740
'DiffusionCommitAutocloseHeraldField' => 'DiffusionCommitHeraldField',
67366741
'DiffusionCommitBranchesController' => 'DiffusionController',
67376742
'DiffusionCommitBranchesHeraldField' => 'DiffusionCommitHeraldField',
67386743
'DiffusionCommitBuildableTransaction' => 'DiffusionCommitTransactionType',
67396744
'DiffusionCommitCommitterHeraldField' => 'DiffusionCommitHeraldField',
6745+
'DiffusionCommitCommitterPackagesHeraldField' => 'DiffusionCommitHeraldField',
67406746
'DiffusionCommitCommitterProjectsHeraldField' => 'DiffusionCommitHeraldField',
67416747
'DiffusionCommitConcernTransaction' => 'DiffusionCommitAuditTransaction',
67426748
'DiffusionCommitController' => 'DiffusionController',
@@ -6905,10 +6911,12 @@
69056911
'DiffusionPhpExternalSymbolsSource' => 'DiffusionExternalSymbolsSource',
69066912
'DiffusionPreCommitContentAffectedFilesHeraldField' => 'DiffusionPreCommitContentHeraldField',
69076913
'DiffusionPreCommitContentAuthorHeraldField' => 'DiffusionPreCommitContentHeraldField',
6914+
'DiffusionPreCommitContentAuthorPackagesHeraldField' => 'DiffusionPreCommitContentHeraldField',
69086915
'DiffusionPreCommitContentAuthorProjectsHeraldField' => 'DiffusionPreCommitContentHeraldField',
69096916
'DiffusionPreCommitContentAuthorRawHeraldField' => 'DiffusionPreCommitContentHeraldField',
69106917
'DiffusionPreCommitContentBranchesHeraldField' => 'DiffusionPreCommitContentHeraldField',
69116918
'DiffusionPreCommitContentCommitterHeraldField' => 'DiffusionPreCommitContentHeraldField',
6919+
'DiffusionPreCommitContentCommitterPackagesHeraldField' => 'DiffusionPreCommitContentHeraldField',
69126920
'DiffusionPreCommitContentCommitterProjectsHeraldField' => 'DiffusionPreCommitContentHeraldField',
69136921
'DiffusionPreCommitContentCommitterRawHeraldField' => 'DiffusionPreCommitContentHeraldField',
69146922
'DiffusionPreCommitContentDiffContentAddedHeraldField' => 'DiffusionPreCommitContentHeraldField',
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
final class DiffusionCommitAuthorPackagesHeraldField
4+
extends DiffusionCommitHeraldField {
5+
6+
const FIELDCONST = 'diffusion.commit.author.packages';
7+
8+
public function getHeraldFieldName() {
9+
return pht("Author's packages");
10+
}
11+
12+
public function getHeraldFieldValue($object) {
13+
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
15+
16+
$author_phid = $adapter->getAuthorPHID();
17+
if (!$author_phid) {
18+
return array();
19+
}
20+
21+
$packages = id(new PhabricatorOwnersPackageQuery())
22+
->setViewer($viewer)
23+
->withAuthorityPHIDs(array($author_phid))
24+
->execute();
25+
26+
return mpull($packages, 'getPHID');
27+
}
28+
29+
protected function getHeraldFieldStandardType() {
30+
return self::STANDARD_PHID_LIST;
31+
}
32+
33+
protected function getDatasource() {
34+
return new PhabricatorOwnersPackageDatasource();
35+
}
36+
37+
}

‎src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ public function getHeraldFieldValue($object) {
1313
$adapter = $this->getAdapter();
1414
$viewer = $adapter->getViewer();
1515

16-
$phid = $adapter->getAuthorPHID();
17-
if (!$phid) {
16+
$author_phid = $adapter->getAuthorPHID();
17+
if (!$author_phid) {
1818
return array();
1919
}
2020

2121
$projects = id(new PhabricatorProjectQuery())
2222
->setViewer($viewer)
23-
->withMemberPHIDs(array($phid))
23+
->withMemberPHIDs(array($author_phid))
2424
->execute();
2525

2626
return mpull($projects, 'getPHID');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
final class DiffusionCommitCommitterPackagesHeraldField
4+
extends DiffusionCommitHeraldField {
5+
6+
const FIELDCONST = 'diffusion.commit.committer.packages';
7+
8+
public function getHeraldFieldName() {
9+
return pht("Committer's packages");
10+
}
11+
12+
public function getHeraldFieldValue($object) {
13+
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
15+
16+
$committer_phid = $adapter->getAuthorPHID();
17+
if (!$committer_phid) {
18+
return array();
19+
}
20+
21+
$packages = id(new PhabricatorOwnersPackageQuery())
22+
->setViewer($viewer)
23+
->withAuthorityPHIDs(array($committer_phid))
24+
->execute();
25+
26+
return mpull($packages, 'getPHID');
27+
}
28+
29+
protected function getHeraldFieldStandardType() {
30+
return self::STANDARD_PHID_LIST;
31+
}
32+
33+
protected function getDatasource() {
34+
return new PhabricatorOwnersPackageDatasource();
35+
}
36+
37+
}

‎src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php

+3-5
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,14 @@ public function getHeraldFieldValue($object) {
1313
$adapter = $this->getAdapter();
1414
$viewer = $adapter->getViewer();
1515

16-
$phid = $adapter->getCommitterPHID();
17-
if (!$phid) {
16+
$committer_phid = $adapter->getCommitterPHID();
17+
if (!$committer_phid) {
1818
return array();
1919
}
2020

21-
$viewer = $adapter->getViewer();
22-
2321
$projects = id(new PhabricatorProjectQuery())
2422
->setViewer($viewer)
25-
->withMemberPHIDs(array($phid))
23+
->withMemberPHIDs(array($committer_phid))
2624
->execute();
2725

2826
return mpull($projects, 'getPHID');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
final class DiffusionPreCommitContentAuthorPackagesHeraldField
4+
extends DiffusionPreCommitContentHeraldField {
5+
6+
const FIELDCONST = 'diffusion.pre.commit.author.packages';
7+
8+
public function getHeraldFieldName() {
9+
return pht("Author's packages");
10+
}
11+
12+
public function getHeraldFieldValue($object) {
13+
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
15+
16+
$author_phid = $adapter->getAuthorPHID();
17+
if (!$author_phid) {
18+
return array();
19+
}
20+
21+
$packages = id(new PhabricatorOwnersPackageQuery())
22+
->setViewer($viewer)
23+
->withAuthorityPHIDs(array($author_phid))
24+
->execute();
25+
26+
return mpull($packages, 'getPHID');
27+
}
28+
29+
protected function getHeraldFieldStandardType() {
30+
return self::STANDARD_PHID_LIST;
31+
}
32+
33+
protected function getDatasource() {
34+
return new PhabricatorOwnersPackageDatasource();
35+
}
36+
37+
}

‎src/applications/diffusion/herald/DiffusionPreCommitContentAuthorProjectsHeraldField.php

+4-5
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@ public function getHeraldFieldName() {
1111

1212
public function getHeraldFieldValue($object) {
1313
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
1415

15-
$phid = $adapter->getAuthorPHID();
16-
if (!$phid) {
16+
$author_phid = $adapter->getAuthorPHID();
17+
if (!$author_phid) {
1718
return array();
1819
}
1920

20-
$viewer = $adapter->getViewer();
21-
2221
$projects = id(new PhabricatorProjectQuery())
2322
->setViewer($viewer)
24-
->withMemberPHIDs(array($phid))
23+
->withMemberPHIDs(array($author_phid))
2524
->execute();
2625

2726
return mpull($projects, 'getPHID');
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
final class DiffusionPreCommitContentCommitterPackagesHeraldField
4+
extends DiffusionPreCommitContentHeraldField {
5+
6+
const FIELDCONST = 'diffusion.pre.commit.committer.packages';
7+
8+
public function getHeraldFieldName() {
9+
return pht("Committer's packages");
10+
}
11+
12+
public function getHeraldFieldValue($object) {
13+
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
15+
16+
$committer_phid = $adapter->getCommitterPHID();
17+
if (!$committer_phid) {
18+
return array();
19+
}
20+
21+
$packages = id(new PhabricatorOwnersPackageQuery())
22+
->setViewer($viewer)
23+
->withAuthorityPHIDs(array($committer_phid))
24+
->execute();
25+
26+
return mpull($packages, 'getPHID');
27+
}
28+
29+
protected function getHeraldFieldStandardType() {
30+
return self::STANDARD_PHID_LIST;
31+
}
32+
33+
protected function getDatasource() {
34+
return new PhabricatorOwnersPackageDatasource();
35+
}
36+
37+
}

‎src/applications/diffusion/herald/DiffusionPreCommitContentCommitterProjectsHeraldField.php

+4-5
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@ public function getHeraldFieldName() {
1111

1212
public function getHeraldFieldValue($object) {
1313
$adapter = $this->getAdapter();
14+
$viewer = $adapter->getViewer();
1415

15-
$phid = $adapter->getCommitterPHID();
16-
if (!$phid) {
16+
$committer_phid = $adapter->getCommitterPHID();
17+
if (!$committer_phid) {
1718
return array();
1819
}
1920

20-
$viewer = $adapter->getViewer();
21-
2221
$projects = id(new PhabricatorProjectQuery())
2322
->setViewer($viewer)
24-
->withMemberPHIDs(array($phid))
23+
->withMemberPHIDs(array($committer_phid))
2524
->execute();
2625

2726
return mpull($projects, 'getPHID');

0 commit comments

Comments
 (0)
Failed to load comments.