summaryrefslogtreecommitdiffstats
path: root/build/config/android
diff options
context:
space:
mode:
Diffstat (limited to 'build/config/android')
-rw-r--r--build/config/android/config.gni10
-rw-r--r--build/config/android/internal_rules.gni12
-rw-r--r--build/config/android/rules.gni7
3 files changed, 24 insertions, 5 deletions
diff --git a/build/config/android/config.gni b/build/config/android/config.gni
index 7abf51a..7ca1b70 100644
--- a/build/config/android/config.gni
+++ b/build/config/android/config.gni
@@ -71,10 +71,16 @@ if (is_android) {
disable_incremental_isolated_processes = false
# Speed up incremental compiles by compiling only changed files.
- incremental_javac = false
+ enable_incremental_javac = false
# Speed up dexing using dx --incremental.
- incremental_dx = true
+ enable_incremental_dx = is_debug
+
+ # Neither of these should ever be used for release builds since they are
+ # somewhat experimental and dx --incremental is known to not produce
+ # byte-for-byte identical output.
+ assert(!(enable_incremental_dx && !is_debug))
+ assert(!(enable_incremental_javac && !is_debug))
# Adds intrumentation to each function. Writes a file with the order that
# functions are called at startup.
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
index 0a8f64d..f9cdaf2 100644
--- a/build/config/android/internal_rules.gni
+++ b/build/config/android/internal_rules.gni
@@ -199,7 +199,7 @@ template("dex") {
rebased_output,
]
- if (incremental_dx) {
+ if (enable_incremental_dx) {
args += [ "--incremental" ]
}
@@ -1048,6 +1048,11 @@ template("compile_java") {
_enable_errorprone = invoker.enable_errorprone
}
+ _enable_incremental_javac = enable_incremental_javac
+ if (defined(invoker.enable_incremental_javac)) {
+ _enable_incremental_javac = invoker.enable_incremental_javac
+ }
+
_manifest_entries = []
if (defined(invoker.manifest_entries)) {
_manifest_entries = invoker.manifest_entries
@@ -1107,8 +1112,10 @@ template("compile_java") {
"--java-srcjars=@FileArg($_rebased_build_config:javac:srcjars)",
"--jar-excluded-classes=$_jar_excluded_patterns",
]
- if (incremental_javac) {
+ if (_enable_incremental_javac) {
args += [ "--incremental" ]
+ deps += [ "//third_party/jmake" ]
+ outputs += [ "${_intermediate_jar_path}.pdb" ]
}
if (_supports_android) {
deps += [ "//build/android:android_ijar" ]
@@ -1276,6 +1283,7 @@ template("java_library_impl") {
[
"dist_jar_path",
"enable_errorprone",
+ "enable_incremental_javac",
"jar_excluded_patterns",
"manifest_entries",
"proguard_config",
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index dee6116..16796b6 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -817,6 +817,7 @@ template("java_strings_grd_prebuilt") {
# android_library target, for example.
# chromium_code: If true, extra analysis warning/errors will be enabled.
# enable_errorprone: If true, enables the errorprone compiler.
+# enable_incremental_javac: Overrides the global enable_incremental_javac.
# main_class: When specified, a wrapper script is created within
# $target_out_dir/bin to launch the binary with the given class as the
# entrypoint.
@@ -905,6 +906,7 @@ template("junit_binary") {
#
# chromium_code: If true, extra analysis warning/errors will be enabled.
# enable_errorprone: If true, enables the errorprone compiler.
+# enable_incremental_javac: Overrides the global enable_incremental_javac.
#
# jar_excluded_patterns: List of patterns of .class files to exclude from the
# final jar.
@@ -996,6 +998,7 @@ template("java_prebuilt") {
#
# chromium_code: If true, extra analysis warning/errors will be enabled.
# enable_errorprone: If true, enables the errorprone compiler.
+# enable_incremental_javac: Overrides the global enable_incremental_javac.
#
# jar_excluded_patterns: List of patterns of .class files to exclude from the
# final jar.
@@ -1799,7 +1802,9 @@ template("unittest_apk") {
if (defined(invoker.deps)) {
deps += invoker.deps
}
- data_deps = [ "//tools/android/md5sum" ]
+ data_deps = [
+ "//tools/android/md5sum",
+ ]
if (host_os == "linux") {
data_deps += [ "//tools/android/forwarder2" ]
}