Now, by default, instead of fully building everything,
we skip dexing the modules that aren't going to be included
in the current build.
This will slow down some of the incremental builds (like tests),
but it improves the regular eng build from 27.5 minutes on my
Mac Pro to 25 minutes. That's not as much of an improvement
as I had hoped for, but it's still better.
There is also a change in here that puts the java-source-list
file which is used to get around limited command line lengths
in the proper directory. Before this change, it was an
accident that the directory for that file existed!
Merge commit 'a237874ccf49e92b93faea51f65c2ff37ea19ac7'
* commit 'a237874ccf49e92b93faea51f65c2ff37ea19ac7':
fix the modtime of files in the apk when signing
Improve the speed of incremental OTA install by treating unchanging
gzip chunks as normal chunks, avoiding a decompress/recompress cycle.
This reduces the time needed to apply a patch to a boot image where
the kernel has not changed from ~30 seconds to ~2 seconds, on an opal.
SignApk fixes the timestamp of the signature files it adds. Use that
same timestamp for all the files, so that the modtime doesn't vary
from build to build. (Incremental OTAs currently spend significant
time rewriting every .apk to do nothing but patch in timestamp
changes.)
Merge commit '030614740c1a22e51c6513058852f9ab368fdf5d'
* commit '030614740c1a22e51c6513058852f9ab368fdf5d':
in auto mode, generate both edify and amend scripts for full OTAs
* changes:
Since we're using gcc 4.4 in master, we can use the -Werror= option to make not having a virtual destructor in classes with virtual methods an error. I already fixed all code that had this problem, so now it's a matter of turning the option on. Also, as long as we don't have any C-specific options, it's probably best to copy the CPP flags from the C flags. We can always break them out later.
to make not having a virtual destructor in classes with virtual
methods an error. I already fixed all code that had this problem,
so now it's a matter of turning the option on.
Also, as long as we don't have any C-specific options, it's
probably best to copy the CPP flags from the C flags. We can
always break them out later.
Merge commit 'e41accf68eedfd17bc569aee8480cf8c48d82e61'
* commit 'e41accf68eedfd17bc569aee8480cf8c48d82e61':
Pass compiler flags for C++ too, and add a flag that enables warnings about missing virtual destructors
The build servers have GNU coreutils 5.93, where stat does not output
a newline. Ubuntu hardy has GNU coreutils 6.10, where it does.
Lacking a newline messes up the summing of the sizes. Fix
get-file-size to remove the newline if present, and make the total
calculation in assert-max-file-size more robust.
Also, if the image was too big, it was not actually making the build
fail (because /bin/false was not the last thing called). Fix that so
it does.
When I moved the building of the recovery image upwards in the file, I
moved an 'endif' surrounding it but not the matching 'if'. How did
this ever work?
Merge commit 'bd1ee348a1891836cf3b5d0da72e75c0d256fa43'
* commit 'bd1ee348a1891836cf3b5d0da72e75c0d256fa43':
Also look in vendor/*/build for vendorsetup.sh
Merge commit '92c8ecbf99daf492a24408686017609763429251'
* commit '92c8ecbf99daf492a24408686017609763429251':
Add the JNI library of CertTool for handling certificates.
There are currently two errors in the way we test the size of built
images against the size of the partition on the hardware:
- the limits in BoardConfig.mk are set with the data size only, but
images contain an extra 64 bytes per 2048-byte page. This means we
think the partition is about 1/32 smaller than it really is.
- when we deliver a build via OTA, the system partition ends up with
one more file than when it's flashed via fastboot. That file is a
copy of the recovery image. In order to be able to OTA a build, we
need to make sure the system partition has enough room for all the
system files plus the recovery image as well.
For the kila system partition, these errors are roughly the same order
of magnitude -- about 2MB, one in the "safe" direction, one in the
"unsafe" direction. This change fixes both to give us a more accurate
notion of how close we are to the limit.
Make the build emit a warning (but not fail) when the size is within
32kb of the limit.
Also, include the values of the partition size limits in an info file
in the target-files package, so post-processing tools can use them
without parsing the BoardConfig.mk file.