• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5android_app {
6    name: "AconfigDemoActivity",
7    manifest: "AndroidManifest.xml",
8    srcs: [
9        "src/**/*.java",
10    ],
11    platform_apis: true,
12    certificate: "platform",
13    static_libs: [
14        "ContentLibs",
15        "dagger2",
16        "jsr330",
17    ],
18    jni_libs: [
19        "libexample_cpp_lib",
20    ],
21    required: ["libexample_rust_jni"],
22    plugins: ["dagger2-compiler"],
23    optimize: {
24        proguard_flags_files: ["proguard.flags"],
25    },
26}
27
28aconfig_declarations {
29    name: "aconfig_demo_flags",
30    package: "com.example.android.aconfig.demo.flags",
31    container: "system",
32    srcs: ["aconfig_demo_flags.aconfig"],
33}
34
35java_aconfig_library {
36    name: "aconfig_demo_flags_java_lib",
37    aconfig_declarations: "aconfig_demo_flags",
38}
39
40filegroup {
41    name: "ContentLibsFile",
42    srcs: [
43        "lib/**/*.java",
44    ],
45}
46
47java_defaults {
48    name: "ContentLibsDefault",
49    sdk_version: "current",
50    srcs: [
51        ":ContentLibsFile",
52    ],
53    libs: ["jsr330"],
54}
55
56java_library {
57    name: "ContentLibs",
58    defaults: ["ContentLibsDefault"],
59    static_libs: [
60        "aconfig_demo_flags_java_lib",
61    ],
62}
63
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: [
80        "jni_headers",
81    ],
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    defaults: [
90        "aconfig_lib_cc_static_link.defaults",
91    ],
92}
93
94rust_aconfig_library {
95    name: "libaconfig_demo_flags_rust",
96    crate_name: "aconfig_demo_flags_rust",
97    aconfig_declarations: "aconfig_demo_flags",
98}
99
100rust_ffi_shared {
101    name: "libexample_rust_jni",
102    crate_name: "example_rust_jni",
103    srcs: ["src/lib.rs"],
104    rustlibs: [
105        "libjni",
106        "libaconfig_demo_flags_rust",
107    ],
108}
109
110// Test setup
111
112// Create test verion of the java flag library
113// It needs to use the same aconfig_declarations as
114// the production one
115java_aconfig_library {
116    name: "aconfig_demo_flags_java_lib_test",
117    aconfig_declarations: "aconfig_demo_flags",
118    // host_supported is set to true here for test running
119    // one host, in tests/unittests/Android.bp
120    host_supported: true,
121    mode: "test",
122}
123