repack.gni 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Copyright 2018 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. import("//tools/grit/repack.gni")
  5. # Template to repack all scalable resources at a given scale.
  6. #
  7. # Arguments
  8. #
  9. # scale
  10. # string, scale as a percentage, e.g. "200" corresponds to @2x scale.
  11. #
  12. # Generates a bundle_data target for convenience.
  13. template("_ios_web_view_repack_one_scale") {
  14. assert(defined(invoker.scale), "scale must be defined for ${target_name}")
  15. repack(target_name) {
  16. forward_variables_from(invoker,
  17. [
  18. "testonly",
  19. "visibility",
  20. ])
  21. sources = [
  22. # TODO(crbug.com/842244): Bundle less resources.
  23. "${root_gen_dir}/components/components_resources_${invoker.scale}_percent.pak",
  24. ]
  25. deps = [ "//components/resources:components_scaled_resources" ]
  26. output = "$target_gen_dir/web_view_${invoker.scale}_percent.pak"
  27. copy_data_to_bundle = true
  28. }
  29. }
  30. # Template to repack all scalable resources at all scales.
  31. #
  32. # Arguments
  33. #
  34. # scales
  35. # list of strings corresponding to scales as percentage, e.g. "200"
  36. # corresponds to @2x scale.
  37. #
  38. # Generates a collection of bundle_data targets for convenience.
  39. template("ios_web_view_repack_all_scales") {
  40. assert(defined(invoker.scales), "scales must be defined for ${target_name}")
  41. _scale_targets = []
  42. _target_name = target_name
  43. foreach(_scale, invoker.scales) {
  44. _scale_targets += [ ":${_target_name}_${_scale}_percent" ]
  45. _ios_web_view_repack_one_scale("${_target_name}_${_scale}_percent") {
  46. forward_variables_from(invoker, [ "testonly" ])
  47. visibility = [ ":${_target_name}" ]
  48. scale = _scale
  49. }
  50. }
  51. group(_target_name) {
  52. forward_variables_from(invoker,
  53. [
  54. "testonly",
  55. "visibility",
  56. ])
  57. public_deps = _scale_targets
  58. }
  59. }