summaryrefslogtreecommitdiff
path: root/fsgen/filesystem_creator.go
diff options
context:
space:
mode:
author Liana Kazanova <lkazanova@google.com> 2024-11-07 20:47:49 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-11-07 20:47:49 +0000
commit50cb131c37f5da3a9a9a2b51ac3a954e1ad81795 (patch)
treea6146874fef734dd093d6c444795f22b24c35cd1 /fsgen/filesystem_creator.go
parent1fa1c6db4f4d862f20b4789be4bc98e7f9be7c06 (diff)
Revert "Build vbmeta partitions with soong"
Revert submission 3341139-vbmeta_partitions_in_soong Reason for revert: DroidMonitor: Potential culprit for http://b/377943457. Reverted changes: /q/submissionid:3341139-vbmeta_partitions_in_soong Change-Id: I7a3aeacc91f17832688ee4d917cdee34db5d4a1b
Diffstat (limited to 'fsgen/filesystem_creator.go')
-rw-r--r--fsgen/filesystem_creator.go70
1 files changed, 10 insertions, 60 deletions
diff --git a/fsgen/filesystem_creator.go b/fsgen/filesystem_creator.go
index b580ea9b7..bdffabf41 100644
--- a/fsgen/filesystem_creator.go
+++ b/fsgen/filesystem_creator.go
@@ -44,9 +44,6 @@ func registerBuildComponents(ctx android.RegistrationContext) {
type filesystemCreatorProps struct {
Generated_partition_types []string `blueprint:"mutated"`
Unsupported_partition_types []string `blueprint:"mutated"`
-
- Vbmeta_module_names []string `blueprint:"mutated"`
- Vbmeta_partition_names []string `blueprint:"mutated"`
}
type filesystemCreator struct {
@@ -70,24 +67,16 @@ func filesystemCreatorFactory() android.Module {
}
func (f *filesystemCreator) createInternalModules(ctx android.LoadHookContext) {
- soongGeneratedPartitions := generatedPartitions(ctx)
- finalSoongGeneratedPartitions := make([]string, 0, len(soongGeneratedPartitions))
- for _, partitionType := range soongGeneratedPartitions {
+ soongGeneratedPartitions := &ctx.Config().Get(fsGenStateOnceKey).(*FsGenState).soongGeneratedPartitions
+ for _, partitionType := range *soongGeneratedPartitions {
if f.createPartition(ctx, partitionType) {
f.properties.Generated_partition_types = append(f.properties.Generated_partition_types, partitionType)
- finalSoongGeneratedPartitions = append(finalSoongGeneratedPartitions, partitionType)
} else {
f.properties.Unsupported_partition_types = append(f.properties.Unsupported_partition_types, partitionType)
+ _, *soongGeneratedPartitions = android.RemoveFromList(partitionType, *soongGeneratedPartitions)
}
}
-
- for _, x := range createVbmetaPartitions(ctx, finalSoongGeneratedPartitions) {
- f.properties.Vbmeta_module_names = append(f.properties.Vbmeta_module_names, x.moduleName)
- f.properties.Vbmeta_partition_names = append(f.properties.Vbmeta_partition_names, x.partitionName)
- }
-
- ctx.Config().Get(fsGenStateOnceKey).(*FsGenState).soongGeneratedPartitions = finalSoongGeneratedPartitions
- f.createDeviceModule(ctx, finalSoongGeneratedPartitions, f.properties.Vbmeta_module_names)
+ f.createDeviceModule(ctx)
}
func generatedModuleName(cfg android.Config, suffix string) string {
@@ -102,11 +91,7 @@ func generatedModuleNameForPartition(cfg android.Config, partitionType string) s
return generatedModuleName(cfg, fmt.Sprintf("%s_image", partitionType))
}
-func (f *filesystemCreator) createDeviceModule(
- ctx android.LoadHookContext,
- generatedPartitionTypes []string,
- vbmetaPartitions []string,
-) {
+func (f *filesystemCreator) createDeviceModule(ctx android.LoadHookContext) {
baseProps := &struct {
Name *string
}{
@@ -115,22 +100,21 @@ func (f *filesystemCreator) createDeviceModule(
// Currently, only the system and system_ext partition module is created.
partitionProps := &filesystem.PartitionNameProperties{}
- if android.InList("system", generatedPartitionTypes) {
+ if android.InList("system", f.properties.Generated_partition_types) {
partitionProps.System_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system"))
}
- if android.InList("system_ext", generatedPartitionTypes) {
+ if android.InList("system_ext", f.properties.Generated_partition_types) {
partitionProps.System_ext_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "system_ext"))
}
- if android.InList("vendor", generatedPartitionTypes) {
+ if android.InList("vendor", f.properties.Generated_partition_types) {
partitionProps.Vendor_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "vendor"))
}
- if android.InList("product", generatedPartitionTypes) {
+ if android.InList("product", f.properties.Generated_partition_types) {
partitionProps.Product_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "product"))
}
- if android.InList("odm", generatedPartitionTypes) {
+ if android.InList("odm", f.properties.Generated_partition_types) {
partitionProps.Odm_partition_name = proptools.StringPtr(generatedModuleNameForPartition(ctx.Config(), "odm"))
}
- partitionProps.Vbmeta_partitions = vbmetaPartitions
ctx.CreateModule(filesystem.AndroidDeviceFactory, baseProps, partitionProps)
}
@@ -350,15 +334,12 @@ func (f *filesystemCreator) createLinkerConfigSourceFilegroups(ctx android.LoadH
type filesystemBaseProperty struct {
Name *string
Compile_multilib *string
- Visibility []string
}
func generateBaseProps(namePtr *string) *filesystemBaseProperty {
return &filesystemBaseProperty{
Name: namePtr,
Compile_multilib: proptools.StringPtr("both"),
- // The vbmeta modules are currently in the root directory and depend on the partitions
- Visibility: []string{"//.", "//build/soong:__subpackages__"},
}
}
@@ -454,42 +435,16 @@ func createFailingCommand(ctx android.ModuleContext, message string) android.Pat
return file
}
-func createVbmetaDiff(ctx android.ModuleContext, vbmetaModuleName string, vbmetaPartitionName string) android.Path {
- vbmetaModule := ctx.GetDirectDepWithTag(vbmetaModuleName, generatedVbmetaPartitionDepTag)
- outputFilesProvider, ok := android.OtherModuleProvider(ctx, vbmetaModule, android.OutputFilesProvider)
- if !ok {
- ctx.ModuleErrorf("Expected module %s to provide OutputFiles", vbmetaModule)
- }
- if len(outputFilesProvider.DefaultOutputFiles) != 1 {
- ctx.ModuleErrorf("Expected 1 output file from module %s", vbmetaModule)
- }
- soongVbMetaFile := outputFilesProvider.DefaultOutputFiles[0]
- makeVbmetaFile := android.PathForArbitraryOutput(ctx, fmt.Sprintf("target/product/%s/%s.img", ctx.Config().DeviceName(), vbmetaPartitionName))
-
- diffTestResultFile := android.PathForModuleOut(ctx, fmt.Sprintf("diff_test_%s.txt", vbmetaModuleName))
- builder := android.NewRuleBuilder(pctx, ctx)
- builder.Command().Text("diff").
- Input(soongVbMetaFile).
- Input(makeVbmetaFile)
- builder.Command().Text("touch").Output(diffTestResultFile)
- builder.Build(vbmetaModuleName+" diff test", vbmetaModuleName+" diff test")
- return diffTestResultFile
-}
-
type systemImageDepTagType struct {
blueprint.BaseDependencyTag
}
var generatedFilesystemDepTag systemImageDepTagType
-var generatedVbmetaPartitionDepTag systemImageDepTagType
func (f *filesystemCreator) DepsMutator(ctx android.BottomUpMutatorContext) {
for _, partitionType := range f.properties.Generated_partition_types {
ctx.AddDependency(ctx.Module(), generatedFilesystemDepTag, generatedModuleNameForPartition(ctx.Config(), partitionType))
}
- for _, vbmetaModule := range f.properties.Vbmeta_module_names {
- ctx.AddDependency(ctx.Module(), generatedVbmetaPartitionDepTag, vbmetaModule)
- }
}
func (f *filesystemCreator) GenerateAndroidBuildActions(ctx android.ModuleContext) {
@@ -519,11 +474,6 @@ func (f *filesystemCreator) GenerateAndroidBuildActions(ctx android.ModuleContex
diffTestFiles = append(diffTestFiles, diffTestFile)
ctx.Phony(fmt.Sprintf("soong_generated_%s_filesystem_test", partitionType), diffTestFile)
}
- for i, vbmetaModule := range f.properties.Vbmeta_module_names {
- diffTestFile := createVbmetaDiff(ctx, vbmetaModule, f.properties.Vbmeta_partition_names[i])
- diffTestFiles = append(diffTestFiles, diffTestFile)
- ctx.Phony(fmt.Sprintf("soong_generated_%s_filesystem_test", f.properties.Vbmeta_partition_names[i]), diffTestFile)
- }
ctx.Phony("soong_generated_filesystem_tests", diffTestFiles...)
}