blob: 37a02fce47773ecbaee36a2a891d2810dde525b8 [file] [log] [blame]
//
// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// ==========================================================
// Build the library for use on the host
// ==========================================================
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
// Enum protos can be reused in multiple libraries (pixelatoms.proto, etc)
// Due to size grownth constraints proposed to reuse only what really imported
shared_enum_protos = [
"enums/app_shared/*.proto",
"enums/display/*.proto",
"enums/hardware/biometrics/*.proto",
]
enum_protos = [
"enums/**/*.proto",
]
atom_protos = [
// go/keep-sorted start
"atoms.proto",
"atoms/**/*.proto",
"attribution_node.proto",
// go/keep-sorted end
]
cc_library_host_shared {
name: "libstats_proto_host",
srcs: [
"atom_field_options.proto",
":libstats_atom_message_protos",
] + shared_enum_protos + enum_protos + atom_protos,
cflags: [
"-Wno-deprecated-declarations",
],
proto: {
type: "full",
export_proto_headers: true,
include_dirs: [
"external/protobuf/src",
],
},
}
filegroup {
name: "libstats_atoms_proto",
srcs: atom_protos,
}
filegroup {
name: "libstats_internal_protos",
srcs: [
":libstats_atoms_proto",
"atom_field_options.proto",
":libstats_atom_enum_protos",
":libstats_atom_message_protos",
],
}
filegroup {
name: "libstats_atom_options_protos",
srcs: [
"atom_field_options.proto",
],
}
filegroup {
name: "libstats_shared_enum_protos",
srcs: shared_enum_protos,
}
filegroup {
name: "libstats_atom_enum_protos",
srcs: shared_enum_protos + enum_protos,
}
filegroup {
name: "libstats_atom_message_protos",
srcs: [
"message/**/*.proto",
],
}
rust_protobuf {
name: "libframework_service_enums_protos_rs",
protos: [
"enums/service/enums.proto",
],
crate_name: "framework_service_enums_protos_rs",
source_stem: "framework_service_enums_protos_rs_source",
host_supported: true,
}