From f0f18591a565a38450d78fb516ba8be6c8afcf41 Mon Sep 17 00:00:00 2001 From: Ted Bauer Date: Tue, 23 Apr 2024 18:25:26 +0000 Subject: [PATCH] Add aconfig storage API deps to codegened lib Change-Id: I4991c9fccb0a0bab15457883cf20aacb3142c4cf --- aconfig/codegen/cc_aconfig_library.go | 10 ++++ aconfig/codegen/cc_aconfig_library_test.go | 65 ++++++++++++++++++++++ apex/aconfig_test.go | 36 ++++++++++++ apex/apex_test.go | 12 ++++ 4 files changed, 123 insertions(+) diff --git a/aconfig/codegen/cc_aconfig_library.go b/aconfig/codegen/cc_aconfig_library.go index 80e492620..2d3ee39f9 100644 --- a/aconfig/codegen/cc_aconfig_library.go +++ b/aconfig/codegen/cc_aconfig_library.go @@ -33,6 +33,11 @@ var ccDeclarationsTag = ccDeclarationsTagType{} const baseLibDep = "server_configurable_flags" +const libBaseDep = "libbase" +const libLogDep = "liblog" +const libAconfigStorageReadApiCcDep = "libaconfig_storage_read_api_cc" +const libAconfigStorageProtosCcDep = "libaconfig_storage_protos_cc" + type CcAconfigLibraryProperties struct { // name of the aconfig_declarations module to generate a library for Aconfig_declarations string @@ -82,6 +87,11 @@ func (this *CcAconfigLibraryCallbacks) GeneratorDeps(ctx cc.DepsContext, deps cc // Add a dependency for the aconfig flags base library if it is not forced read only if mode != "force-read-only" { deps.SharedLibs = append(deps.SharedLibs, baseLibDep) + + deps.SharedLibs = append(deps.SharedLibs, libBaseDep) + deps.SharedLibs = append(deps.SharedLibs, libLogDep) + deps.SharedLibs = append(deps.SharedLibs, libAconfigStorageReadApiCcDep) + deps.SharedLibs = append(deps.SharedLibs, libAconfigStorageProtosCcDep) } // TODO: It'd be really nice if we could reexport this library and not make everyone do it. diff --git a/aconfig/codegen/cc_aconfig_library_test.go b/aconfig/codegen/cc_aconfig_library_test.go index 05449bc6c..2e7fdc2c1 100644 --- a/aconfig/codegen/cc_aconfig_library_test.go +++ b/aconfig/codegen/cc_aconfig_library_test.go @@ -58,6 +58,26 @@ func testCCCodegenModeHelper(t *testing.T, bpMode string, ruleMode string) { srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + + cc_library { + name: "liblog", + srcs: ["liblog.cc"], + } + + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } + cc_aconfig_library { name: "my_cc_aconfig_library", aconfig_declarations: "my_aconfig_declarations", @@ -100,6 +120,27 @@ func testIncorrectCCCodegenModeHelper(t *testing.T, bpMode string, err string) { srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + + cc_library { + name: "liblog", + srcs: ["liblog.cc"], + } + + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } + + cc_aconfig_library { name: "my_cc_aconfig_library", aconfig_declarations: "my_aconfig_declarations", @@ -152,6 +193,30 @@ func TestAndroidMkCcLibrary(t *testing.T) { srcs: ["server_configurable_flags.cc"], vendor_available: true, } + + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + vendor_available: true, + } + + cc_library { + name: "liblog", + srcs: ["liblog.cc"], + vendor_available: true, + } + + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + vendor_available: true, + } + + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + vendor_available: true, + } ` result := android.GroupFixturePreparers( PrepareForTestWithAconfigBuildComponents, diff --git a/apex/aconfig_test.go b/apex/aconfig_test.go index 3e44f0b1b..3de928633 100644 --- a/apex/aconfig_test.go +++ b/apex/aconfig_test.go @@ -162,6 +162,18 @@ func TestValidationAcrossContainersExportedPass(t *testing.T) { name: "server_configurable_flags", srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } aconfig_declarations { name: "my_aconfig_declarations_bar", package: "com.example.package", @@ -410,6 +422,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { name: "server_configurable_flags", srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } aconfig_declarations { name: "my_aconfig_declarations_foo", package: "com.example.package", @@ -460,6 +484,18 @@ func TestValidationAcrossContainersNotExportedFail(t *testing.T) { name: "server_configurable_flags", srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } aconfig_declarations { name: "my_aconfig_declarations_foo", package: "com.example.package", diff --git a/apex/apex_test.go b/apex/apex_test.go index 2441b023b..8a3735cbe 100644 --- a/apex/apex_test.go +++ b/apex/apex_test.go @@ -10691,6 +10691,18 @@ func TestAconfigFilesJavaAndCcDeps(t *testing.T) { name: "server_configurable_flags", srcs: ["server_configurable_flags.cc"], } + cc_library { + name: "libbase", + srcs: ["libbase.cc"], + } + cc_library { + name: "libaconfig_storage_read_api_cc", + srcs: ["libaconfig_storage_read_api_cc.cc"], + } + cc_library { + name: "libaconfig_storage_protos_cc", + srcs: ["libaconfig_storage_protos_cc.cc"], + } `) mod := ctx.ModuleForTests("myapex", "android_common_myapex")