diff options
Diffstat (limited to 'filesystem')
| -rw-r--r-- | filesystem/Android.bp | 1 | ||||
| -rw-r--r-- | filesystem/android_device.go | 73 | ||||
| -rw-r--r-- | filesystem/filesystem.go | 2 |
3 files changed, 75 insertions, 1 deletions
diff --git a/filesystem/Android.bp b/filesystem/Android.bp index a08f7cf17..23ec3da81 100644 --- a/filesystem/Android.bp +++ b/filesystem/Android.bp @@ -16,6 +16,7 @@ bootstrap_go_package { ], srcs: [ "aconfig_files.go", + "android_device.go", "avb_add_hash_footer.go", "avb_gen_vbmeta_image.go", "bootimg.go", diff --git a/filesystem/android_device.go b/filesystem/android_device.go new file mode 100644 index 000000000..68e60532e --- /dev/null +++ b/filesystem/android_device.go @@ -0,0 +1,73 @@ +// Copyright (C) 2024 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package filesystem + +import ( + "android/soong/android" + + "github.com/google/blueprint" + "github.com/google/blueprint/proptools" +) + +type PartitionNameProperties struct { + // Name of the Boot_partition_name partition filesystem module + Boot_partition_name *string + // Name of the System partition filesystem module + System_partition_name *string + // Name of the System_ext partition filesystem module + System_ext_partition_name *string + // Name of the Product partition filesystem module + Product_partition_name *string + // Name of the Vendor partition filesystem module + Vendor_partition_name *string +} + +type androidDevice struct { + android.ModuleBase + + partitionProps PartitionNameProperties +} + +func AndroidDeviceFactory() android.Module { + module := &androidDevice{} + module.AddProperties(&module.partitionProps) + android.InitAndroidMultiTargetsArchModule(module, android.DeviceSupported, android.MultilibCommon) + + return module +} + +type partitionDepTagType struct { + blueprint.BaseDependencyTag +} + +var filesystemDepTag partitionDepTagType + +func (a *androidDevice) DepsMutator(ctx android.BottomUpMutatorContext) { + addDependencyIfDefined := func(dep *string) { + if dep != nil { + ctx.AddDependency(ctx.Module(), filesystemDepTag, proptools.String(dep)) + } + } + + addDependencyIfDefined(a.partitionProps.Boot_partition_name) + addDependencyIfDefined(a.partitionProps.System_partition_name) + addDependencyIfDefined(a.partitionProps.System_ext_partition_name) + addDependencyIfDefined(a.partitionProps.Product_partition_name) + addDependencyIfDefined(a.partitionProps.Vendor_partition_name) +} + +func (a *androidDevice) GenerateAndroidBuildActions(ctx android.ModuleContext) { + +} diff --git a/filesystem/filesystem.go b/filesystem/filesystem.go index 09d8fba5e..9b3eae471 100644 --- a/filesystem/filesystem.go +++ b/filesystem/filesystem.go @@ -434,7 +434,7 @@ func (f *filesystem) buildPropFile(ctx android.ModuleContext) (propFile android. // Type string that build_image.py accepts. fsTypeStr := func(t fsType) string { switch t { - // TODO(jiyong): add more types like f2fs, erofs, etc. + // TODO(372522486): add more types like f2fs, erofs, etc. case ext4Type: return "ext4" } |