Fix non-determinism in all_teams.pb
this.teams_for_mods uses a dictionary and `range` yields a non-deterministic ordering. This would cause all_teams.pb to be non-determinisitic. Since this file is created during Soong analysis, it would cause the .ninja file to also be non-deterministic. Use SortedKeys to do the iteration instead. Test: go build ./android Test: m nothing a couple of times and checked that the .ninja files are identical Change-Id: Ife2d2520d118ef25639f86390912d98b5f057655
This commit is contained in:
@@ -118,8 +118,8 @@ func (this *allTeamsSingleton) MakeVars(ctx MakeVarsContext) {
|
||||
// either the declared team data for that module or the package default team data for that module.
|
||||
func (this *allTeamsSingleton) lookupTeamForAllModules() *team_proto.AllTeams {
|
||||
teamsProto := make([]*team_proto.Team, len(this.teams_for_mods))
|
||||
i := 0
|
||||
for moduleName, m := range this.teams_for_mods {
|
||||
for i, moduleName := range SortedKeys(this.teams_for_mods) {
|
||||
m, _ := this.teams_for_mods[moduleName]
|
||||
teamName := m.teamName
|
||||
var teamProperties teamProperties
|
||||
found := false
|
||||
@@ -152,7 +152,6 @@ func (this *allTeamsSingleton) lookupTeamForAllModules() *team_proto.AllTeams {
|
||||
}
|
||||
}
|
||||
teamsProto[i] = teamData
|
||||
i++
|
||||
}
|
||||
return &team_proto.AllTeams{Teams: teamsProto}
|
||||
}
|
||||
|
Reference in New Issue
Block a user