summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/schema.rs14
-rw-r--r--teams/all.toml21
2 files changed, 14 insertions, 21 deletions
diff --git a/src/schema.rs b/src/schema.rs
index dcd6868..d6604f7 100644
--- a/src/schema.rs
+++ b/src/schema.rs
@@ -144,13 +144,23 @@ impl Team {
for team in data.teams() {
let include_wg = team.is_wg() && self.people.include_wg_leads;
let include_team = !team.is_wg() && self.people.include_team_leads;
- if include_wg || include_team {
+ if team.name != self.name && (include_wg || include_team) {
for lead in team.leads() {
members.insert(lead);
}
}
}
}
+ if self.people.include_all_team_members {
+ for team in data.teams() {
+ if team.is_wg() || team.name == self.name {
+ continue;
+ }
+ for member in team.members(data)? {
+ members.insert(member);
+ }
+ }
+ }
Ok(members)
}
@@ -213,6 +223,8 @@ struct TeamPeople {
include_team_leads: bool,
#[serde(default = "default_false")]
include_wg_leads: bool,
+ #[serde(default = "default_false")]
+ include_all_team_members: bool,
}
permissions!(pub(crate) struct Permissions {
diff --git a/teams/all.toml b/teams/all.toml
index 96d8b64..d9e6e68 100644
--- a/teams/all.toml
+++ b/teams/all.toml
@@ -1,28 +1,9 @@
name = "all"
-children = [
- "alumni",
- "cargo",
- "community",
- "compiler",
- "core",
- "crates-io",
- "devtools",
- "docs",
- "ides",
- "infra",
- "lang",
- "lang-shepherds",
- "libs",
- "mods",
- "production",
- "release",
- "rustdoc",
- "twir",
-]
[people]
leads = []
members = []
+include-all-team-members = true
[[lists]]
address = "all@rust-lang.org"