diff options
| author | yangbill <yangbill@google.com> | 2024-04-30 08:24:50 +0000 |
|---|---|---|
| committer | Julian Veit <Claymore1298@gmail.com> | 2024-09-19 11:24:53 +0200 |
| commit | 079882451f9d84109cf8331b4985b6b5288b33cd (patch) | |
| tree | 59aaf9a23e93e6e22d1e5f084e176e0d51a33e50 | |
| parent | 9d007504b6c894dcedb00cd76e4565e2ce8894f6 (diff) | |
Add support for keyboard prebuilt module type
Add 3 different module type:
- prebuilt_usr_keylayout
- prebuilt_usr_keychars
- prebuilt_usr_idc
Bug: 337998675
Test: cd build/soong/etc ; go test -run \
TestPrebuiltPrebuiltUserKeyLayoutInstallDirPath
Test: cd build/soong/etc ; go test -run \
TestPrebuiltPrebuiltUserKeyCharsInstallDirPath
Test: cd build/soong/etc ; go test -run \
TestPrebuiltPrebuiltUserIdcInstallDirPath
Change-Id: I5bafbc48dd0edd0d06783b89b904330a2a30c743
| -rw-r--r-- | etc/prebuilt_etc.go | 36 | ||||
| -rw-r--r-- | etc/prebuilt_etc_test.go | 42 |
2 files changed, 78 insertions, 0 deletions
diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go index 9c5173514..563f629c3 100644 --- a/etc/prebuilt_etc.go +++ b/etc/prebuilt_etc.go @@ -58,6 +58,9 @@ func RegisterPrebuiltEtcBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("prebuilt_usr_share", PrebuiltUserShareFactory) ctx.RegisterModuleType("prebuilt_usr_share_host", PrebuiltUserShareHostFactory) ctx.RegisterModuleType("prebuilt_usr_hyphendata", PrebuiltUserHyphenDataFactory) + ctx.RegisterModuleType("prebuilt_usr_keylayout", PrebuiltUserKeyLayoutFactory) + ctx.RegisterModuleType("prebuilt_usr_keychars", PrebuiltUserKeyCharsFactory) + ctx.RegisterModuleType("prebuilt_usr_idc", PrebuiltUserIdcFactory) ctx.RegisterModuleType("prebuilt_font", PrebuiltFontFactory) ctx.RegisterModuleType("prebuilt_firmware", PrebuiltFirmwareFactory) ctx.RegisterModuleType("prebuilt_dsp", PrebuiltDSPFactory) @@ -622,6 +625,39 @@ func PrebuiltUserHyphenDataFactory() android.Module { return module } +// prebuilt_usr_keylayout is for a prebuilt artifact that is installed in +// <partition>/usr/keylayout/<sub_dir> directory. +func PrebuiltUserKeyLayoutFactory() android.Module { + module := &PrebuiltEtc{} + InitPrebuiltEtcModule(module, "usr/keylayout") + // This module is device-only + android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibFirst) + android.InitDefaultableModule(module) + return module +} + +// prebuilt_usr_keychars is for a prebuilt artifact that is installed in +// <partition>/usr/keychars/<sub_dir> directory. +func PrebuiltUserKeyCharsFactory() android.Module { + module := &PrebuiltEtc{} + InitPrebuiltEtcModule(module, "usr/keychars") + // This module is device-only + android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibFirst) + android.InitDefaultableModule(module) + return module +} + +// prebuilt_usr_idc is for a prebuilt artifact that is installed in +// <partition>/usr/idc/<sub_dir> directory. +func PrebuiltUserIdcFactory() android.Module { + module := &PrebuiltEtc{} + InitPrebuiltEtcModule(module, "usr/idc") + // This module is device-only + android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibFirst) + android.InitDefaultableModule(module) + return module +} + // prebuilt_font installs a font in <partition>/fonts directory. func PrebuiltFontFactory() android.Module { module := &PrebuiltEtc{} diff --git a/etc/prebuilt_etc_test.go b/etc/prebuilt_etc_test.go index e346bd79f..4993dfd73 100644 --- a/etc/prebuilt_etc_test.go +++ b/etc/prebuilt_etc_test.go @@ -301,6 +301,48 @@ func TestPrebuiltPrebuiltUserHyphenDataInstallDirPath(t *testing.T) { android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) } +func TestPrebuiltPrebuiltUserKeyLayoutInstallDirPath(t *testing.T) { + result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` + prebuilt_usr_keylayout { + name: "foo.conf", + src: "foo.conf", + sub_dir: "bar", + } + `) + + p := result.Module("foo.conf", "android_arm64_armv8-a").(*PrebuiltEtc) + expected := "out/soong/target/product/test_device/system/usr/keylayout/bar" + android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) +} + +func TestPrebuiltPrebuiltUserKeyCharsInstallDirPath(t *testing.T) { + result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` + prebuilt_usr_keychars { + name: "foo.conf", + src: "foo.conf", + sub_dir: "bar", + } + `) + + p := result.Module("foo.conf", "android_arm64_armv8-a").(*PrebuiltEtc) + expected := "out/soong/target/product/test_device/system/usr/keychars/bar" + android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) +} + +func TestPrebuiltPrebuiltUserIdcInstallDirPath(t *testing.T) { + result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` + prebuilt_usr_idc { + name: "foo.conf", + src: "foo.conf", + sub_dir: "bar", + } + `) + + p := result.Module("foo.conf", "android_arm64_armv8-a").(*PrebuiltEtc) + expected := "out/soong/target/product/test_device/system/usr/idc/bar" + android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) +} + func TestPrebuiltFontInstallDirPath(t *testing.T) { result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` prebuilt_font { |
