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/DevicePathsTemplate.java"],
43    out: ["DevicePaths.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}
52