From 63c5e192c3af178d5747a03d8819999b5da53c6d Mon Sep 17 00:00:00 2001 From: yangbill Date: Wed, 27 Mar 2024 09:02:12 +0000 Subject: [PATCH] Add support for prebuilt_usr_hyphendata type Bug: 331551860 Test: cd build/soong/etc ; go test -run \ TestPrebuiltPrebuiltUserHyphenDataInstallDirPath Change-Id: I78d647eea9a84665dd9c78940c51d2fb948c04f8 --- etc/prebuilt_etc.go | 12 ++++++++++++ etc/prebuilt_etc_test.go | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/etc/prebuilt_etc.go b/etc/prebuilt_etc.go index a42c576d5..21a18dfd4 100644 --- a/etc/prebuilt_etc.go +++ b/etc/prebuilt_etc.go @@ -57,6 +57,7 @@ func RegisterPrebuiltEtcBuildComponents(ctx android.RegistrationContext) { ctx.RegisterModuleType("prebuilt_root_host", PrebuiltRootHostFactory) ctx.RegisterModuleType("prebuilt_usr_share", PrebuiltUserShareFactory) ctx.RegisterModuleType("prebuilt_usr_share_host", PrebuiltUserShareHostFactory) + ctx.RegisterModuleType("prebuilt_usr_hyphendata", PrebuiltUserHyphenDataFactory) ctx.RegisterModuleType("prebuilt_font", PrebuiltFontFactory) ctx.RegisterModuleType("prebuilt_firmware", PrebuiltFirmwareFactory) ctx.RegisterModuleType("prebuilt_dsp", PrebuiltDSPFactory) @@ -611,6 +612,17 @@ func PrebuiltUserShareHostFactory() android.Module { return module } +// prebuilt_usr_hyphendata is for a prebuilt artifact that is installed in +// /usr/hyphen-data/ directory. +func PrebuiltUserHyphenDataFactory() android.Module { + module := &PrebuiltEtc{} + InitPrebuiltEtcModule(module, "usr/hyphen-data") + // This module is device-only + android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibFirst) + android.InitDefaultableModule(module) + return module +} + // prebuilt_font installs a font in /fonts directory. func PrebuiltFontFactory() android.Module { module := &PrebuiltEtc{} diff --git a/etc/prebuilt_etc_test.go b/etc/prebuilt_etc_test.go index 1d9aa8e58..e346bd79f 100644 --- a/etc/prebuilt_etc_test.go +++ b/etc/prebuilt_etc_test.go @@ -287,6 +287,20 @@ func TestPrebuiltUserShareHostInstallDirPath(t *testing.T) { android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) } +func TestPrebuiltPrebuiltUserHyphenDataInstallDirPath(t *testing.T) { + result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` + prebuilt_usr_hyphendata { + 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/hyphen-data/bar" + android.AssertPathRelativeToTopEquals(t, "install dir", expected, p.installDirPath) +} + func TestPrebuiltFontInstallDirPath(t *testing.T) { result := prepareForPrebuiltEtcTest.RunTestWithBp(t, ` prebuilt_font {