1// Copyright (C) 2024 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19rust_defaults { 20 name: "libaconfig_device_paths.defaults", 21 edition: "2021", 22 clippy_lints: "android", 23 lints: "android", 24 srcs: ["src/lib.rs"], 25 rustlibs: [ 26 "libaconfig_protos", 27 "libanyhow", 28 "libprotobuf", 29 "libregex", 30 ], 31} 32 33rust_library { 34 name: "libaconfig_device_paths", 35 crate_name: "aconfig_device_paths", 36 host_supported: true, 37 defaults: ["libaconfig_device_paths.defaults"], 38} 39 40genrule { 41 name: "libaconfig_java_device_paths_src", 42 srcs: ["src/DeviceProtosTemplate.java"], 43 out: ["DeviceProtos.java"], 44 tool_files: ["partition_aconfig_flags_paths.txt"], 45 cmd: "sed -e '/TEMPLATE/{r$(location partition_aconfig_flags_paths.txt)' -e 'd}' $(in) > $(out)", 46} 47 48java_library { 49 name: "aconfig_device_paths_java", 50 srcs: [":libaconfig_java_device_paths_src"], 51 static_libs: [ 52 "libaconfig_java_proto_nano", 53 ], 54 sdk_version: "core_platform", 55 apex_available: [ 56 "//apex_available:platform", 57 ], 58} 59 60genrule { 61 name: "libaconfig_java_host_device_paths_src", 62 srcs: ["src/HostDeviceProtosTemplate.java"], 63 out: ["HostDeviceProtos.java"], 64 tool_files: [ 65 "partition_aconfig_flags_paths.txt", 66 "mainline_aconfig_flags_paths.txt", 67 ], 68 cmd: "sed -e '/TEMPLATE/{r$(location partition_aconfig_flags_paths.txt)' -e 'd}' $(in) > $(out).tmp && " + 69 "sed -e '/MAINLINE_T/{r$(location mainline_aconfig_flags_paths.txt)' -e 'd}' $(out).tmp > $(out)", 70} 71 72java_library_host { 73 name: "aconfig_host_device_paths_java", 74 srcs: [":libaconfig_java_host_device_paths_src"], 75} 76