commit | ab1e54d5f1389314de49ca5aa3003e33b9d4aba7 | [log] [tgz] |
---|---|---|
author | Tobias Thierer <tobiast@google.com> | Fri Nov 17 14:06:51 2017 +0000 |
committer | Tobias Thierer <tobiast@google.com> | Mon Dec 11 14:21:37 2017 +0000 |
tree | ab550a9247ed2d4f4a8ab81ad841e5c94043de2f | |
parent | 5006ee95fc5649fa11d4f41c151b5968dc1a0adf [diff] |
Build with OpenJDK 9 -target 1.8 by default except for errorprone. (This is cherry-picked from the first attempt to submit this CL topic, which was reverted after 3 hours because of bug 70286093; robolectric 3.{1.1,4.2} now stick with OpenJDK 8 to avoid that bug). Before this CL topic, the build toolchain for .java source files used OpenJDK 8, targeting 1.8 (v52 class files) by default. This CL topic switches the default to OpenJDK 9, but still targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE is set to true, then the default remains OpenJDK 8. Code in the Android platform should generally be unaffected, but if host tools that are now compiled and run using OpenJDK 9 are causing problems for your team, then let me know. To manually switch back to the old behavior for now (continue using OpenJDK 8), run this command in your shell: export EXPERIMENTAL_USE_OPENJDK9=false Bug: 69449021 Test: Treehugger Test: Running robolectric tests succeeds on internal-master after cherry-picking this CL topic, using the command line from http://b/70286093#comment1 (cherry picked from commit 5f36a62622840e121a5276acbdfa8d548744d4e5) Change-Id: I4972c714ed80c35328895e88675b56bf0e195c01
This is the Makefile-based portion of the Android Build System.
For documentation on how to run a build, see Usage.txt
For a list of behavioral changes useful for Android.mk writers see Changes.md
For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.
This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.