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