diff options
Diffstat (limited to 'java/lint.go')
| -rw-r--r-- | java/lint.go | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/java/lint.go b/java/lint.go index dc1e51ffb..7f6c67a5a 100644 --- a/java/lint.go +++ b/java/lint.go @@ -28,6 +28,8 @@ import ( "android/soong/remoteexec" ) +//go:generate go run ../../blueprint/gobtools/codegen/gob_gen.go + // lint checks automatically enforced for modules that have different min_sdk_version than // sdk_version var updatabilityChecks = []string{"NewApi"} @@ -196,6 +198,7 @@ var allLintDatabasefiles = map[android.SdkKind]lintDatabaseFiles{ var LintProvider = blueprint.NewProvider[*LintInfo]() +// @auto-generate: gob type LintInfo struct { HTML android.Path Text android.Path @@ -580,9 +583,31 @@ func BuildModuleLintReportZips(ctx android.ModuleContext, depSets LintDepSets, v xmlZip := android.PathForModuleOut(ctx, "lint-report-xml.zip") lintZip(ctx, xmlList, xmlZip, validations) + android.SetProvider(ctx, ModuleLintReportZipsProvider, ModuleLintReportZipsInfo{ + HtmlZip: htmlZip, + TextZip: textZip, + XmlZip: xmlZip, + }) + return android.Paths{htmlZip, textZip, xmlZip} } +type ModuleLintReportZipsInfo struct { + HtmlZip android.Path + TextZip android.Path + XmlZip android.Path +} + +func (i *ModuleLintReportZipsInfo) AllReports() android.Paths { + return android.Paths{ + i.HtmlZip, + i.TextZip, + i.XmlZip, + } +} + +var ModuleLintReportZipsProvider = blueprint.NewProvider[ModuleLintReportZipsInfo]() + type lintSingleton struct { htmlZip android.WritablePath textZip android.WritablePath @@ -652,19 +677,20 @@ func copiedLintDatabaseFilesPath(ctx android.PathContext, name string) android.W } func (l *lintSingleton) generateLintReportZips(ctx android.SingletonContext) { + // Dists of lint reports in unbundled builds is handled by unbundled_builder in unbundled.go if ctx.Config().UnbundledBuild() { return } var outputs []*LintInfo - var dirs []string ctx.VisitAllModuleProxies(func(m android.ModuleProxy) { commonInfo := android.OtherModulePointerProviderOrDefault(ctx, m, android.CommonModuleInfoProvider) + platformAvailabilitInfo := android.OtherModuleProviderOrDefault(ctx, m, android.PlatformAvailabilityInfoProvider) if ctx.Config().KatiEnabled() && !commonInfo.ExportedToMake { return } - if commonInfo.IsApexModule && commonInfo.NotAvailableForPlatform { + if commonInfo.IsApexModule && platformAvailabilitInfo.NotAvailableToPlatform { apexInfo, _ := android.OtherModuleProvider(ctx, m, android.ApexInfoProvider) if apexInfo.IsForPlatform() { // There are stray platform variants of modules in apexes that are not available for @@ -678,8 +704,6 @@ func (l *lintSingleton) generateLintReportZips(ctx android.SingletonContext) { } }) - dirs = android.SortedUniqueStrings(dirs) - zip := func(outputPath android.WritablePath, get func(*LintInfo) android.Path) { var paths android.Paths @@ -705,10 +729,7 @@ func (l *lintSingleton) generateLintReportZips(ctx android.SingletonContext) { zip(l.referenceBaselineZip, func(l *LintInfo) android.Path { return l.ReferenceBaseline }) ctx.Phony("lint-check", l.htmlZip, l.textZip, l.xmlZip, l.referenceBaselineZip) - - if !ctx.Config().UnbundledBuild() { - ctx.DistForGoal("lint-check", l.htmlZip, l.textZip, l.xmlZip, l.referenceBaselineZip) - } + ctx.DistForGoal("lint-check", l.htmlZip, l.textZip, l.xmlZip, l.referenceBaselineZip) } func init() { |
