diff options
Diffstat (limited to 'build/config/android')
-rw-r--r-- | build/config/android/config.gni | 10 | ||||
-rw-r--r-- | build/config/android/internal_rules.gni | 12 | ||||
-rw-r--r-- | build/config/android/rules.gni | 7 |
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" ] } |