@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+170 -18
+8
src/__phutil_library_map__.php
··· 737 737 'DiffusionCommitAuditorsHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuditorsHeraldField.php', 738 738 'DiffusionCommitAuditorsTransaction' => 'applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php', 739 739 'DiffusionCommitAuthorHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorHeraldField.php', 740 + 'DiffusionCommitAuthorPackagesHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorPackagesHeraldField.php', 740 741 'DiffusionCommitAuthorProjectsHeraldField' => 'applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php', 741 742 'DiffusionCommitAutocloseHeraldField' => 'applications/diffusion/herald/DiffusionCommitAutocloseHeraldField.php', 742 743 'DiffusionCommitBranchesController' => 'applications/diffusion/controller/DiffusionCommitBranchesController.php', 743 744 'DiffusionCommitBranchesHeraldField' => 'applications/diffusion/herald/DiffusionCommitBranchesHeraldField.php', 744 745 'DiffusionCommitBuildableTransaction' => 'applications/diffusion/xaction/DiffusionCommitBuildableTransaction.php', 745 746 'DiffusionCommitCommitterHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterHeraldField.php', 747 + 'DiffusionCommitCommitterPackagesHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterPackagesHeraldField.php', 746 748 'DiffusionCommitCommitterProjectsHeraldField' => 'applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php', 747 749 'DiffusionCommitConcernTransaction' => 'applications/diffusion/xaction/DiffusionCommitConcernTransaction.php', 748 750 'DiffusionCommitController' => 'applications/diffusion/controller/DiffusionCommitController.php', ··· 908 910 'DiffusionPhpExternalSymbolsSource' => 'applications/diffusion/symbol/DiffusionPhpExternalSymbolsSource.php', 909 911 'DiffusionPreCommitContentAffectedFilesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAffectedFilesHeraldField.php', 910 912 'DiffusionPreCommitContentAuthorHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorHeraldField.php', 913 + 'DiffusionPreCommitContentAuthorPackagesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorPackagesHeraldField.php', 911 914 'DiffusionPreCommitContentAuthorProjectsHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorProjectsHeraldField.php', 912 915 'DiffusionPreCommitContentAuthorRawHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentAuthorRawHeraldField.php', 913 916 'DiffusionPreCommitContentBranchesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentBranchesHeraldField.php', 914 917 'DiffusionPreCommitContentCommitterHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterHeraldField.php', 918 + 'DiffusionPreCommitContentCommitterPackagesHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterPackagesHeraldField.php', 915 919 'DiffusionPreCommitContentCommitterProjectsHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterProjectsHeraldField.php', 916 920 'DiffusionPreCommitContentCommitterRawHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentCommitterRawHeraldField.php', 917 921 'DiffusionPreCommitContentDiffContentAddedHeraldField' => 'applications/diffusion/herald/DiffusionPreCommitContentDiffContentAddedHeraldField.php', ··· 6731 6735 'DiffusionCommitAuditorsHeraldField' => 'DiffusionCommitHeraldField', 6732 6736 'DiffusionCommitAuditorsTransaction' => 'DiffusionCommitTransactionType', 6733 6737 'DiffusionCommitAuthorHeraldField' => 'DiffusionCommitHeraldField', 6738 + 'DiffusionCommitAuthorPackagesHeraldField' => 'DiffusionCommitHeraldField', 6734 6739 'DiffusionCommitAuthorProjectsHeraldField' => 'DiffusionCommitHeraldField', 6735 6740 'DiffusionCommitAutocloseHeraldField' => 'DiffusionCommitHeraldField', 6736 6741 'DiffusionCommitBranchesController' => 'DiffusionController', 6737 6742 'DiffusionCommitBranchesHeraldField' => 'DiffusionCommitHeraldField', 6738 6743 'DiffusionCommitBuildableTransaction' => 'DiffusionCommitTransactionType', 6739 6744 'DiffusionCommitCommitterHeraldField' => 'DiffusionCommitHeraldField', 6745 + 'DiffusionCommitCommitterPackagesHeraldField' => 'DiffusionCommitHeraldField', 6740 6746 'DiffusionCommitCommitterProjectsHeraldField' => 'DiffusionCommitHeraldField', 6741 6747 'DiffusionCommitConcernTransaction' => 'DiffusionCommitAuditTransaction', 6742 6748 'DiffusionCommitController' => 'DiffusionController', ··· 6905 6911 'DiffusionPhpExternalSymbolsSource' => 'DiffusionExternalSymbolsSource', 6906 6912 'DiffusionPreCommitContentAffectedFilesHeraldField' => 'DiffusionPreCommitContentHeraldField', 6907 6913 'DiffusionPreCommitContentAuthorHeraldField' => 'DiffusionPreCommitContentHeraldField', 6914 + 'DiffusionPreCommitContentAuthorPackagesHeraldField' => 'DiffusionPreCommitContentHeraldField', 6908 6915 'DiffusionPreCommitContentAuthorProjectsHeraldField' => 'DiffusionPreCommitContentHeraldField', 6909 6916 'DiffusionPreCommitContentAuthorRawHeraldField' => 'DiffusionPreCommitContentHeraldField', 6910 6917 'DiffusionPreCommitContentBranchesHeraldField' => 'DiffusionPreCommitContentHeraldField', 6911 6918 'DiffusionPreCommitContentCommitterHeraldField' => 'DiffusionPreCommitContentHeraldField', 6919 + 'DiffusionPreCommitContentCommitterPackagesHeraldField' => 'DiffusionPreCommitContentHeraldField', 6912 6920 'DiffusionPreCommitContentCommitterProjectsHeraldField' => 'DiffusionPreCommitContentHeraldField', 6913 6921 'DiffusionPreCommitContentCommitterRawHeraldField' => 'DiffusionPreCommitContentHeraldField', 6914 6922 'DiffusionPreCommitContentDiffContentAddedHeraldField' => 'DiffusionPreCommitContentHeraldField',
+37
src/applications/diffusion/herald/DiffusionCommitAuthorPackagesHeraldField.php
··· 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 + }
+3 -3
src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php
··· 13 13 $adapter = $this->getAdapter(); 14 14 $viewer = $adapter->getViewer(); 15 15 16 - $phid = $adapter->getAuthorPHID(); 17 - if (!$phid) { 16 + $author_phid = $adapter->getAuthorPHID(); 17 + if (!$author_phid) { 18 18 return array(); 19 19 } 20 20 21 21 $projects = id(new PhabricatorProjectQuery()) 22 22 ->setViewer($viewer) 23 - ->withMemberPHIDs(array($phid)) 23 + ->withMemberPHIDs(array($author_phid)) 24 24 ->execute(); 25 25 26 26 return mpull($projects, 'getPHID');
+37
src/applications/diffusion/herald/DiffusionCommitCommitterPackagesHeraldField.php
··· 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 + }
+3 -5
src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php
··· 13 13 $adapter = $this->getAdapter(); 14 14 $viewer = $adapter->getViewer(); 15 15 16 - $phid = $adapter->getCommitterPHID(); 17 - if (!$phid) { 16 + $committer_phid = $adapter->getCommitterPHID(); 17 + if (!$committer_phid) { 18 18 return array(); 19 19 } 20 20 21 - $viewer = $adapter->getViewer(); 22 - 23 21 $projects = id(new PhabricatorProjectQuery()) 24 22 ->setViewer($viewer) 25 - ->withMemberPHIDs(array($phid)) 23 + ->withMemberPHIDs(array($committer_phid)) 26 24 ->execute(); 27 25 28 26 return mpull($projects, 'getPHID');
+37
src/applications/diffusion/herald/DiffusionPreCommitContentAuthorPackagesHeraldField.php
··· 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 + }
+4 -5
src/applications/diffusion/herald/DiffusionPreCommitContentAuthorProjectsHeraldField.php
··· 11 11 12 12 public function getHeraldFieldValue($object) { 13 13 $adapter = $this->getAdapter(); 14 + $viewer = $adapter->getViewer(); 14 15 15 - $phid = $adapter->getAuthorPHID(); 16 - if (!$phid) { 16 + $author_phid = $adapter->getAuthorPHID(); 17 + if (!$author_phid) { 17 18 return array(); 18 19 } 19 20 20 - $viewer = $adapter->getViewer(); 21 - 22 21 $projects = id(new PhabricatorProjectQuery()) 23 22 ->setViewer($viewer) 24 - ->withMemberPHIDs(array($phid)) 23 + ->withMemberPHIDs(array($author_phid)) 25 24 ->execute(); 26 25 27 26 return mpull($projects, 'getPHID');
+37
src/applications/diffusion/herald/DiffusionPreCommitContentCommitterPackagesHeraldField.php
··· 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 + }
+4 -5
src/applications/diffusion/herald/DiffusionPreCommitContentCommitterProjectsHeraldField.php
··· 11 11 12 12 public function getHeraldFieldValue($object) { 13 13 $adapter = $this->getAdapter(); 14 + $viewer = $adapter->getViewer(); 14 15 15 - $phid = $adapter->getCommitterPHID(); 16 - if (!$phid) { 16 + $committer_phid = $adapter->getCommitterPHID(); 17 + if (!$committer_phid) { 17 18 return array(); 18 19 } 19 20 20 - $viewer = $adapter->getViewer(); 21 - 22 21 $projects = id(new PhabricatorProjectQuery()) 23 22 ->setViewer($viewer) 24 - ->withMemberPHIDs(array($phid)) 23 + ->withMemberPHIDs(array($committer_phid)) 25 24 ->execute(); 26 25 27 26 return mpull($projects, 'getPHID');