History log of /build/core/java_common.mk
Revision Date Author Comments
b08544ed7d24b7b065debc061290ec55eaeced20 19-Feb-2016 Neil Fuller <nfuller@google.com> Add core-lambda-stubs to default classpath for target libs compiling using javac

In order to compile lambda code javac requires various invokedynamic-
related classes to be present. This change adds stubs needed for
javac to compile lambdas.

Bug: 27475234
Bug: 26753820
Bug: 26604040
Change-Id: Ifc79eebabfc6b64c0daf6b9ca236d1967a45a735
6f9bd2a97270bda82a98e560877e00de1880d637 29-Mar-2016 Ying Wang <wangying@google.com> Set PRIVATE_TARGET_AAPT_CHARACTERISTICS even when running with the old aapt

In commit e758f9319dcb6cc9693af03cc03d385167a35a8d we switched from
TARGET_AAPT_CHARACTERISTICS to PRIVATE_TARGET_AAPT_CHARACTERISTICS in
add-assets-to-package but forgot to set the variable when we are running
the old aapt.

Bug: 27874886
Change-Id: I03ced3030dcb9f024eef5b23dbfd5d99157952ea
decb797276462feb4311b04e493da18f942b882f 04-Mar-2016 Neil Fuller <nfuller@google.com> Make the language version selection smarter

Any artifacts that are targeting SDK versions < 24
and not explicitly setting the LOCAL_JAVA_LANGUAGE_VERSION
are now defaulted to 1.7.

Bug: 27495650
Bug: 26753820
Bug: 27377071
Change-Id: Ia903cd5bf14c1947c485384d095a93c0aa23d272
063d0455e0f3a14f2577a26715f82e0bf3e79ee9 03-Mar-2016 Ying Wang <wangying@google.com> Align up java-lib-files and java-lib-deps.

- For host Java libraries, java-lib-files should return javalib.jar.
- Host dalvik Java libraries are special: factor out
host-dex-java-lib-files.
- Be explict that jack-lib-deps equals jack-lib-files.

Bug: 27451686
Change-Id: I9235384354e119ef7ebbf29b7e525d1ceea242e0
d5ffec938344defd437d8e315d6a3376b1100a5a 02-Mar-2016 Ying Wang <wangying@google.com> Clean generated source dir if .proto/.rs is gonee.

Similar to how we clean the generated source dir if .aidl becomes
obsolete.

Bug: 26688474
Change-Id: I66c5b6d6513259b5f4f4bac84f384f4bf953d82a
3f7300147dcbe82cb80999bd129e255893a2f133 23-Feb-2016 Neil Fuller <nfuller@google.com> Revert "Revert "Change the default for LOCAL_JAVA_LANGUAGE_VERSION from 1.7 to 1.8""

This reverts commit 799d603029701fd565538ed7d09be3cdf34dded9.
799d603029701fd565538ed7d09be3cdf34dded9 23-Feb-2016 Neil Fuller <nfuller@google.com> Revert "Change the default for LOCAL_JAVA_LANGUAGE_VERSION from 1.7 to 1.8"

Reverting: broke the messaging app due to a recent change
there (commit 280a2fbe41f24eed11fcf5e13b803de17525b261).

This reverts commit dfcd9124880528a7bfbf9ba361b1a2040035ca06.

Change-Id: I055f35c0a7400ab2887c91d017eebaed1adaf972
b7de0fb1ed71d2e2a922551d8cfcd57abe1e2119 03-Nov-2015 Yohann Roussel <yroussel@google.com> Add support for testing obfuscated app with Jack

Bug: 17481317
Bug: 27215871
Bug: 27215868

(cherry picked from commit 505dafb03bdbd9351b5eb8565ac4d8195592ff9a)

Change-Id: Ia12fb92585cfcc595eef6cd096d27e779e596f7d
dfcd9124880528a7bfbf9ba361b1a2040035ca06 16-Feb-2016 Neil Fuller <nfuller@google.com> Change the default for LOCAL_JAVA_LANGUAGE_VERSION from 1.7 to 1.8

Modify the compiler flags for Jack and javac.

This has the following effects:
1) Generally, some of the type inference rules changed.
2) javac: bytecode is generated with the v52 major version (not v51)
3) jack: Java 8 language features are supported.

The javac / dx toolchain does not support Java 8 language features.

Bug: 26753820
Change-Id: Icf619f601def30600a42a70815fc8cc754eafa8a
ad02251a96dc5dca45c5acdc1becd60f6d94e8f2 29-Jan-2016 Neil Fuller <nfuller@google.com> Revert "Revert "Allow java targets to support 1.8 source / target""

Reapply build changes for Java 8. Must be submitted with
changes in development/build.

This reverts commit 8db0d9724faf8e4ff0d2ced10b7ff479ed13fa77.

Change-Id: Id2bef692997876c34f6c58b7b0512f4478da1985
8db0d9724faf8e4ff0d2ced10b7ff479ed13fa77 29-Jan-2016 Neil Fuller <nfuller@google.com> Revert "Allow java targets to support 1.8 source / target"

Broke the sdk build. Requires changes in development that aren't available for submission yet.

This reverts commit cdfbe4a8522b9a13ffe6ac1f826a1d6760f87d60.

Change-Id: Ibb655daa05de55c3c947141ddf96a32ca1d87de4
cdfbe4a8522b9a13ffe6ac1f826a1d6760f87d60 16-Jan-2016 Neil Fuller <nfuller@google.com> Allow java targets to support 1.8 source / target

This change enables build rules to specify:

LOCAL_JAVA_LANGUAGE_VERSION := 1.8

to enable -source 1.8 -target 1.8 for javac and
equivalent flags for Jack.

Bug: 26753820
Change-Id: I7991fafe4978485354663f091f4d78a0cc73ba26
cdc3d5ac034b26a2327c498c529ff52950dfc5b3 24-Dec-2015 Narayan Kamath <narayan@google.com> Revert "Temporary workaround to build bouncycastle / nist-pkits"

This reverts commit 3006881f84c9abf1ab85b77ecd4e815c4cb880d0.
3006881f84c9abf1ab85b77ecd4e815c4cb880d0 24-Dec-2015 Narayan Kamath <narayan@google.com> Temporary workaround to build bouncycastle / nist-pkits

Change-Id: I20bb834f08eeff03f627ab7d8f422a5ba9f3eb1a
052a00f64e82b524fcb4320897b46dc941670a22 17-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Use core-oj alongside core-libart wherever required.

With some core classes moved to separate core-oj jar
we need to use the new jar.

(cherry picked from commit 89b94c827f92e107b286ab60876ff9f75ba22a33)

Change-Id: I025c0adc70535bf23def3ab0ce28a1bfaef72514
f972a4a980660d2347ace8fdc7c668403c0e9697 09-Dec-2015 Shinichiro Hamaji <hamaji@google.com> Reduce unnecessary rebuilds of .dex files with restat=1

The .dex.toc files are created by dexdump, which outputs all
information in a .dex file which may affect compilation of
other modules.

For prebuilt java libraries and static java libraries, we'll
output empty .toc files and don't set restat=1. .dex.toc files
are necessary even for static java libraries because they can
be referenced by LOCAL_JAVA_LIBRARIES (instead of
LOCAL_STATIC_JAVA_LIBRARIES).

We don't use this optimization for apps build. We cannot build
dexdump for apps build due to lack of libc++.

Performance:

$ m && touch \
frameworks/base/core/java/com/google/android/util/Procedure.java \
&& time m
Before: 3m48s
After: 1m46s

Bug: 24597504
Change-Id: Id1665923b414dee705dc60af4c021390a19ea26f
4f2f19518eb21aba563c0890bd1ccb441384bbda 23-Nov-2015 Ying Wang <wangying@google.com> Set -bootclasspath to "" if LOCAL_NO_STANDARD_LIBRARIES

Without this if a Java libraryw with LOCAL_NO_STANDARD_LIBRARIES doesn't
have core-libart in its LOCAL_JAVA_LIBRARIES, it would use core-libart
as bootclasspath but without having dependency on it.

Change-Id: I611a5a5df2bf0ad59e0be50ed1ad1afe8b843e90
(cherry-pick from commit c6a301756cd6bc58691cde69513b28e7ee0d1ac6)
89b255ab712cb7c93e99799fb2216f81e8391730 09-Nov-2015 Shinichiro Hamaji <hamaji@google.com> Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files

The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203324b9435414e789c02394ca99c98f7)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
3ae7f66babcb98d91aa9d2a27f9275af03b319a5 27-Nov-2015 Shinichiro Hamaji <hamaji@google.com> Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"

This reverts commit c1f5d9c203324b9435414e789c02394ca99c98f7.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
0fb087fc7355a4f42ef5d403628fe5259f4d7ddd 06-Nov-2015 Michael Wright <michaelwr@google.com> Add new Test API for CTS testing.

Bug: 25608286
Change-Id: I0334061b548970959e46392dc3a1feed8533548c
c6a301756cd6bc58691cde69513b28e7ee0d1ac6 23-Nov-2015 Ying Wang <wangying@google.com> Set -bootclasspath to "" if LOCAL_NO_STANDARD_LIBRARIES

Without this if a Java libraryw with LOCAL_NO_STANDARD_LIBRARIES doesn't
have core-libart in its LOCAL_JAVA_LIBRARIES, it would use core-libart
as bootclasspath but without having dependency on it.

Change-Id: I611a5a5df2bf0ad59e0be50ed1ad1afe8b843e90
a9648fb2ee3c55832fcdc64694dbb42f57dc9688 17-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Use core-oj alongside core-libart wherever required.

With some core classes moved to separate core-oj jar
we need to use the new jar.

Change-Id: Ie069c7a93e63b1df854b3137d984b96520562609
89b94c827f92e107b286ab60876ff9f75ba22a33 17-Feb-2015 Piotr Jastrzebski <haaawk@google.com> Use core-oj alongside core-libart wherever required.

With some core classes moved to separate core-oj jar
we need to use the new jar.

Change-Id: Ie069c7a93e63b1df854b3137d984b96520562609
c1f5d9c203324b9435414e789c02394ca99c98f7 09-Nov-2015 Shinichiro Hamaji <hamaji@google.com> Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files

The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
6528ea30869e28ca04c48664f2315611701faa94 12-Oct-2015 Yohann Roussel <yroussel@google.com> Remove LOCAL_JACK_EXTRA_ARGS

Use of DEFAULT_JACK_EXTRA_ARGS and LOCAL_JACK_FLAGS provides all needed
support.

(cherry picked from commit d2b2983cc791f90a0d052699603723335ab94f5a)

Change-Id: I1cd76836792e7332bc3750408a860400b0957485
b2c5558435b6628b6500be9f197269f95a89c983 02-Jul-2015 Yohann Roussel <yroussel@google.com> Clean call-jack and its callers

This is possible now that we have the new Jack server.
Also fix dependency from dex/jack target to jack script
instead of jack.jar.

(cherry picked from commit 5e50b342218fe2b9c1af20fd7da3c173bfac0499)

Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
d2b2983cc791f90a0d052699603723335ab94f5a 12-Oct-2015 Yohann Roussel <yroussel@google.com> Remove LOCAL_JACK_EXTRA_ARGS

Use of DEFAULT_JACK_EXTRA_ARGS and LOCAL_JACK_FLAGS provides all needed
support.

Change-Id: Ic4d20887e1905b65a6608a22a69188429b754e34
7c3e3f8314eec2c053012dd97d2ae649ebeb5653 30-Sep-2015 Dan Willemsen <dwillemsen@google.com> Sort more instances of wildcard and find

Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
ff82e82a1e1838b4b469fb24d4278a98dfe3ddc9 04-Sep-2015 Yasuhiro Matsuda <mazda@google.com> Move part of logtags stuff back to base_rules.mk.

Otherwise event tags for non-Java modules
(e.g. logcat, libsurfaceflinger) are not generated.

BUG: 23803975
Change-Id: I6fd53fe2ca39102787fc513aa8c23f906b94f253
956dcccf76bb176b45cc098808cb7ac5dcb5e8f7 28-Aug-2015 Ying Wang <wangying@google.com> Move Java stuff out of base_rules.mk

- Moved the target-only .aidl and .logtag rules to java.mk.
- Moved the .proto rules, Java library dependency calculation,
Java resource processing and Java-related
target-specific and global variables setup to a new java_common.java,
which is shared by both target and host Java modules.
- Minor cleanup for the moved code.

Bug: 23597357
Change-Id: Ic3eb72e26bb1a663e5739abe0a935f96b88bc352