platform_build/tools/releasetools/Android.bp
Yi-Yo Chiang a4d5f4380b Re-land: releasetools: Deprecate GKI build rules
(Re-land of Ie882fccd864920289e48366e99a4ebd67e784d0d)

We no longer build GKIs from the platform tree.
These build commands were neither used nor maintained anymore, so clean
them up to reduce maintenance effort.
Keep the command line options as no-op, so existing scripts that still
specifies the deprecated options don't break.

Bug: 229701033
Test: presubmit
Change-Id: I0f7d05562dbc3eed29e902d6dc9a0f2e4083aaa6
2024-01-25 11:21:00 +08:00

662 lines
14 KiB
Text

// Copyright (C) 2019 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.
//
// Module-specific defaults.
//
// For module X, if we need to build it both as a library and an executable:
// - A default rule `releasetools_X_defaults` is created, which lists `srcs`, `libs` and
// `required` properties.
// - `python_library_host` and `python_binary_host` are created by listing
// `releasetools_X_defaults` in their defaults.
//
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
python_defaults {
name: "releasetools_add_img_to_target_files_defaults",
srcs: [
"add_img_to_target_files.py",
],
libs: [
"ota_metadata_proto",
"releasetools_apex_utils",
"releasetools_build_image",
"releasetools_build_super_image",
"releasetools_common",
"libavbtool",
],
required: [
"care_map_generator",
],
}
python_defaults {
name: "releasetools_build_image_defaults",
srcs: [
"build_image.py",
],
libs: [
"releasetools_common",
"releasetools_fsverity_metadata_generator",
"releasetools_verity_utils",
],
required: [
"blk_alloc_to_base_fs",
"e2fsck",
"fsck.erofs",
"img2simg",
"mkfs.erofs",
"mkuserimg_mke2fs",
"simg2img",
"tune2fs",
"mkf2fsuserimg",
"fsck.f2fs",
],
}
python_defaults {
name: "releasetools_build_super_image_defaults",
srcs: [
"build_super_image.py",
],
libs: [
"releasetools_common",
],
}
python_defaults {
name: "releasetools_img_from_target_files_defaults",
srcs: [
"img_from_target_files.py",
],
libs: [
"releasetools_build_super_image",
"releasetools_common",
],
}
python_defaults {
name: "releasetools_check_target_files_vintf_defaults",
srcs: [
"check_target_files_vintf.py",
],
libs: [
"apex_manifest",
"releasetools_common",
],
required: [
"apexd_host",
"checkvintf",
],
}
python_library_host {
name: "ota_metadata_proto",
srcs: [
"ota_metadata.proto",
],
proto: {
canonical_path_from_root: false,
},
}
cc_library_static {
name: "ota_metadata_proto_cc",
srcs: [
"ota_metadata.proto",
],
host_supported: true,
recovery_available: true,
proto: {
canonical_path_from_root: false,
type: "lite",
export_proto_headers: true,
},
}
java_library_static {
name: "ota_metadata_proto_java",
host_supported: true,
proto: {
type: "nano",
},
srcs: ["ota_metadata.proto"],
sdk_version: "9",
target: {
android: {
jarjar_rules: "jarjar-rules.txt",
},
host: {
static_libs: ["libprotobuf-java-nano"],
},
},
visibility: ["//frameworks/base:__subpackages__"]
}
python_defaults {
name: "releasetools_ota_from_target_files_defaults",
srcs: [
"edify_generator.py",
"non_ab_ota.py",
"ota_from_target_files.py",
"target_files_diff.py",
],
libs: [
"ota_metadata_proto",
"releasetools_check_target_files_vintf",
"releasetools_common",
"releasetools_verity_utils",
"apex_manifest",
"care_map_proto_py",
"ota_utils_lib",
],
required: [
"apexd_host",
"brillo_update_payload",
"checkvintf",
"lz4",
"toybox",
"unpack_bootimg",
"deapexer",
],
target: {
darwin: {
// required module "brillo_update_payload" is disabled on darwin
enabled: false,
},
},
}
//
// Host libraries.
//
python_library_host {
name: "releasetools_add_img_to_target_files",
defaults: [
"releasetools_add_img_to_target_files_defaults",
],
}
python_library_host {
name: "releasetools_apex_utils",
srcs: [
"apex_utils.py",
],
libs: [
"apex_manifest",
"ota_metadata_proto",
"releasetools_common",
],
}
python_library_host {
name: "releasetools_build_image",
defaults: [
"releasetools_build_image_defaults",
],
}
python_library_host {
name: "releasetools_build_super_image",
defaults: [
"releasetools_build_super_image_defaults",
],
}
python_library_host {
name: "releasetools_check_target_files_vintf",
defaults: [
"releasetools_check_target_files_vintf_defaults",
],
}
python_library_host {
name: "releasetools_common",
srcs: [
"blockimgdiff.py",
"common.py",
"images.py",
"rangelib.py",
"sparse_img.py",
],
data: [
":zip2zip",
],
// Only the tools that are referenced directly are listed as required modules. For example,
// `avbtool` is not here, as the script always uses the one from info_dict['avb_avbtool'].
required: [
"aapt2",
"boot_signer",
"brotli",
"bsdiff",
"imgdiff",
"lz4",
"mkbootfs",
"signapk",
"toybox",
"unpack_bootimg",
],
}
python_library_host {
name: "releasetools_img_from_target_files",
defaults: [
"releasetools_img_from_target_files_defaults",
],
}
python_library_host {
name: "releasetools_ota_from_target_files",
defaults: [
"releasetools_ota_from_target_files_defaults",
],
}
python_library_host {
name: "releasetools_fsverity_metadata_generator",
srcs: [
"fsverity_metadata_generator.py",
],
libs: [
"fsverity_digests_proto_python",
],
}
python_library_host {
name: "releasetools_verity_utils",
srcs: [
"verity_utils.py",
],
required: [
"append2simg",
"build_verity_metadata",
"build_verity_tree",
"fec",
],
}
//
// Host binaries.
//
python_defaults {
name: "releasetools_binary_defaults",
version: {
py3: {
embedded_launcher: true,
},
},
// TODO (b/140144201) Build imgdiff from releasetools_common
required: [
"aapt2",
"boot_signer",
"brotli",
"bsdiff",
"deapexer",
"imgdiff",
"lz4",
"mkbootfs",
"signapk",
"toybox",
"unpack_bootimg",
],
}
python_binary_host {
name: "add_img_to_target_files",
defaults: [
"releasetools_binary_defaults",
"releasetools_add_img_to_target_files_defaults",
],
}
python_library_host {
name: "ota_utils_lib",
srcs: [
"ota_utils.py",
"payload_signer.py",
"ota_signing_utils.py",
],
libs: [
"releasetools_common",
],
}
python_binary_host {
name: "merge_ota",
version: {
py3: {
embedded_launcher: true,
},
},
srcs: [
"merge_ota.py",
],
libs: [
"ota_metadata_proto",
"update_payload",
"care_map_proto_py",
"releasetools_common",
"ota_utils_lib",
],
}
python_binary_host {
name: "create_brick_ota",
version: {
py3: {
embedded_launcher: true,
},
},
srcs: [
"create_brick_ota.py",
],
libs: [
"ota_utils_lib",
],
}
python_binary_host {
name: "build_image",
defaults: [
"releasetools_binary_defaults",
"releasetools_build_image_defaults",
],
}
python_binary_host {
name: "build_super_image",
defaults: [
"releasetools_binary_defaults",
"releasetools_build_super_image_defaults",
],
}
python_binary_host {
name: "check_partition_sizes",
srcs: [
"check_partition_sizes.py",
],
libs: [
"releasetools_common",
],
defaults: [
"releasetools_binary_defaults",
],
}
python_binary_host {
name: "check_ota_package_signature",
defaults: ["releasetools_binary_defaults"],
srcs: [
"check_ota_package_signature.py",
],
libs: [
"releasetools_common",
],
required: [
"delta_generator",
],
target: {
darwin: {
// required module "delta_generator" is disabled on darwin
enabled: false,
},
},
}
python_binary_host {
name: "check_target_files_signatures",
defaults: ["releasetools_binary_defaults"],
srcs: [
"check_target_files_signatures.py",
],
libs: [
"releasetools_common",
],
required: [
"aapt2",
],
}
python_binary_host {
name: "check_target_files_vintf",
defaults: [
"releasetools_binary_defaults",
"releasetools_check_target_files_vintf_defaults"
],
}
python_binary_host {
name: "img_from_target_files",
defaults: [
"releasetools_binary_defaults",
"releasetools_img_from_target_files_defaults",
],
}
python_defaults {
name: "releasetools_find_shareduid_violation_defaults",
srcs: [
"find_shareduid_violation.py",
],
libs: [
"releasetools_common",
],
}
python_binary_host {
name: "find_shareduid_violation",
defaults: [
"releasetools_binary_defaults",
"releasetools_find_shareduid_violation_defaults",
],
}
python_library_host {
name: "releasetools_find_shareduid_violation",
defaults: [
"releasetools_find_shareduid_violation_defaults",
],
}
python_binary_host {
name: "make_recovery_patch",
defaults: ["releasetools_binary_defaults"],
srcs: [
"make_recovery_patch.py",
],
libs: [
"releasetools_common",
],
}
python_binary_host {
name: "ota_from_target_files",
defaults: [
"releasetools_binary_defaults",
"releasetools_ota_from_target_files_defaults",
],
}
python_binary_host {
name: "ota_from_raw_img",
srcs: [
"ota_from_raw_img.py",
],
main: "ota_from_raw_img.py",
defaults: [
"releasetools_binary_defaults",
],
required: [
"delta_generator",
],
libs: [
"ota_metadata_proto",
"releasetools_common",
"ota_utils_lib",
],
}
python_binary_host {
name: "ota_package_parser",
defaults: ["releasetools_binary_defaults"],
srcs: [
"ota_package_parser.py",
"rangelib.py",
],
}
python_binary_host {
name: "sparse_img",
defaults: ["releasetools_binary_defaults"],
srcs: [
"rangelib.py",
"sparse_img.py",
],
}
python_binary_host {
name: "sign_apex",
defaults: ["releasetools_binary_defaults"],
srcs: [
"sign_apex.py",
],
libs: [
"releasetools_apex_utils",
"releasetools_common",
],
}
python_binary_host {
name: "sign_target_files_apks",
defaults: ["releasetools_binary_defaults"],
srcs: [
"sign_target_files_apks.py",
"payload_signer.py",
"ota_signing_utils.py",
],
libs: [
"releasetools_add_img_to_target_files",
"releasetools_apex_utils",
"releasetools_common",
],
}
python_binary_host {
name: "validate_target_files",
defaults: ["releasetools_binary_defaults"],
srcs: [
"validate_target_files.py",
],
libs: [
"releasetools_common",
],
}
python_binary_host {
name: "verity_utils",
defaults: ["releasetools_binary_defaults"],
srcs: [
"verity_utils.py",
],
libs: [
"releasetools_common",
],
required: [
"append2simg",
"build_verity_metadata",
"build_verity_tree",
"fec",
],
}
python_binary_host {
name: "fsverity_metadata_generator",
defaults: ["releasetools_binary_defaults"],
srcs: [
"fsverity_metadata_generator.py",
],
required: [
"fsverity",
],
}
//
// Tests.
//
python_defaults {
name: "releasetools_test_defaults",
srcs: [
"check_ota_package_signature.py",
"check_partition_sizes.py",
"check_target_files_signatures.py",
"make_recovery_patch.py",
"ota_package_parser.py",
"sign_apex.py",
"sign_target_files_apks.py",
"validate_target_files.py",
"merge_ota.py",
":releasetools_merge_sources",
":releasetools_merge_tests",
"test_*.py",
],
libs: [
"releasetools_add_img_to_target_files",
"releasetools_apex_utils",
"releasetools_build_image",
"releasetools_build_super_image",
"releasetools_check_target_files_vintf",
"releasetools_common",
"releasetools_find_shareduid_violation",
"releasetools_img_from_target_files",
"releasetools_ota_from_target_files",
"releasetools_verity_utils",
"update_payload",
],
data: [
"testdata/**/*",
":com.android.apex.compressed.v1",
":com.android.apex.compressed.v1_original",
":com.android.apex.vendor.foo.with_vintf"
],
target: {
darwin: {
// libs dep "releasetools_ota_from_target_files" is disabled on darwin
enabled: false,
},
},
required: [
"apexd_host",
"deapexer",
],
}
python_test_host {
name: "releasetools_test",
defaults: ["releasetools_test_defaults"],
main: "test_utils.py",
// Don't use embedded_launcher, atest will try (but may fail) to load libc++.so from
// host, because the test executable won't be able to find the needed libs via its
// runpath.
test_options: {
unit_test: true,
},
}