build: Add support for PRODUCT_COPY_FILES_OVERRIDES

 * We may have a case where prebuilts need to be built from
   source instead based on an externalized config.
 * New directive takes a list of destination files to remove from
   PRODUCT_COPY_FILES so that other instructions can be supplied.

Change-Id: I7feff16440e54d1676ffddbbd96d5947efa43ede
Allow individual projects to enforce a property's value

Some projects require system properties to be set to a specific
value (for example, a shared library needing a property pointing
to its own path) in order to work correctly, but some device
configurations are mistakenly setting those properties with the
wrong value (usually inherited from the original OEM build).

"PRODUCT_PROPERTY_UBER_OVERRIDES += property=value" can (and
should) be used in that project's makefile to ensure the value
is the correct one. This variable is intended for software projects,
and should never be used in product makefiles (BoardConfig, cm.mk,
AndroidProduct)

Change-Id: I1986e7c444e51cce8b198e43fdc793fad16d6276
Store the value from TARGET_OTA_ASSERT_DEVICE to a file

This is needed so it can be read in when re-signing a package to
allow for the proper device asserts.

Change-Id: I8f3bb491bbbaa4d2b827a45ef83f12c6c83e6712
build: edify: use set_metadata for backuptool

Also use saner permissions on backuptool.sh

Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9
ota: Make sure we don't install on top of an incompatible system

If the system has data present, make sure said data doesn't depend
on a system signature different from our own. If we can't find
our platform key, abort the installation

Change-Id: I16572daf9464de326a9d0d126597cfbf03208f94
ota: Include copies of the recovery scripts even if shipping in block mode
Edify: Add AssertSomeBaseband

Allow releasetools.py to assert a baseband version. Works just like
AssertSomeBootloader.

Change-Id: Ic8eb341cef1d777d983be25ba21a3bc545819c29
ota_from_target_files: Validate signatures after possible data wipe

If the data is being wiped, we want to validate the signature after
this step. This is also a good check that the data wipe succeeded.

Change-Id: Iaecfddfb2010944de0c97e7bb21d8e581f20deec
ota: Fix recovery-script cleanups in block mode

Change-Id: Iadb480f8062cfb7a0e6c9024e32ac0d71a7481d7
product_config: Set PA_BUILD priority above TARGET_BUILD_APPS

Even if we are doing TARGET_BUILD_APPS, we may want to use a pa
target for building.

Change-Id: Ic8053bc679fa8b726be90e611aeaacdf1850cabc

Conflicts:
	core/product_config.mk
fix misc pa changes

Change-Id: I29dbb32e7d626c993b97bcaa5ea4343262980337
Signed-off-by: houst0nn <houstonn@gmail.com>
build: Set ccache base to build top

This enables ccache sharing between different build tree paths.

Change-Id: I99636bdd2779a6ccf0649f027e35cf67df44b6ae
Finish bring up

- Build CellBroadcastReceiver
- Replace Launcher2 w/ Launcher3 & remove QuickSearchBox
- add PRODUCT_BUILD_PROP_OVERRIDES
- Remove deprecated Music package
- Remove optional "Home Sample" Launcher

and more...

Change-Id: Ic8f707e7c2f492812648a4a5c3cc0b22af5fbb08
Maintenance & fixes

fix print PA_VERSION in build config
fix roomservice

Change-Id: I3cd6a75ff7d747eaba581c1e2c8cea077c2189ef

Conflicts:
	tools/repopick.py
Force colorsheme to SVG, since darkblue doesn't exist on X11

Change-Id: I1b9e13dd4ca63ba27a49a55d95130bdceb187669
Colorize javac errors

You know those multi-line ones that are frequently interspersed with other buld output?
The ones that don't even have the word "error" in them to search for?

This makes them red.

ps2: fix jar_check failures cause by leaving empty stderr files in intermediates dirs
     this is probably not the best place to store stderr before colorizing it if javac
     exits non-zero, but it seems much lighter than mkdiring a bunch of temp directories
     or using sed to mangle the paths to point to per-intermediates directory unique
     temporary file names

Change-Id: I3b9b7d8a0c76958588ac1603b6742987d6dde54c
Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
colorize non-fatal javac stderr yellow (and actually display it... at all)

woops!

Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I984f428022a68a825aa041866e8d459bd6611f71
build: Fix some colored build issues

 * Fix some broken lines in definitions.mk
 * Finish adding colors to product-graph.mk

Change-Id: I235a60c967b1f10ec6dd1cac25740badbd3b64c9
build: Degreenify java

Change-Id: Iac348407997f7e52844af0494ee59762df0819d7