| Index: build/config/android/internal_rules.gni
|
| diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni
|
| index 9fd0a518f261e222353af53cdeb4fe6d58a0422a..95e87faab7b5778188cf99ca88d7682b0b02bb0d 100644
|
| --- a/build/config/android/internal_rules.gni
|
| +++ b/build/config/android/internal_rules.gni
|
| @@ -6,6 +6,7 @@
|
| # Some projects (e.g. V8) do not have non-build directories DEPS'ed in.
|
| import("//build_overrides/build.gni")
|
| import("//build/config/android/config.gni")
|
| +import("//build/config/dcheck_always_on.gni")
|
| import("//build/config/sanitizers/sanitizers.gni")
|
|
|
| assert(is_android)
|
| @@ -989,11 +990,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
|
| @@ -1002,24 +1004,15 @@ if (enable_java_templates) {
|
| invoker.strip_resource_classes
|
| _filter_jar = _jar_excluded_patterns != [] || _strip_resource_classes
|
|
|
| + _enable_assert =
|
| + defined(invoker.supports_android) && invoker.supports_android &&
|
| + (is_java_debug || dcheck_always_on)
|
| + 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,
|
| @@ -1032,13 +1025,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) {
|
| @@ -1048,31 +1041,34 @@ 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
|
| - public_deps = [
|
| + _proguard_input_jar = _filter_jar_path
|
| + deps = [
|
| ":$_filter_target",
|
| ]
|
| } else {
|
| _proguard_input_jar = _input_jar_path
|
| - public_deps = []
|
| + deps = []
|
| }
|
| if (defined(invoker.deps)) {
|
| - deps = invoker.deps
|
| + deps += invoker.deps
|
| }
|
| if (defined(invoker.public_deps)) {
|
| - public_deps += invoker.public_deps
|
| + public_deps = invoker.public_deps
|
| }
|
| inputs = [
|
| _build_config,
|
| _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 = [
|
| @@ -1081,15 +1077,57 @@ 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) {
|
| + script = "$root_out_dir/bin/helper/java_assertion_enabler"
|
| + deps = [
|
| + "//build/android/java_assertion_enabler($default_toolchain)",
|
| + ]
|
| + if (_filter_jar) {
|
| + _assert_input_jar = _filter_jar_path
|
| + deps += [ ":$_filter_target" ]
|
| + } else {
|
| + _assert_input_jar = _input_jar_path
|
| + }
|
| + if (defined(invoker.deps)) {
|
| + deps += invoker.deps
|
| + }
|
| + if (defined(invoker.public_deps)) {
|
| + public_deps = invoker.public_deps
|
| + }
|
| + inputs = [
|
| + _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,
|
| @@ -1785,6 +1823,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
|
| @@ -2076,6 +2115,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
|
|
|