blob: 296091df520ba5f14fc718eb496f161be5a9730a [file] [log] [blame]
Mårten Kongstad867a3492023-04-25 15:06:30 +02001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Wenshan Fu89467c32023-07-04 23:30:09 +08005// proto libraries for consumers of `aconfig dump --format=protobuf` output
6
7java_library {
8 name: "libaconfig_java_proto_lite",
9 host_supported: true,
10 srcs: ["protos/aconfig.proto"],
11 static_libs: ["libprotobuf-java-lite"],
12 proto: {
13 type: "lite",
14 },
15 sdk_version: "current",
16}
17
18java_library_host {
19 name: "libaconfig_java_proto_full",
20 srcs: ["protos/aconfig.proto"],
21 static_libs: ["libprotobuf-java-full"],
22 proto: {
23 type: "full",
24 },
25}
26
Mårten Kongstad9c59c312023-05-30 11:15:02 +020027// host binary: aconfig
28
Mårten Kongstad867a3492023-04-25 15:06:30 +020029rust_protobuf_host {
30 name: "libaconfig_protos",
31 protos: ["protos/aconfig.proto"],
32 crate_name: "aconfig_protos",
33 source_stem: "aconfig_protos",
34 use_protobuf3: true,
35}
36
37rust_defaults {
38 name: "aconfig.defaults",
39 edition: "2021",
40 clippy_lints: "android",
41 lints: "android",
42 srcs: ["src/main.rs"],
43 rustlibs: [
44 "libaconfig_protos",
Mårten Kongstadbb520722023-04-26 13:16:41 +020045 "libanyhow",
Mårten Kongstad4d2b4b02023-04-27 16:05:58 +020046 "libclap",
Mårten Kongstad867a3492023-04-25 15:06:30 +020047 "libprotobuf",
Mårten Kongstad4d2b4b02023-04-27 16:05:58 +020048 "libserde",
49 "libserde_json",
Zhi Doueb744892023-05-10 04:02:33 +000050 "libtinytemplate",
Mårten Kongstad867a3492023-04-25 15:06:30 +020051 ],
Mårten Kongstad1b8636b2023-06-22 10:12:24 +020052 proc_macros: [
53 "libpaste",
54 ]
Mårten Kongstad867a3492023-04-25 15:06:30 +020055}
56
57rust_binary_host {
58 name: "aconfig",
59 defaults: ["aconfig.defaults"],
60}
61
62rust_test_host {
63 name: "aconfig.test",
64 defaults: ["aconfig.defaults"],
Mårten Kongstadb0255072023-06-08 10:15:43 +020065 rustlibs: [
66 "libitertools",
67 ],
Mårten Kongstad867a3492023-04-25 15:06:30 +020068}
Mårten Kongstad9c59c312023-05-30 11:15:02 +020069
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +020070// integration tests: general
Mårten Kongstad9c59c312023-05-30 11:15:02 +020071
Joe Onorato6aa48f82023-06-21 15:17:42 -070072aconfig_declarations {
Mårten Kongstad9c59c312023-05-30 11:15:02 +020073 name: "aconfig.test.flags",
Joe Onorato6aa48f82023-06-21 15:17:42 -070074 package: "com.android.aconfig.test",
Mårten Kongstad9c59c312023-05-30 11:15:02 +020075 srcs: ["tests/test.aconfig"],
76}
77
Joe Onorato6aa48f82023-06-21 15:17:42 -070078aconfig_values {
Mårten Kongstad9c59c312023-05-30 11:15:02 +020079 name: "aconfig.test.flag.values",
Joe Onorato6aa48f82023-06-21 15:17:42 -070080 package: "com.android.aconfig.test",
Mårten Kongstad9c59c312023-05-30 11:15:02 +020081 srcs: [
82 "tests/first.values",
83 "tests/second.values",
84 ],
85}
86
Joe Onorato6aa48f82023-06-21 15:17:42 -070087aconfig_value_set {
Mårten Kongstad9c59c312023-05-30 11:15:02 +020088 name: "aconfig.test.flag.value_set",
89 values: [
90 "aconfig.test.flag.values",
91 ],
92}
93
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +020094// integration tests: java
95
Joe Onorato6aa48f82023-06-21 15:17:42 -070096java_aconfig_library {
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +020097 name: "aconfig_test_java_library",
Joe Onorato6aa48f82023-06-21 15:17:42 -070098 aconfig_declarations: "aconfig.test.flags",
Joe Onorato8b518592023-06-09 13:38:43 -070099}
100
Mårten Kongstad9c59c312023-05-30 11:15:02 +0200101android_test {
102 name: "aconfig.test.java",
103 srcs: [
Zhi Doua7200112023-08-07 18:09:28 +0000104 "tests/AconfigTest.java",
Mårten Kongstad9c59c312023-05-30 11:15:02 +0200105 ],
106 manifest: "tests/AndroidManifest.xml",
107 certificate: "platform",
108 static_libs: [
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +0200109 "aconfig_test_java_library",
Mårten Kongstad9c59c312023-05-30 11:15:02 +0200110 "androidx.test.rules",
111 "testng",
112 ],
113 test_suites: ["device-tests"],
114}
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +0200115
Zhi Doua7200112023-08-07 18:09:28 +0000116java_aconfig_library {
117 name: "aconfig_host_test_java_library",
118 aconfig_declarations: "aconfig.test.flags",
119 host_supported: true,
120 test: true,
121}
122
123java_test_host {
124 name: "AconfigJavaHostTest",
125 srcs: [
126 "tests/AconfigHostTest.java",
127 ],
128 static_libs: [
129 "aconfig_host_test_java_library",
130 "junit",
131 ],
132 test_suites: ["general-tests"],
133}
134
Mårten Kongstadaf3da9d2023-07-24 11:10:00 +0200135// integration tests: C++
136
137cc_aconfig_library {
138 name: "aconfig_test_cpp_library",
139 aconfig_declarations: "aconfig.test.flags",
140}
141
142cc_test {
143 name: "aconfig.test.cpp",
144 srcs: [
145 "tests/aconfig_test.cpp",
146 ],
147 static_libs: [
148 "aconfig_test_cpp_library",
149 "libgmock",
150 ],
151 shared_libs: [
152 "server_configurable_flags",
153 ],
154}
Vinh Tran45593092023-08-02 17:15:58 -0400155
156rust_aconfig_library {
157 name: "libaconfig_test_rust_library",
158 crate_name: "aconfig_test_rust_library",
159 aconfig_declarations: "aconfig.test.flags",
160}
161
162rust_test {
Vinh Tran906405f2023-08-11 17:34:12 -0400163 name: "aconfig.prod_mode.test.rust",
Vinh Tran45593092023-08-02 17:15:58 -0400164 srcs: [
Vinh Tran906405f2023-08-11 17:34:12 -0400165 "tests/aconfig_prod_mode_test.rs"
Vinh Tran45593092023-08-02 17:15:58 -0400166 ],
167 rustlibs: [
168 "libaconfig_test_rust_library",
169 ],
Vinh Tran906405f2023-08-11 17:34:12 -0400170}
171
172rust_aconfig_library {
173 name: "libaconfig_test_rust_library_with_test_mode",
174 crate_name: "aconfig_test_rust_library",
175 aconfig_declarations: "aconfig.test.flags",
176 test: true,
177}
178
179rust_test {
180 name: "aconfig.test_mode.test.rust",
181 srcs: [
182 "tests/aconfig_test_mode_test.rs"
183 ],
184 rustlibs: [
185 "libaconfig_test_rust_library_with_test_mode",
186 ],
Vinh Tran45593092023-08-02 17:15:58 -0400187}