xref: /aosp_15_r20/development/samples/AconfigDemo/Android.bp (revision 90c8c64db3049935a07c6143d7fd006e26f8ecca)
1*90c8c64dSAndroid Build Coastguard Workerpackage {
2*90c8c64dSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*90c8c64dSAndroid Build Coastguard Worker}
4*90c8c64dSAndroid Build Coastguard Worker
5*90c8c64dSAndroid Build Coastguard Workerandroid_app {
6*90c8c64dSAndroid Build Coastguard Worker    name: "AconfigDemoActivity",
7*90c8c64dSAndroid Build Coastguard Worker    manifest: "AndroidManifest.xml",
8*90c8c64dSAndroid Build Coastguard Worker    srcs: [
9*90c8c64dSAndroid Build Coastguard Worker        "src/**/*.java",
10*90c8c64dSAndroid Build Coastguard Worker    ],
11*90c8c64dSAndroid Build Coastguard Worker    platform_apis: true,
12*90c8c64dSAndroid Build Coastguard Worker    certificate: "platform",
13*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
14*90c8c64dSAndroid Build Coastguard Worker        "ContentLibs",
15*90c8c64dSAndroid Build Coastguard Worker        "dagger2",
16*90c8c64dSAndroid Build Coastguard Worker        "jsr330",
17*90c8c64dSAndroid Build Coastguard Worker    ],
18*90c8c64dSAndroid Build Coastguard Worker    jni_libs: [
19*90c8c64dSAndroid Build Coastguard Worker        "libexample_cpp_lib",
20*90c8c64dSAndroid Build Coastguard Worker    ],
21*90c8c64dSAndroid Build Coastguard Worker    required: ["libexample_rust_jni"],
22*90c8c64dSAndroid Build Coastguard Worker    plugins: ["dagger2-compiler"],
23*90c8c64dSAndroid Build Coastguard Worker    optimize: {
24*90c8c64dSAndroid Build Coastguard Worker        proguard_flags_files: ["proguard.flags"],
25*90c8c64dSAndroid Build Coastguard Worker    },
26*90c8c64dSAndroid Build Coastguard Worker}
27*90c8c64dSAndroid Build Coastguard Worker
28*90c8c64dSAndroid Build Coastguard Workeraconfig_declarations {
29*90c8c64dSAndroid Build Coastguard Worker    name: "aconfig_demo_flags",
30*90c8c64dSAndroid Build Coastguard Worker    package: "com.example.android.aconfig.demo.flags",
31*90c8c64dSAndroid Build Coastguard Worker    container: "system",
32*90c8c64dSAndroid Build Coastguard Worker    srcs: ["aconfig_demo_flags.aconfig"],
33*90c8c64dSAndroid Build Coastguard Worker}
34*90c8c64dSAndroid Build Coastguard Worker
35*90c8c64dSAndroid Build Coastguard Workerjava_aconfig_library {
36*90c8c64dSAndroid Build Coastguard Worker    name: "aconfig_demo_flags_java_lib",
37*90c8c64dSAndroid Build Coastguard Worker    aconfig_declarations: "aconfig_demo_flags",
38*90c8c64dSAndroid Build Coastguard Worker}
39*90c8c64dSAndroid Build Coastguard Worker
40*90c8c64dSAndroid Build Coastguard Workerfilegroup {
41*90c8c64dSAndroid Build Coastguard Worker    name: "ContentLibsFile",
42*90c8c64dSAndroid Build Coastguard Worker    srcs: [
43*90c8c64dSAndroid Build Coastguard Worker        "lib/**/*.java",
44*90c8c64dSAndroid Build Coastguard Worker    ],
45*90c8c64dSAndroid Build Coastguard Worker}
46*90c8c64dSAndroid Build Coastguard Worker
47*90c8c64dSAndroid Build Coastguard Workerjava_defaults {
48*90c8c64dSAndroid Build Coastguard Worker    name: "ContentLibsDefault",
49*90c8c64dSAndroid Build Coastguard Worker    sdk_version: "current",
50*90c8c64dSAndroid Build Coastguard Worker    srcs: [
51*90c8c64dSAndroid Build Coastguard Worker        ":ContentLibsFile",
52*90c8c64dSAndroid Build Coastguard Worker    ],
53*90c8c64dSAndroid Build Coastguard Worker    libs: ["jsr330"],
54*90c8c64dSAndroid Build Coastguard Worker}
55*90c8c64dSAndroid Build Coastguard Worker
56*90c8c64dSAndroid Build Coastguard Workerjava_library {
57*90c8c64dSAndroid Build Coastguard Worker    name: "ContentLibs",
58*90c8c64dSAndroid Build Coastguard Worker    defaults: ["ContentLibsDefault"],
59*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
60*90c8c64dSAndroid Build Coastguard Worker        "aconfig_demo_flags_java_lib",
61*90c8c64dSAndroid Build Coastguard Worker    ],
62*90c8c64dSAndroid Build Coastguard Worker}
63*90c8c64dSAndroid Build Coastguard Worker
64*90c8c64dSAndroid Build Coastguard Workercc_aconfig_library {
65*90c8c64dSAndroid Build Coastguard Worker    name: "aconfig_demo_flags_c_lib",
66*90c8c64dSAndroid Build Coastguard Worker    aconfig_declarations: "aconfig_demo_flags",
67*90c8c64dSAndroid Build Coastguard Worker}
68*90c8c64dSAndroid Build Coastguard Worker
69*90c8c64dSAndroid Build Coastguard Workercc_library {
70*90c8c64dSAndroid Build Coastguard Worker    name: "libexample_cpp_lib",
71*90c8c64dSAndroid Build Coastguard Worker    srcs: ["src/example_cpp_lib.cc"],
72*90c8c64dSAndroid Build Coastguard Worker    double_loadable: true,
73*90c8c64dSAndroid Build Coastguard Worker    cflags: [
74*90c8c64dSAndroid Build Coastguard Worker        "-Wall",
75*90c8c64dSAndroid Build Coastguard Worker        "-Werror",
76*90c8c64dSAndroid Build Coastguard Worker        "-Wno-unused-function",
77*90c8c64dSAndroid Build Coastguard Worker        "-Wno-unused-parameter",
78*90c8c64dSAndroid Build Coastguard Worker    ],
79*90c8c64dSAndroid Build Coastguard Worker    header_libs: [
80*90c8c64dSAndroid Build Coastguard Worker        "jni_headers",
81*90c8c64dSAndroid Build Coastguard Worker    ],
82*90c8c64dSAndroid Build Coastguard Worker    shared_libs: [
83*90c8c64dSAndroid Build Coastguard Worker        "server_configurable_flags",
84*90c8c64dSAndroid Build Coastguard Worker    ],
85*90c8c64dSAndroid Build Coastguard Worker    static_libs: [
86*90c8c64dSAndroid Build Coastguard Worker        "aconfig_demo_flags_c_lib",
87*90c8c64dSAndroid Build Coastguard Worker    ],
88*90c8c64dSAndroid Build Coastguard Worker    export_include_dirs: ["src/include"],
89*90c8c64dSAndroid Build Coastguard Worker    defaults: [
90*90c8c64dSAndroid Build Coastguard Worker        "aconfig_lib_cc_static_link.defaults",
91*90c8c64dSAndroid Build Coastguard Worker    ],
92*90c8c64dSAndroid Build Coastguard Worker}
93*90c8c64dSAndroid Build Coastguard Worker
94*90c8c64dSAndroid Build Coastguard Workerrust_aconfig_library {
95*90c8c64dSAndroid Build Coastguard Worker    name: "libaconfig_demo_flags_rust",
96*90c8c64dSAndroid Build Coastguard Worker    crate_name: "aconfig_demo_flags_rust",
97*90c8c64dSAndroid Build Coastguard Worker    aconfig_declarations: "aconfig_demo_flags",
98*90c8c64dSAndroid Build Coastguard Worker}
99*90c8c64dSAndroid Build Coastguard Worker
100*90c8c64dSAndroid Build Coastguard Workerrust_ffi_shared {
101*90c8c64dSAndroid Build Coastguard Worker    name: "libexample_rust_jni",
102*90c8c64dSAndroid Build Coastguard Worker    crate_name: "example_rust_jni",
103*90c8c64dSAndroid Build Coastguard Worker    srcs: ["src/lib.rs"],
104*90c8c64dSAndroid Build Coastguard Worker    rustlibs: [
105*90c8c64dSAndroid Build Coastguard Worker        "libjni",
106*90c8c64dSAndroid Build Coastguard Worker        "libaconfig_demo_flags_rust",
107*90c8c64dSAndroid Build Coastguard Worker    ],
108*90c8c64dSAndroid Build Coastguard Worker}
109*90c8c64dSAndroid Build Coastguard Worker
110*90c8c64dSAndroid Build Coastguard Worker// Test setup
111*90c8c64dSAndroid Build Coastguard Worker
112*90c8c64dSAndroid Build Coastguard Worker// Create test verion of the java flag library
113*90c8c64dSAndroid Build Coastguard Worker// It needs to use the same aconfig_declarations as
114*90c8c64dSAndroid Build Coastguard Worker// the production one
115*90c8c64dSAndroid Build Coastguard Workerjava_aconfig_library {
116*90c8c64dSAndroid Build Coastguard Worker    name: "aconfig_demo_flags_java_lib_test",
117*90c8c64dSAndroid Build Coastguard Worker    aconfig_declarations: "aconfig_demo_flags",
118*90c8c64dSAndroid Build Coastguard Worker    // host_supported is set to true here for test running
119*90c8c64dSAndroid Build Coastguard Worker    // one host, in tests/unittests/Android.bp
120*90c8c64dSAndroid Build Coastguard Worker    host_supported: true,
121*90c8c64dSAndroid Build Coastguard Worker    mode: "test",
122*90c8c64dSAndroid Build Coastguard Worker}
123