xref: /aosp_15_r20/system/update_engine/scripts/Android.bp (revision 5a9231315b4521097b8dc3750bc806fcafe0c72f)
1*5a923131SAndroid Build Coastguard Worker// Copyright (C) 2022 The Android Open Source Project
2*5a923131SAndroid Build Coastguard Worker//
3*5a923131SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*5a923131SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*5a923131SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*5a923131SAndroid Build Coastguard Worker//
7*5a923131SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*5a923131SAndroid Build Coastguard Worker//
9*5a923131SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*5a923131SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*5a923131SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*5a923131SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*5a923131SAndroid Build Coastguard Worker// limitations under the License.
14*5a923131SAndroid Build Coastguard Worker
15*5a923131SAndroid Build Coastguard Worker//
16*5a923131SAndroid Build Coastguard Worker// Module-specific defaults.
17*5a923131SAndroid Build Coastguard Worker//
18*5a923131SAndroid Build Coastguard Worker// For module X, if we need to build it both as a library and an executable:
19*5a923131SAndroid Build Coastguard Worker//  - A default rule `releasetools_X_defaults` is created, which lists `srcs`, `libs` and
20*5a923131SAndroid Build Coastguard Worker//    `required` properties.
21*5a923131SAndroid Build Coastguard Worker//  - `python_library_host` and `python_binary_host` are created by listing
22*5a923131SAndroid Build Coastguard Worker//    `releasetools_X_defaults` in their defaults.
23*5a923131SAndroid Build Coastguard Worker//
24*5a923131SAndroid Build Coastguard Worker
25*5a923131SAndroid Build Coastguard Workerpackage {
26*5a923131SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
27*5a923131SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
28*5a923131SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "system_update_engine_license"
29*5a923131SAndroid Build Coastguard Worker    // to get the below license kinds:
30*5a923131SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
31*5a923131SAndroid Build Coastguard Worker    default_applicable_licenses: ["system_update_engine_license"],
32*5a923131SAndroid Build Coastguard Worker}
33*5a923131SAndroid Build Coastguard Worker
34*5a923131SAndroid Build Coastguard Workerfilegroup {
35*5a923131SAndroid Build Coastguard Worker    name: "update_device_script",
36*5a923131SAndroid Build Coastguard Worker    srcs: [
37*5a923131SAndroid Build Coastguard Worker        "**/*.py",
38*5a923131SAndroid Build Coastguard Worker    ],
39*5a923131SAndroid Build Coastguard Worker    path: ".",
40*5a923131SAndroid Build Coastguard Worker}
41*5a923131SAndroid Build Coastguard Worker
42*5a923131SAndroid Build Coastguard Workerpython_library_host {
43*5a923131SAndroid Build Coastguard Worker    name: "update_payload",
44*5a923131SAndroid Build Coastguard Worker
45*5a923131SAndroid Build Coastguard Worker    srcs: [
46*5a923131SAndroid Build Coastguard Worker        "update_payload/__init__.py",
47*5a923131SAndroid Build Coastguard Worker        "update_payload/payload.py",
48*5a923131SAndroid Build Coastguard Worker        "update_payload/checker.py",
49*5a923131SAndroid Build Coastguard Worker        "update_payload/common.py",
50*5a923131SAndroid Build Coastguard Worker        "update_payload/error.py",
51*5a923131SAndroid Build Coastguard Worker        "update_payload/histogram.py",
52*5a923131SAndroid Build Coastguard Worker        "update_payload/format_utils.py",
53*5a923131SAndroid Build Coastguard Worker    ],
54*5a923131SAndroid Build Coastguard Worker    proto: {
55*5a923131SAndroid Build Coastguard Worker        canonical_path_from_root: false,
56*5a923131SAndroid Build Coastguard Worker    },
57*5a923131SAndroid Build Coastguard Worker    libs: [
58*5a923131SAndroid Build Coastguard Worker        "update_metadata-protos-python",
59*5a923131SAndroid Build Coastguard Worker    ],
60*5a923131SAndroid Build Coastguard Worker}
61*5a923131SAndroid Build Coastguard Worker
62*5a923131SAndroid Build Coastguard Workerpython_binary_host {
63*5a923131SAndroid Build Coastguard Worker    name: "update_device",
64*5a923131SAndroid Build Coastguard Worker    srcs: [
65*5a923131SAndroid Build Coastguard Worker        "update_device.py",
66*5a923131SAndroid Build Coastguard Worker    ],
67*5a923131SAndroid Build Coastguard Worker    main: "update_device.py",
68*5a923131SAndroid Build Coastguard Worker    libs: [
69*5a923131SAndroid Build Coastguard Worker        "update_payload",
70*5a923131SAndroid Build Coastguard Worker    ],
71*5a923131SAndroid Build Coastguard Worker    version: {
72*5a923131SAndroid Build Coastguard Worker        py2: {
73*5a923131SAndroid Build Coastguard Worker            enabled: false,
74*5a923131SAndroid Build Coastguard Worker        },
75*5a923131SAndroid Build Coastguard Worker        py3: {
76*5a923131SAndroid Build Coastguard Worker            enabled: true,
77*5a923131SAndroid Build Coastguard Worker        },
78*5a923131SAndroid Build Coastguard Worker    },
79*5a923131SAndroid Build Coastguard Worker}
80