Chromium Code Reviews| Index: build/config/android/rules.gni |
| diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni |
| index c516a8c6857711614a7c13f2295a55fc98e6ae1a..82d2781e4f042f769095024798f9fa8307b8b05d 100644 |
| --- a/build/config/android/rules.gni |
| +++ b/build/config/android/rules.gni |
| @@ -1303,6 +1303,12 @@ template("android_apk") { |
| # Help GN understand that _create_abi_split is not unused (bug in GN). |
| assert(_create_abi_split || true) |
| + _proguard_enabled = false |
| + if (defined(invoker.proguard_enabled) && invoker.proguard_enabled) { |
| + _proguard_enabled = true |
| + _proguard_jar_path = "$base_path.proguard.jar" |
| + } |
| + |
| write_build_config("${_template_name}__build_config") { |
| type = "android_apk" |
| dex_path = final_dex_path |
| @@ -1318,12 +1324,18 @@ template("android_apk") { |
| apk_under_test = invoker.apk_under_test |
| } |
| + if (_proguard_enabled) { |
| + proguard_enabled = true |
| + proguard_info = "$_proguard_jar_path.info" |
| + } |
| + |
| native_libs = _native_libs |
| } |
| final_deps = [] |
| final_deps += [ ":${_template_name}__process_resources" ] |
| + _generated_proguard_config = "$base_path.resources.proguard.txt" |
| process_resources("${_template_name}__process_resources") { |
| srcjar_path = "${target_gen_dir}/${target_name}.srcjar" |
| r_text_path = "${target_gen_dir}/${target_name}_R.txt" |
| @@ -1332,6 +1344,7 @@ template("android_apk") { |
| zip_path = resources_zip_path |
| all_resources_zip_path = _all_resources_zip_path |
| generate_constant_ids = true |
| + proguard_file = _generated_proguard_config |
| build_config = _build_config |
| if (defined(invoker.include_all_resources)) { |
| @@ -1421,12 +1434,36 @@ template("android_apk") { |
| } |
| final_deps += [ ":${_template_name}__final_dex" ] |
| + |
| + dex_jar_path = jar_path |
| + if (defined(invoker.proguard_enabled) && invoker.proguard_enabled) { |
| + _proguard_configs = [ _generated_proguard_config ] |
| + if (defined(invoker.proguard_configs)) { |
| + _proguard_configs += invoker.proguard_configs |
| + } |
| + proguard("${_template_name}__proguard") { |
| + inputs = [ |
|
newt (away)
2015/05/29 01:43:04
funky indentation. this would be more normal:
|
| + _build_config, |
| + jar_path, |
| + ] + _proguard_configs |
| + |
| + output_jar_path = _proguard_jar_path |
| + rebased_proguard_configs = rebase_path(_proguard_configs, root_build_dir) |
| + args = [ |
| + "--proguard-configs=$rebased_proguard_configs", |
| + "--tested-apk-info=@FileArg($_rebased_build_config:proguard:tested_apk_info)", |
| + "--input-paths=@FileArg($_rebased_build_config:proguard:input_paths)", |
| + ] |
| + } |
| + dex_jar_path = _proguard_jar_path |
| + } |
| + |
| dex("${_template_name}__final_dex") { |
| deps = [ |
| ":${_template_name}__java", |
| ] |
| sources = [ |
| - jar_path, |
| + dex_jar_path, |
| ] |
| inputs = [ |
| _build_config, |