Change things so that when $(LOCAL_PREBUILT_STRIP_COMMENTS) is
nonempty, we copy the source file using sed to strip out all the "#
line"-style comments and blank lines, saving considerable system image
space in the case of some wifi configurations.
Bug: 2036961
This cuts the make startup time by about 30 seconds. Python is faster
than bash in this case, and also we can now supply multiple directories
to prune, and skip the .repo directory, which is, uh, big.
This is from my mac laptop:
$ time build/tools/findleaves.sh --prune="./out" . Android.mk > /dev/null
real 0m29.186s
user 0m0.550s
sys 0m5.897s
$ time build/tools/findleaves.py --prune="./out" . Android.mk > /dev/null
real 0m4.701s
user 0m0.645s
sys 0m1.294s
$ time build/tools/findleaves.py --prune="./out" --prune="./.repo" . Android.mk > /dev/null
real 0m0.176s
user 0m0.094s
sys 0m0.080s
Merge commit '1e96ac8430da922332e4c85e7eed0e95442ff2ce'
* commit '1e96ac8430da922332e4c85e7eed0e95442ff2ce':
Make the recovery.img construction (from boot.img) logic depend on whether recovery.img was installed.
The SDK build doesn't have recovery, don't try to generate a patch or
include it in the system image size calculation. Also there's a
dependency on bsdiff that was omitted.
Instead of storing the whole recovery image in system in order to
flash it on first boot, we instead use an imgdiff patch from the boot
image to create the recovery image. This is substantially smaller
since it effectively only stores the recovery binary and UI images
(the kernel and the init binary are identical to that of the boot
image).
This change modifies the OTA-building script to create and install
these patches, and changes the calculation of the system image size in
the Makefile to reflect the new scheme.
Make some changes needed to applypatch in order to store the recovery
image in the system partition as a binary patch relative to the boot
image:
- make applypatch use shared libraries, so it's smaller. It will
need to be on the main system so it can install the recovery
image. Make an applypatch_static binary for use in recovery
packages (still needed for updating cupcake devices to donut).
- output the results of patching to an in-memory buffer and write
that to the partition; there's no convenient /tmp for us to us.
(This should be basically a no-op in recovery, since /tmp is a
ramdisk anyway.)
@since tags in the code, it's pulled from the API XML files also used by
apicheck.
The code now reads the apicheck XML, and applies it's versions to the DroidDoc
class models. The models output the version to HDF, and that's picked up by
the CS templates.
The clearsilver templates will be changed to be pretty in a follow up change.
Conflicts:
tools/droiddoc/src/DroidDoc.java
That way we don't have to wait for clearsilver to write the thousands
of html files during every build.
(This is the build change, there is also a frameworks/base change)