Merge logtags from cc modules too

Merged logtags files will be used for Soong built filesystem images.

Bug: 336189540
Test: m out/soong/.intermediates/all-event-log-tags.txt
Test: m out/target/common/obj/all-event-log-tags.txt
Change-Id: Ib590c2bc8073e9acee6b45ef08092768237cf9d3
This commit is contained in:
Inseob Kim
2024-04-29 15:54:44 +09:00
parent 2d5e7579d4
commit 37e0bb0db4
8 changed files with 72 additions and 48 deletions

View File

@@ -92,11 +92,7 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
ExtraEntries: []android.AndroidMkExtraEntriesFunc{
func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
if len(library.logtagsSrcs) > 0 {
var logtags []string
for _, l := range library.logtagsSrcs {
logtags = append(logtags, l.Rel())
}
entries.AddStrings("LOCAL_LOGTAGS_FILES", logtags...)
entries.AddStrings("LOCAL_SOONG_LOGTAGS_FILES", library.logtagsSrcs.Strings()...)
}
if library.installFile == nil {

View File

@@ -27,7 +27,6 @@ import (
func init() {
pctx.SourcePathVariable("logtagsCmd", "build/make/tools/java-event-log-tags.py")
pctx.SourcePathVariable("mergeLogtagsCmd", "build/make/tools/merge-event-log-tags.py")
pctx.SourcePathVariable("logtagsLib", "build/make/tools/event_log_tags.py")
}
@@ -37,12 +36,6 @@ var (
Command: "$logtagsCmd -o $out $in",
CommandDeps: []string{"$logtagsCmd", "$logtagsLib"},
})
mergeLogtags = pctx.AndroidStaticRule("mergeLogtags",
blueprint.RuleParams{
Command: "$mergeLogtagsCmd -o $out $in",
CommandDeps: []string{"$mergeLogtagsCmd", "$logtagsLib"},
})
)
func genAidl(ctx android.ModuleContext, aidlFiles android.Paths, aidlGlobalFlags string, aidlIndividualFlags map[string]string, deps android.Paths) android.Paths {
@@ -178,37 +171,9 @@ func (j *Module) genSources(ctx android.ModuleContext, srcFiles android.Paths,
outSrcFiles = append(outSrcFiles, srcJarFiles...)
}
android.SetProvider(ctx, android.LogtagsProviderKey, &android.LogtagsInfo{
Logtags: j.logtagsSrcs,
})
return outSrcFiles
}
func LogtagsSingleton() android.Singleton {
return &logtagsSingleton{}
}
type logtagsProducer interface {
logtags() android.Paths
}
func (j *Module) logtags() android.Paths {
return j.logtagsSrcs
}
var _ logtagsProducer = (*Module)(nil)
type logtagsSingleton struct{}
func (l *logtagsSingleton) GenerateBuildActions(ctx android.SingletonContext) {
var allLogtags android.Paths
ctx.VisitAllModules(func(module android.Module) {
if logtags, ok := module.(logtagsProducer); ok {
allLogtags = append(allLogtags, logtags.logtags()...)
}
})
ctx.Build(pctx, android.BuildParams{
Rule: mergeLogtags,
Description: "merge logtags",
Output: android.PathForIntermediates(ctx, "all-event-log-tags.txt"),
Inputs: allLogtags,
})
}

View File

@@ -75,7 +75,6 @@ func registerJavaBuildComponents(ctx android.RegistrationContext) {
ctx.BottomUp("jacoco_deps", jacocoDepsMutator).Parallel()
})
ctx.RegisterParallelSingletonType("logtags", LogtagsSingleton)
ctx.RegisterParallelSingletonType("kythe_java_extract", kytheExtractJavaFactory)
}