// Copyright (C) 2021 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.

package {
    default_applicable_licenses: ["hardware_interfaces_license"],
}

apex_key {
    name: "com.android.hardware.usb.key",
    public_key: "com.android.hardware.usb.avbpubkey",
    private_key: "com.android.hardware.usb.pem",
}

android_app_certificate {
    name: "com.android.hardware.usb.certificate",
    certificate: "com.android.hardware.usb",
}

apex {
    name: "com.android.hardware.usb",
    manifest: "manifest.json",
    file_contexts: "file_contexts",
    key: "com.android.hardware.usb.key",
    certificate: ":com.android.hardware.usb.certificate",
    updatable: false,
    soc_specific: true,
    use_vndk_as_stable: true,
    binaries: ["android.hardware.usb-service.example"],
    prebuilts: [
        "com.android.hardware.usb.rc", // init .rc
        "android.hardware.usb.accessory.prebuilt.xml",
        "android.hardware.usb.host.prebuilt.xml",
    ],
    vintf_fragments: [":android.hardware.usb-service.example.xml"],
}

// Replace the binary path from /vendor/bin to /apex/{name}/bin in the init .rc file
genrule {
    name: "com.android.hardware.usb.rc-gen",
    srcs: [":android.hardware.usb-service.example.rc"],
    out: ["com.android.hardware.usb.rc"],
    cmd: "sed -E 's/\\/vendor/\\/apex\\/com.android.hardware.usb/' $(in) > $(out)",
}

prebuilt_etc {
    name: "com.android.hardware.usb.rc",
    src: ":com.android.hardware.usb.rc-gen",
    installable: false,
}
