Merge "Revert^3 "Implement detecting container violations."" into main
diff --git a/android/module.go b/android/module.go
index 5d68a87..4e46bdb 100644
--- a/android/module.go
+++ b/android/module.go
@@ -111,10 +111,6 @@
TargetRequiredModuleNames() []string
VintfFragmentModuleNames(ctx ConfigAndErrorContext) []string
- // TransitivePackagingSpecs returns the PackagingSpecs for this module and any transitive
- // dependencies with dependency tags for which IsInstallDepNeeded() returns true.
- TransitivePackagingSpecs() []PackagingSpec
-
ConfigurableEvaluator(ctx ConfigAndErrorContext) proptools.ConfigurableEvaluator
// Get the information about the containers this module belongs to.
@@ -833,8 +829,7 @@
// The primary licenses property, may be nil, records license metadata for the module.
primaryLicensesProperty applicableLicensesProperty
- noAddressSanitizer bool
- packagingSpecsDepSet *DepSet[PackagingSpec]
+ noAddressSanitizer bool
hooks hooks
@@ -1451,10 +1446,6 @@
return IsInstallDepNeededTag(tag)
}
-func (m *ModuleBase) TransitivePackagingSpecs() []PackagingSpec {
- return m.packagingSpecsDepSet.ToList()
-}
-
func (m *ModuleBase) NoAddressSanitizer() bool {
return m.noAddressSanitizer
}
@@ -1989,8 +1980,7 @@
ctx.TransitiveInstallFiles = NewDepSet[InstallPath](TOPOLOGICAL, ctx.installFiles, dependencyInstallFiles)
installFiles.TransitiveInstallFiles = ctx.TransitiveInstallFiles
- m.packagingSpecsDepSet = NewDepSet[PackagingSpec](TOPOLOGICAL, ctx.packagingSpecs, dependencyPackagingSpecs)
- installFiles.TransitivePackagingSpecs = m.packagingSpecsDepSet
+ installFiles.TransitivePackagingSpecs = NewDepSet[PackagingSpec](TOPOLOGICAL, ctx.packagingSpecs, dependencyPackagingSpecs)
SetProvider(ctx, InstallFilesProvider, installFiles)
buildLicenseMetadata(ctx, ctx.licenseMetadataFile)
diff --git a/filesystem/logical_partition.go b/filesystem/logical_partition.go
index e483fe4..988a57b 100644
--- a/filesystem/logical_partition.go
+++ b/filesystem/logical_partition.go
@@ -146,9 +146,16 @@
partitionNames[pName] = true
}
// Get size of the partition by reading the -size.txt file
- pSize := fmt.Sprintf("$(cat %s)", sparseImageSizes[pName])
+ var pSize string
+ if size, hasSize := sparseImageSizes[pName]; hasSize {
+ pSize = fmt.Sprintf("$(cat %s)", size)
+ } else {
+ pSize = "0"
+ }
cmd.FlagWithArg("--partition=", fmt.Sprintf("%s:readonly:%s:%s", pName, pSize, gName))
- cmd.FlagWithInput("--image="+pName+"=", sparseImages[pName])
+ if image, hasImage := sparseImages[pName]; hasImage {
+ cmd.FlagWithInput("--image="+pName+"=", image)
+ }
}
}
@@ -192,6 +199,9 @@
// Add a rule that converts the filesystem for the given partition to the given rule builder. The
// path to the sparse file and the text file having the size of the partition are returned.
func sparseFilesystem(ctx android.ModuleContext, p partitionProperties, builder *android.RuleBuilder) (sparseImg android.OutputPath, sizeTxt android.OutputPath) {
+ if p.Filesystem == nil {
+ return
+ }
img := android.PathForModuleSrc(ctx, proptools.String(p.Filesystem))
name := proptools.String(p.Name)
sparseImg = android.PathForModuleOut(ctx, name+".img").OutputPath
diff --git a/genrule/genrule.go b/genrule/genrule.go
index 39dd770..fd72d3c 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -253,13 +253,21 @@
// soong plugins cannot add entries to the allowlist
func isModuleInBuildNumberAllowlist(ctx android.ModuleContext) bool {
allowlist := ctx.Config().Once(buildNumberAllowlistKey, func() interface{} {
- return map[string]bool{
+ // Define the allowlist as a list and then copy it into a map so that
+ // gofmt doesn't change unnecessary lines trying to align the values of the map.
+ allowlist := []string{
// go/keep-sorted start
- "build/soong/tests:gen": true,
- "hardware/google/camera/common/hal/aidl_service:aidl_camera_build_version": true,
- "tools/tradefederation/core:tradefed_zip": true,
+ "build/soong/tests:gen",
+ "hardware/google/camera/common/hal/aidl_service:aidl_camera_build_version",
+ "tools/tradefederation/core:tradefed_zip",
+ "vendor/google/services/LyricCameraHAL/src/apex:com.google.pixel.camera.hal.manifest",
// go/keep-sorted end
}
+ allowlistMap := make(map[string]bool, len(allowlist))
+ for _, a := range allowlist {
+ allowlistMap[a] = true
+ }
+ return allowlistMap
}).(map[string]bool)
_, ok := allowlist[ctx.ModuleDir()+":"+ctx.ModuleName()]
diff --git a/java/droidstubs.go b/java/droidstubs.go
index d622903..137ec92 100644
--- a/java/droidstubs.go
+++ b/java/droidstubs.go
@@ -970,6 +970,11 @@
d.apiLintReport = android.PathForModuleOut(ctx, Everything.String(), "api_lint_report.txt")
cmd.FlagWithOutput("--report-even-if-suppressed ", d.apiLintReport) // TODO: Change to ":api-lint"
+ // Make sure that existing UnflaggedApi issues are reported as warnings but issues in
+ // new/changed code are treated as errors by the Build Warnings Aye Aye Analyzer in Gerrit.
+ // Once existing issues have been fixed this will be changed to error.
+ cmd.Flag("--error-when-new UnflaggedApi")
+
// TODO(b/154317059): Clean up this allowlist by baselining and/or checking in last-released.
if d.Name() != "android.car-system-stubs-docs" &&
d.Name() != "android.car-stubs-docs" {