aboutsummaryrefslogtreecommitdiff
path: root/java/lint.go
diff options
context:
space:
mode:
authormosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
committermosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
commitc7bade461dc55726f62997d13a48582f7c4b4655 (patch)
treeea0588da76060a2038f54f67efd046ca77634b10 /java/lint.go
parent0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff)
parent89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff)
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits) Revert "install_symlink: Make symlink target configurable" Reapply "Clear as much of cc.Module as possible after GenerateBuildActions" Revert "rust: config: Fix missing CPU variant LD flags in Rust" Rename build-flag in outdir Revert^4 "cipd: Default CIPD proxy server to on, add opt-out" Convert check-vintf-all to phony with actions Create a partial implementation of check-vintf-all for soong-only Configure RBE rust pool based on build variant Revert^3 "Add sdk version check to arr" Add jdk.internal.invoke to the allowlist Make droid always depend on symbols zip Import Device and Odm skus Don't install gob_gen in Soong Remove bazel reference from run_integration_tests.sh Fix bootstrap_test.sh Don't panic in aconfig libraries when AllowMissingDependencies is set Avoid returning nil paths from PathForModuleSrc Revert "Flag controled clang version" Rework module target dependencies on required deps Revert^2 "Add sdk version check to arr" ... Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'java/lint.go')
-rw-r--r--java/lint.go37
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() {