Chromium Code Reviews| Index: build/config/android/internal_rules.gni |
| diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni |
| index f228bacb7f2fec4fc605562fb6b79c418ef682e4..87d3876112cbe02bb6832387b826f00a8c79493e 100644 |
| --- a/build/config/android/internal_rules.gni |
| +++ b/build/config/android/internal_rules.gni |
| @@ -1015,11 +1015,12 @@ if (enable_java_templates) { |
| _rebased_build_config = rebase_path(_build_config, root_build_dir) |
| assert(_rebased_build_config != "" || true) # Mark used. |
| - _proguard_preprocess = |
| - defined(invoker.proguard_preprocess) && invoker.proguard_preprocess |
| _input_jar_path = invoker.input_jar_path |
| _output_jar_path = invoker.output_jar_path |
| + _proguard_preprocess = |
| + defined(invoker.proguard_preprocess) && invoker.proguard_preprocess |
| + |
| _jar_excluded_patterns = [] |
| if (defined(invoker.jar_excluded_patterns)) { |
| _jar_excluded_patterns = invoker.jar_excluded_patterns |
| @@ -1028,24 +1029,14 @@ if (enable_java_templates) { |
| invoker.strip_resource_classes |
| _filter_jar = _jar_excluded_patterns != [] || _strip_resource_classes |
| + _enable_assert = is_java_debug && defined(invoker.supports_android) && |
|
agrieve
2016/11/11 21:30:47
nit: also enable when dcheck_always_on is set (thi
F
2016/11/14 18:43:44
Done.
|
| + invoker.supports_android |
|
agrieve
2016/11/11 21:30:47
nit: you have supports_android here twice :P.
jbudorick
2016/11/11 21:50:20
defined & checking the value?
|
| + assert(_enable_assert || true) # Mark used. |
| + |
| if (_filter_jar) { |
| _filter_target = "${target_name}__filter" |
| - _output_jar_target = _filter_target |
| - } |
| - if (_proguard_preprocess) { |
| - _proguard_target = "${target_name}__proguard_process" |
| - _output_jar_target = _proguard_target |
| - } |
| - if (!_filter_jar && !_proguard_preprocess) { |
| - _copy_target = "${target_name}__copy" |
| - _output_jar_target = _copy_target |
| - } |
| - if (_filter_jar) { |
| - _filtered_jar_path = _output_jar_path |
| - if (_proguard_preprocess) { |
| - _filtered_jar_path = "$target_out_dir/$target_name-filtered.jar" |
| - } |
| + _filter_jar_path = "$target_out_dir/$target_name-filtered.jar" |
| action(_filter_target) { |
| script = "//build/android/gyp/jar.py" |
| forward_variables_from(invoker, |
| @@ -1058,13 +1049,13 @@ if (enable_java_templates) { |
| _input_jar_path, |
| ] |
| outputs = [ |
| - _filtered_jar_path, |
| + _filter_jar_path, |
| ] |
| args = [ |
| "--input-jar", |
| rebase_path(_input_jar_path, root_build_dir), |
| "--jar-path", |
| - rebase_path(_filtered_jar_path, root_build_dir), |
| + rebase_path(_filter_jar_path, root_build_dir), |
| "--excluded-classes=$_jar_excluded_patterns", |
| ] |
| if (_strip_resource_classes) { |
| @@ -1074,10 +1065,12 @@ if (enable_java_templates) { |
| } |
| if (_proguard_preprocess) { |
| + _output_jar_target = "${target_name}__proguard_process" |
| + _proguard_output_jar = _output_jar_path |
| _proguard_config_path = invoker.proguard_preprocess_config |
| - proguard(_proguard_target) { |
| + proguard(_output_jar_target) { |
| if (_filter_jar) { |
| - _proguard_input_jar = _filtered_jar_path |
| + _proguard_input_jar = _filter_jar_path |
| public_deps = [ |
| ":$_filter_target", |
| ] |
| @@ -1096,9 +1089,10 @@ if (enable_java_templates) { |
| _proguard_config_path, |
| _proguard_input_jar, |
| ] |
| - output_jar_path = _output_jar_path |
| + output_jar_path = _proguard_output_jar |
| - _rebased_input_paths = [ rebase_path(_input_jar_path, root_build_dir) ] |
| + _rebased_input_paths = |
| + [ rebase_path(_proguard_input_jar, root_build_dir) ] |
| _rebased_proguard_configs = |
| [ rebase_path(_proguard_config_path, root_build_dir) ] |
| args = [ |
| @@ -1107,15 +1101,58 @@ if (enable_java_templates) { |
| "--classpath=@FileArg($_rebased_build_config:javac:classpath)", |
| ] |
| } |
| - } else if (!_filter_jar) { |
| - copy(_copy_target) { |
| - forward_variables_from(invoker, |
| - [ |
| - "deps", |
| - "public_deps", |
| - ]) |
| + } else if (_enable_assert) { |
| + _output_jar_target = "${target_name}__assert" |
| + _assert_output_jar = _output_jar_path |
| + action(_output_jar_target) { |
|
jbudorick
2016/11/11 21:50:20
This should have some kind of stated dependency on
F
2016/11/14 18:43:44
Done.
|
| + script = "$root_out_dir/bin/java_assertion_enabler" |
|
jbudorick
2016/11/11 21:50:20
I would prefer if this wasn't in $root_out_dir/bin
F
2016/11/14 18:43:44
Done.
|
| + if (_filter_jar) { |
| + _assert_input_jar = _filter_jar_path |
| + public_deps = [ |
| + ":$_filter_target", |
| + ] |
| + } else { |
| + _assert_input_jar = _input_jar_path |
| + public_deps = [] |
| + } |
| + if (defined(invoker.deps)) { |
| + deps = invoker.deps |
| + } |
| + if (defined(invoker.public_deps)) { |
| + public_deps += invoker.public_deps |
| + } |
| + inputs = [ |
| + _build_config, |
|
agrieve
2016/11/11 21:30:47
nit: this isn't an input and can be removed.
F
2016/11/14 18:43:44
Done.
|
| + _assert_input_jar, |
| + ] |
| + outputs = [ |
| + _assert_output_jar, |
| + ] |
| + args = [ |
| + rebase_path(_assert_input_jar, root_build_dir), |
| + rebase_path(_assert_output_jar, root_build_dir), |
| + ] |
| + } |
| + } else { |
| + _output_jar_target = "${target_name}__copy" |
| + copy(_output_jar_target) { |
| + if (_filter_jar) { |
| + _copy_input_jar = _filter_jar_path |
| + public_deps = [ |
| + ":$_filter_target", |
| + ] |
| + } else { |
| + _copy_input_jar = _input_jar_path |
| + public_deps = [] |
| + } |
| + if (defined(invoker.deps)) { |
| + deps = invoker.deps |
| + } |
| + if (defined(invoker.public_deps)) { |
| + public_deps += invoker.public_deps |
| + } |
| sources = [ |
| - _input_jar_path, |
| + _copy_input_jar, |
| ] |
| outputs = [ |
| _output_jar_path, |
| @@ -1810,6 +1847,7 @@ if (enable_java_templates) { |
| visibility += [ ":$_dex_target_name" ] |
| } |
| + supports_android = _supports_android |
| build_config = _build_config |
| input_jar_path = invoker.jar_path |
| output_jar_path = _jar_path |
| @@ -2101,6 +2139,7 @@ if (enable_java_templates) { |
| "proguard_preprocess", |
| "proguard_preprocess_config", |
| ]) |
| + supports_android = _supports_android |
| build_config = _build_config |
| input_jar_path = _javac_jar_path |
| output_jar_path = _process_prebuilt_jar_path |