Merge "Add prior_stages: to release config" into main

This commit is contained in:
Treehugger Robot
2024-05-31 16:40:49 +00:00
committed by Gerrit Code Review
7 changed files with 128 additions and 65 deletions

View File

@@ -81,6 +81,10 @@ type ReleaseConfig struct {
// Partitioned artifacts for {partition}/etc/build_flags.json
PartitionBuildFlags map[string]*rc_proto.FlagArtifacts
// Prior stage(s) for flag advancement (during development).
// Once a flag has met criteria in a prior stage, it can advance to this one.
PriorStagesMap map[string]bool
}
func ReleaseConfigFactory(name string, index int) (c *ReleaseConfig) {
@@ -88,6 +92,7 @@ func ReleaseConfigFactory(name string, index int) (c *ReleaseConfig) {
Name: name,
DeclarationIndex: index,
FilesUsedMap: make(map[string]bool),
PriorStagesMap: make(map[string]bool),
}
}
@@ -118,14 +123,7 @@ func (config *ReleaseConfig) InheritConfig(iConfig *ReleaseConfig) error {
}
func (config *ReleaseConfig) GetSortedFileList() []string {
ret := []string{}
for k := range config.FilesUsedMap {
ret = append(ret, k)
}
slices.SortFunc(ret, func(a, b string) int {
return cmp.Compare(a, b)
})
return ret
return SortedMapKeys(config.FilesUsedMap)
}
func (config *ReleaseConfig) GenerateReleaseConfig(configs *ReleaseConfigs) error {
@@ -219,6 +217,9 @@ func (config *ReleaseConfig) GenerateReleaseConfig(configs *ReleaseConfigs) erro
Value: &rc_proto.Value{Val: &rc_proto.Value_StringValue{contribAconfigValueSetsString}},
})
for _, priorStage := range contrib.proto.PriorStages {
config.PriorStagesMap[priorStage] = true
}
myDirsMap[contrib.DeclarationIndex] = true
if config.AconfigFlagsOnly && len(contrib.FlagValues) > 0 {
return fmt.Errorf("%s does not allow build flag overrides", config.Name)
@@ -302,6 +303,7 @@ func (config *ReleaseConfig) GenerateReleaseConfig(configs *ReleaseConfigs) erro
AconfigValueSets: myAconfigValueSets,
Inherits: myInherits,
Directories: directories,
PriorStages: SortedMapKeys(config.PriorStagesMap),
}
config.compileInProgress = false