1
0
Fork 0
mirror of https://github.com/NixOS/ofborg synced 2024-10-18 14:56:36 -04:00

maintainers: Add support for teams

* meta.maintainers can contain either individual maintainers or maintainer teams
* maintainer teams can be nested
* multiple teams can have overlapping membership
This commit is contained in:
Jan Tojnar 2019-11-23 00:26:42 +01:00
parent ce5f77632a
commit 16df9822ab
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4

View file

@ -36,8 +36,22 @@ let
(pkg: pkg // { package = pkgs.lib.attrsets.attrByPath pkg.path null pkgs; })
validPackageAttributes;
# meta.maintainers can contain either individual maintainers or maintainer teams
# maintainer teams can be nested
# multiple teams can have overlapping membership
extractMembersFromTeams = maintainers:
(pkg.lib.lists.unique (
builtins.concatMap
(maintainerOrTeam:
if maintainerOrTeam ? members
then extractMembersFromTeams maintainerOrTeam.members
else [ maintainerOrTeam ]
)
maintainers
));
attrsWithMaintainers = builtins.map
(pkg: pkg // { maintainers = (pkg.package.meta or {}).maintainers or []; })
(pkg: pkg // { maintainers = extractMembersFromTeams (pkg.package.meta or {}).maintainers or []; })
attrsWithPackages;
attrsWeCanPing = builtins.filter