Add aconfig storage API deps to codegened lib

Change-Id: I4991c9fccb0a0bab15457883cf20aacb3142c4cf
This commit is contained in:
Ted Bauer 2024-04-23 18:25:26 +00:00
parent a4362b937a
commit f0f18591a5
4 changed files with 123 additions and 0 deletions

View file

@ -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.

View file

@ -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,

View file

@ -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",

View file

@ -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")