Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit '5890600dac385941b6a4c6b6d0b230c1f13d54fa' into gingerbread-plus-aosp
* commit '5890600dac385941b6a4c6b6d0b230c1f13d54fa':
Add a better explanation about how to deal with user modules
Merge commit '32afccc732a6d7c631d2ba4d8a818fcbe2162903' into gingerbread-plus-aosp
* commit '32afccc732a6d7c631d2ba4d8a818fcbe2162903':
Revert "Default host module tag to optional."
Merge commit '6e8b268dec3cc38151dfd0514621219b79a30fa9' into gingerbread-plus-aosp
* commit '6e8b268dec3cc38151dfd0514621219b79a30fa9':
Fail the build when using a user tag on a non-legacy module. do not merge
The supported mechanism is to explicitly add the module
name to the PRODUCT_PACKAGES of the relevant product definitions.
Change-Id: I67bef9a967576b77a5d6c298178f03c66722eb37
Merge commit '528362f07460cfee42190e68ee2ffde4f08f0af4' into gingerbread-plus-aosp
* commit '528362f07460cfee42190e68ee2ffde4f08f0af4':
Default host module tag to optional.
With this change, host-dexed library A can have host-dexed library B in its LOCAL_JAVA_LIBRARIES.
Bug: 2992136
Change-Id: I794613d3230d4eb471a0566c325078da8fa38b86
Merge commit 'a90f9d2c299d7833b37f8a0e244a2893054d9ea5' into gingerbread-plus-aosp
* commit 'a90f9d2c299d7833b37f8a0e244a2893054d9ea5':
Warn when new modules are found that use user tags - DO NOT MERGE
It turns out we should also LOCAL_INSTRUMENTATION_FOR.
To disambiguate LOCAL_INSTRUMENTATION_FOR_PACKAGE_NAME is renamed to LOCAL_MANIFEST_INSTRUMENTATION_FOR.
Bug: 2902591
Change-Id: I6cb893c135736fc4170aa2259105b4c5eea798a1
Besides that, add enough magic to build everything tagged
as "shell_$(TARGET_SHELL)" and permit ash/mksh as not unusual
Change-Id: I36c0590ba49f45251d24dc179cb27c8368c3662a
I don't remember exactly, but I think the dependencies for apps
were broken, and you couldn't reliably cause the java to be rebuilt
by depending just on the jar file-- you needed to depend on the
apk. That isn't the case anymore, and relying on the apk means
that something built in out/target/common was depending on something
that's deleted by installclean.
With this change (and others), on my mac, the build after
installclean for passion-eng takes 2 minutes instead of 11.
Change-Id: Ib490f88292d591254013e07958961fc50ec2e3dc
Produce an event logs tag file for everything we know about, in order
to properly allocate numbers. Then produce a file that's filtered
for what's going to be installed.
Change-Id: Id0778aec0b4d045e8ff91ba2c9c8265e860eaba5
So that "tapas" without argument won't end in makefile-could-not-load error in unbundled branch.
Also, the magic "all" apps will build only apps, not other things.
Change-Id: Iac6dd928ee4e42996147acdab31930cd4ffa1768
1. Set correct aidl_preprocess_import for LOCAL_SDK_VERSION current.
2. Set correct PRIVATE_BOOTCLASSPATH for non-empty LOCAL_SDK_VERSION.
Change-Id: Iff8e266931434863521bfa4621767bed31d31cc0
http://b/issue?id=2451361
With this CL, you can inherit a testing package to test a inheriting package.
Note: we change the meaning of $(5), so we need to change any existing calls
to inherit-package in other projects.
Change-Id: I673155d1b8b6006953d14e1ab87066536ebd1e54
With this change, you can specify "?" in place of a tag number in a
.logtags file and the build system will assign numbers to these tags.
(The numbers used shouldn't matter since we translate them back to tag
names whenever the logs are read back.)
This is pretty straightforward to do:
- make merge-event-log-tags.py assign numbers to any tags that specify
"?"
- make the generated java files depend on the merged output
- make java-event-log-tags.py read both the original .logtags and the
merged output, and fill in tag numbers for any "?" using the merged
version.
Change-Id: Icc6ccd705db461d570fc929922a830aa6deaca48
Also add a warning when there's TAG=user on a CLASS=apps module,
as this is not what people normally intend (this should be handled
in core.mk instead).
This used to be a source of confusion, with people using TAGS=user on
APPS and non-APPS modules, and being surprised to see some of those
included but not others.
Change-Id: I56b5618a556abdc6b841bf7a943d77c20fe9a4c5
Such tags don't do anything, so using them is at
best a no-op, at worst a typo where the author intended
something else.
Change-Id: I1462032f4df3564b06a82685f226a6d5a665a633
Construct the /system/etc/event-log-tags file by unioning together any
*.logtags files included in LOCAL_SRC_FILES throughout the system (with
appropriate error checking for dup tag numbers, etc.)
For java packages, generate a java source file from the logtags file for
that package that contains static integer constants for each tag name.
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 '46e9beca50057bd4ff375b35fd5958c05ce5bcb7'
* commit '46e9beca50057bd4ff375b35fd5958c05ce5bcb7':
core: Add support for static libraries to include other whole static libs.
Currently, if LOCAL_WHOLE_STATIC_LIBRARIES is specified, its values is
ignored. This patch addresses this limitation and works as follows:
For every whole lib specified, it extracts the archive into a sub-directory
under the target lib's intermediate, and then seeds the initial target
archive with all the members.
Signed-off-by: Dima Zavin <dima@android.com>