all_flags.pb: Properly handle intermediate files am: 194d492d55
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3106680 Change-Id: I84c197a93b852bfe7a00566d15d5e7b02fa19328 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"os"
|
||||
|
||||
rc_lib "android/soong/cmd/release_config/release_config_lib"
|
||||
rc_proto "android/soong/cmd/release_config/release_config_proto"
|
||||
)
|
||||
|
||||
type Flags struct {
|
||||
@@ -62,18 +63,17 @@ func main() {
|
||||
}
|
||||
|
||||
flagArtifacts := rc_lib.FlagArtifactsFactory("")
|
||||
intermediates := []*rc_proto.FlagDeclarationArtifacts{}
|
||||
for _, intermediate := range flags.intermediates {
|
||||
fas := rc_lib.FlagArtifactsFactory(intermediate)
|
||||
for _, fa := range *fas {
|
||||
(*flagArtifacts)[*fa.FlagDeclaration.Name] = fa
|
||||
}
|
||||
fda := rc_lib.FlagDeclarationArtifactsFactory(intermediate)
|
||||
intermediates = append(intermediates, fda)
|
||||
}
|
||||
for _, decl := range flags.decls {
|
||||
fa := rc_lib.FlagArtifactFactory(decl)
|
||||
(*flagArtifacts)[*fa.FlagDeclaration.Name] = fa
|
||||
}
|
||||
|
||||
message := flagArtifacts.GenerateFlagDeclarationArtifacts()
|
||||
message := flagArtifacts.GenerateFlagDeclarationArtifacts(intermediates)
|
||||
err = rc_lib.WriteFormattedMessage(flags.output, flags.format, message)
|
||||
if err != nil {
|
||||
errorExit(err)
|
||||
|
@@ -102,11 +102,24 @@ func (fa *FlagArtifact) GenerateFlagDeclarationArtifact() *rc_proto.FlagDeclarat
|
||||
return ret
|
||||
}
|
||||
|
||||
func (fas *FlagArtifacts) GenerateFlagDeclarationArtifacts() *rc_proto.FlagDeclarationArtifacts {
|
||||
func FlagDeclarationArtifactsFactory(path string) *rc_proto.FlagDeclarationArtifacts {
|
||||
ret := &rc_proto.FlagDeclarationArtifacts{}
|
||||
if path != "" {
|
||||
LoadMessage(path, ret)
|
||||
} else {
|
||||
ret.FlagDeclarationArtifacts = []*rc_proto.FlagDeclarationArtifact{}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func (fas *FlagArtifacts) GenerateFlagDeclarationArtifacts(intermediates []*rc_proto.FlagDeclarationArtifacts) *rc_proto.FlagDeclarationArtifacts {
|
||||
ret := &rc_proto.FlagDeclarationArtifacts{FlagDeclarationArtifacts: []*rc_proto.FlagDeclarationArtifact{}}
|
||||
for _, fa := range *fas {
|
||||
ret.FlagDeclarationArtifacts = append(ret.FlagDeclarationArtifacts, fa.GenerateFlagDeclarationArtifact())
|
||||
}
|
||||
for _, fda := range intermediates {
|
||||
ret.FlagDeclarationArtifacts = append(ret.FlagDeclarationArtifacts, fda.FlagDeclarationArtifacts...)
|
||||
}
|
||||
slices.SortFunc(ret.FlagDeclarationArtifacts, func(a, b *rc_proto.FlagDeclarationArtifact) int {
|
||||
return cmp.Compare(*a.Name, *b.Name)
|
||||
})
|
||||
|
Reference in New Issue
Block a user