blob: 628fe5b0e67a51aed5e75e0c49f75df2885f6bff [file] [log] [blame]
Zhi Dou709eb6d2023-06-16 17:34:10 +00001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
Zhi Dou648c0812023-06-22 19:42:48 +00004
Zhi Dou32120e42023-08-31 18:22:19 +00005android_app {
6 name: "AconfigDemoActivity",
Zhi Dou648c0812023-06-22 19:42:48 +00007 manifest: "AndroidManifest.xml",
Zhi Dou52f94982023-06-23 22:35:41 +00008 srcs: [
Oriol Prieto Gascoca2b99f2024-01-09 19:09:25 +00009 "src/**/*.java",
Zhi Dou52f94982023-06-23 22:35:41 +000010 ],
Dennis Shen22860d22023-07-28 19:14:09 +000011 platform_apis: true,
Zhi Dou648c0812023-06-22 19:42:48 +000012 certificate: "platform",
Zhi Dou648c0812023-06-22 19:42:48 +000013 static_libs: [
Zhi Dou32120e42023-08-31 18:22:19 +000014 "ContentLibs",
Zhi Dou52f94982023-06-23 22:35:41 +000015 "dagger2",
16 "jsr330",
Zhi Dou648c0812023-06-22 19:42:48 +000017 ],
Dennis Shen22860d22023-07-28 19:14:09 +000018 jni_libs: [
19 "libexample_cpp_lib",
20 ],
Dennis Shenf422a8b2023-08-11 18:12:26 +000021 required: ["libexample_rust_jni"],
Zhi Dou32120e42023-08-31 18:22:19 +000022 plugins: ["dagger2-compiler"],
23 optimize: {
24 proguard_flags_files: ["proguard.flags"],
25 },
Zhi Dou3c4cc122023-08-16 15:14:48 +000026}
27
Zhi Dou648c0812023-06-22 19:42:48 +000028aconfig_declarations {
29 name: "aconfig_demo_flags",
Zhi Dou52f94982023-06-23 22:35:41 +000030 package: "com.example.android.aconfig.demo.flags",
Oriol Prieto Gascoca2b99f2024-01-09 19:09:25 +000031 container: "system",
Zhi Dou648c0812023-06-22 19:42:48 +000032 srcs: ["aconfig_demo_flags.aconfig"],
33}
34
Zhi Dou648c0812023-06-22 19:42:48 +000035java_aconfig_library {
Dennis Shen22860d22023-07-28 19:14:09 +000036 name: "aconfig_demo_flags_java_lib",
Zhi Dou648c0812023-06-22 19:42:48 +000037 aconfig_declarations: "aconfig_demo_flags",
38}
39
Zhi Dou4a8cecd2023-07-28 21:38:35 +000040filegroup {
41 name: "ContentLibsFile",
42 srcs: [
43 "lib/**/*.java",
44 ],
45}
46
Zhi Dou3c4cc122023-08-16 15:14:48 +000047java_defaults {
48 name: "ContentLibsDefault",
49 sdk_version: "current",
Zhi Dou648c0812023-06-22 19:42:48 +000050 srcs: [
Zhi Dou4a8cecd2023-07-28 21:38:35 +000051 ":ContentLibsFile",
Zhi Dou648c0812023-06-22 19:42:48 +000052 ],
Zhi Dou3c4cc122023-08-16 15:14:48 +000053 libs: ["jsr330"],
54}
55
56java_library {
57 name: "ContentLibs",
58 defaults: ["ContentLibsDefault"],
Zhi Dou648c0812023-06-22 19:42:48 +000059 static_libs: [
Dennis Shen22860d22023-07-28 19:14:09 +000060 "aconfig_demo_flags_java_lib",
Zhi Dou648c0812023-06-22 19:42:48 +000061 ],
62}
Dennis Shen22860d22023-07-28 19:14:09 +000063
64cc_aconfig_library {
65 name: "aconfig_demo_flags_c_lib",
66 aconfig_declarations: "aconfig_demo_flags",
67}
68
69cc_library {
70 name: "libexample_cpp_lib",
71 srcs: ["src/example_cpp_lib.cc"],
72 double_loadable: true,
73 cflags: [
74 "-Wall",
75 "-Werror",
76 "-Wno-unused-function",
77 "-Wno-unused-parameter",
78 ],
79 header_libs: [
Oriol Prieto Gascoca2b99f2024-01-09 19:09:25 +000080 "jni_headers",
Dennis Shen22860d22023-07-28 19:14:09 +000081 ],
82 shared_libs: [
83 "server_configurable_flags",
84 ],
85 static_libs: [
86 "aconfig_demo_flags_c_lib",
87 ],
88 export_include_dirs: ["src/include"],
89}
Dennis Shenf422a8b2023-08-11 18:12:26 +000090
91rust_aconfig_library {
92 name: "libaconfig_demo_flags_rust",
93 crate_name: "aconfig_demo_flags_rust",
94 aconfig_declarations: "aconfig_demo_flags",
95}
96
97rust_ffi_shared {
98 name: "libexample_rust_jni",
99 crate_name: "example_rust_jni",
100 srcs: ["src/lib.rs"],
101 rustlibs: [
102 "libjni",
103 "libaconfig_demo_flags_rust",
Oriol Prieto Gascoca2b99f2024-01-09 19:09:25 +0000104 ],
Dennis Shenf422a8b2023-08-11 18:12:26 +0000105}
Zhi Dou3c4cc122023-08-16 15:14:48 +0000106
107// Test setup
108
Matthew Sedamc9e91fe2023-11-07 21:09:22 +0000109// Create test verion of the java flag library
Zhi Dou3c4cc122023-08-16 15:14:48 +0000110// It needs to use the same aconfig_declarations as
111// the production one
112java_aconfig_library {
113 name: "aconfig_demo_flags_java_lib_test",
114 aconfig_declarations: "aconfig_demo_flags",
115 // host_supported is set to true here for test running
116 // one host, in tests/unittests/Android.bp
117 host_supported: true,
Zi Wang3fe8b062023-11-09 16:38:45 -0800118 mode: "test",
Zhi Dou3c4cc122023-08-16 15:14:48 +0000119}