releasetools: Add more module building rules.
This CL adds the building rules for the following tools:
- add_img_to_target_files
- check_ota_package_signature
- check_target_files_signatures
- img_from_target_files
- merge_target_files
- ota_package_parser
- sign_apex
- sign_target_files_apks
- validate_target_files
Bug: 63866463
Test: mmma -j build/make/tools/releasetools
Test: Run each tool above to ensure there's no missing dependency (in
the exercised code path).
Change-Id: Ide5b9775939ed02c822109cbcf4224000d5472df
diff --git a/tools/releasetools/Android.bp b/tools/releasetools/Android.bp
index 3732b78..0302856 100644
--- a/tools/releasetools/Android.bp
+++ b/tools/releasetools/Android.bp
@@ -12,6 +12,89 @@
// 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.
+//
+
+python_defaults {
+ name: "releasetools_add_img_to_target_files_defaults",
+ srcs: [
+ "add_img_to_target_files.py",
+ ],
+ libs: [
+ "releasetools_build_image",
+ "releasetools_build_super_image",
+ "releasetools_common",
+ ],
+ required: [
+ "care_map_generator",
+ ],
+}
+
+python_defaults {
+ name: "releasetools_build_image_defaults",
+ srcs: [
+ "build_image.py",
+ ],
+ libs: [
+ "releasetools_common",
+ "releasetools_verity_utils",
+ ],
+ required: [
+ "blk_alloc_to_base_fs",
+ "e2fsck",
+ "simg2img",
+ "tune2fs",
+ ],
+}
+
+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_ota_from_target_files_defaults",
+ srcs: [
+ "edify_generator.py",
+ "ota_from_target_files.py",
+ "target_files_diff.py",
+ ],
+ libs: [
+ "releasetools_common",
+ "releasetools_verity_utils",
+ ],
+ required: [
+ "brillo_update_payload",
+ ],
+}
+
+//
+// Host libraries.
+//
+
python_defaults {
name: "releasetools_library_defaults",
version: {
@@ -25,10 +108,37 @@
}
python_library_host {
- name: "releasetools_build_super_image",
+ name: "releasetools_add_img_to_target_files",
+ defaults: [
+ "releasetools_library_defaults",
+ "releasetools_add_img_to_target_files_defaults",
+ ],
+}
+
+python_library_host {
+ name: "releasetools_apex_utils",
defaults: ["releasetools_library_defaults"],
srcs: [
- "build_super_image.py",
+ "apex_utils.py",
+ ],
+ libs: [
+ "releasetools_common",
+ ],
+}
+
+python_library_host {
+ name: "releasetools_build_image",
+ defaults: [
+ "releasetools_library_defaults",
+ "releasetools_build_image_defaults",
+ ],
+}
+
+python_library_host {
+ name: "releasetools_build_super_image",
+ defaults: [
+ "releasetools_library_defaults",
+ "releasetools_build_super_image_defaults",
],
}
@@ -56,6 +166,22 @@
}
python_library_host {
+ name: "releasetools_img_from_target_files",
+ defaults: [
+ "releasetools_library_defaults",
+ "releasetools_img_from_target_files_defaults",
+ ],
+}
+
+python_library_host {
+ name: "releasetools_ota_from_target_files",
+ defaults: [
+ "releasetools_library_defaults",
+ "releasetools_ota_from_target_files_defaults",
+ ],
+}
+
+python_library_host {
name: "releasetools_verity_utils",
defaults: ["releasetools_library_defaults"],
srcs: [
@@ -69,6 +195,10 @@
],
}
+//
+// Host binaries.
+//
+
python_defaults {
name: "releasetools_binary_defaults",
version: {
@@ -84,34 +214,63 @@
}
python_binary_host {
+ name: "add_img_to_target_files",
+ defaults: [
+ "releasetools_binary_defaults",
+ "releasetools_add_img_to_target_files_defaults",
+ ],
+}
+
+python_binary_host {
name: "build_image",
- defaults: ["releasetools_binary_defaults"],
- srcs: [
- "build_image.py",
- ],
- main: "build_image.py",
- libs: [
- "releasetools_common",
- "releasetools_verity_utils",
- ],
- required: [
- "blk_alloc_to_base_fs",
- "e2fsck",
- "simg2img",
- "tune2fs",
+ 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_ota_package_signature",
defaults: ["releasetools_binary_defaults"],
srcs: [
- "build_super_image.py",
+ "check_ota_package_signature.py",
],
- main: "build_super_image.py",
libs: [
"releasetools_common",
],
+ required: [
+ "delta_generator",
+ ],
+}
+
+python_binary_host {
+ name: "check_target_files_signatures",
+ defaults: ["releasetools_binary_defaults"],
+ srcs: [
+ "check_target_files_signatures.py",
+ ],
+ libs: [
+ "releasetools_common",
+ ],
+ required: [
+ "aapt",
+ ],
+}
+
+python_binary_host {
+ name: "img_from_target_files",
+ defaults: [
+ "releasetools_binary_defaults",
+ "releasetools_img_from_target_files_defaults",
+ ],
}
python_binary_host {
@@ -131,7 +290,6 @@
srcs: [
"merge_builds.py",
],
- main: "merge_builds.py",
libs: [
"releasetools_build_super_image",
"releasetools_common",
@@ -139,20 +297,34 @@
}
python_binary_host {
- name: "ota_from_target_files",
+ name: "merge_target_files",
defaults: ["releasetools_binary_defaults"],
srcs: [
- "edify_generator.py",
- "ota_from_target_files.py",
- "target_files_diff.py",
+ "merge_target_files.py",
],
- main: "ota_from_target_files.py",
libs: [
+ "releasetools_add_img_to_target_files",
+ "releasetools_build_super_image",
"releasetools_common",
- "releasetools_verity_utils",
+ "releasetools_img_from_target_files",
+ "releasetools_ota_from_target_files",
],
- required: [
- "brillo_update_payload",
+}
+
+python_binary_host {
+ name: "ota_from_target_files",
+ defaults: [
+ "releasetools_binary_defaults",
+ "releasetools_ota_from_target_files_defaults",
+ ],
+}
+
+python_binary_host {
+ name: "ota_package_parser",
+ defaults: ["releasetools_binary_defaults"],
+ srcs: [
+ "ota_package_parser.py",
+ "rangelib.py",
],
}
@@ -163,33 +335,70 @@
"rangelib.py",
"sparse_img.py",
],
- main: "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",
+ ],
+ 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",
+ ],
+}
+
+//
+// Tests.
+//
+
python_defaults {
name: "releasetools_test_defaults",
srcs: [
- "add_img_to_target_files.py",
- "apex_utils.py",
- "build_image.py",
"check_ota_package_signature.py",
"check_target_files_signatures.py",
- "edify_generator.py",
- "img_from_target_files.py",
"make_recovery_patch.py",
"merge_target_files.py",
- "ota_from_target_files.py",
"ota_package_parser.py",
"sign_apex.py",
"sign_target_files_apks.py",
- "target_files_diff.py",
"validate_target_files.py",
"test_*.py",
],
libs: [
+ "releasetools_add_img_to_target_files",
+ "releasetools_apex_utils",
+ "releasetools_build_image",
"releasetools_build_super_image",
"releasetools_common",
+ "releasetools_img_from_target_files",
+ "releasetools_ota_from_target_files",
"releasetools_verity_utils",
],
data: [