commit | c765cca38bd357097dd2b7d3713a49bcd62a6858 | [log] [tgz] |
---|---|---|
author | Tao Bao <tbao@google.com> | Wed Jan 31 17:32:40 2018 -0800 |
committer | Tao Bao <tbao@google.com> | Thu Feb 01 12:35:48 2018 -0800 |
tree | 1bc554fb6a13889db50eca24738c7ff0607ad767 | |
parent | bb20e8c5f2c97cfbed30e8cab53161a539398c8e [diff] |
releasetools: Detect incomplete block ranges. This CL detects incomplete block ranges (e.g. due to the holes in mke2fs created images). Such block ranges will be tagged, so we won't attempt to imgdiff those files. Note that the change to blockimgdiff.py, which uses the tag info, will come in a separate CL. An 'extra' attribute is added to RangeSet class, which defaults to an empty dict. An 'incomplete' tag will be added into the dict by the caller of the class. Not adding this tag as an immediate attribute, because it is not a property regarding the ranges being represented, but rather some storage space for the caller. This CL also refactors GetSparseImage and RoundUpTo4K into common.py, so the same code can be called from both of ota_from_target_files.py and validate_target_files.py. Not able to add unittests for GetSparseImage(), as SparseImage requires data in specific format. Bug: 68016761 Test: Run validate_target_files.py on target-files.zip. It skips validating files with missing holes as before. Test: Run ota_from_target_files.py on angler target-files.zip. It gives identical packages w/ and w/o the CL. Test: pylint on changed files. There're warnings with common.py, but unrelated to this change. Change-Id: I126ccfea13c0d5ebcc8c1b4ff1a4f9200e97423a
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.