Files
build/tools/aconfig/Android.bp
Wenshan Fu 89467c3109 aconfig: create java libraries for aconfig proto
Host side test infra needs the library to consume the dumped flags info
generated by aconfig.

Test: m libaconfig_java_proto_lite libaconfig_java_proto_full
Bug: 289906970
Change-Id: I9891cb8445b90f7269e0c679ceaae6bc102bbb0c
2023-07-05 13:57:19 +00:00

113 lines
2.2 KiB
Plaintext

package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
// proto libraries for consumers of `aconfig dump --format=protobuf` output
java_library {
name: "libaconfig_java_proto_lite",
host_supported: true,
srcs: ["protos/aconfig.proto"],
static_libs: ["libprotobuf-java-lite"],
proto: {
type: "lite",
},
sdk_version: "current",
}
java_library_host {
name: "libaconfig_java_proto_full",
srcs: ["protos/aconfig.proto"],
static_libs: ["libprotobuf-java-full"],
proto: {
type: "full",
},
}
// host binary: aconfig
rust_protobuf_host {
name: "libaconfig_protos",
protos: ["protos/aconfig.proto"],
crate_name: "aconfig_protos",
source_stem: "aconfig_protos",
use_protobuf3: true,
}
rust_defaults {
name: "aconfig.defaults",
edition: "2021",
clippy_lints: "android",
lints: "android",
srcs: ["src/main.rs"],
rustlibs: [
"libaconfig_protos",
"libanyhow",
"libclap",
"libprotobuf",
"libserde",
"libserde_json",
"libtinytemplate",
],
proc_macros: [
"libpaste",
]
}
rust_binary_host {
name: "aconfig",
defaults: ["aconfig.defaults"],
}
rust_test_host {
name: "aconfig.test",
defaults: ["aconfig.defaults"],
rustlibs: [
"libitertools",
],
}
// integration tests: java
aconfig_declarations {
name: "aconfig.test.flags",
package: "com.android.aconfig.test",
srcs: ["tests/test.aconfig"],
}
aconfig_values {
name: "aconfig.test.flag.values",
package: "com.android.aconfig.test",
srcs: [
"tests/first.values",
"tests/second.values",
],
}
aconfig_value_set {
name: "aconfig.test.flag.value_set",
values: [
"aconfig.test.flag.values",
],
}
java_aconfig_library {
name: "aconfig_test_java",
aconfig_declarations: "aconfig.test.flags",
}
android_test {
name: "aconfig.test.java",
srcs: [
"tests/**/*.java",
],
manifest: "tests/AndroidManifest.xml",
certificate: "platform",
static_libs: [
"androidx.test.rules",
"testng",
"aconfig_test_java",
],
test_suites: ["device-tests"],
}