electron_paks.gni 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. import("//build/config/locales.gni")
  2. import("//electron/buildflags/buildflags.gni")
  3. import("//printing/buildflags/buildflags.gni")
  4. import("//tools/grit/repack.gni")
  5. import("//ui/base/ui_features.gni")
  6. # See: //chrome/chrome_paks.gni
  7. template("electron_repack_percent") {
  8. percent = invoker.percent
  9. repack(target_name) {
  10. forward_variables_from(invoker,
  11. [
  12. "copy_data_to_bundle",
  13. "repack_whitelist",
  14. "visibility",
  15. ])
  16. # All sources should also have deps for completeness.
  17. sources = [
  18. "$root_gen_dir/components/components_resources_${percent}_percent.pak",
  19. "$root_gen_dir/content/app/resources/content_resources_${percent}_percent.pak",
  20. "$root_gen_dir/third_party/blink/public/resources/blink_scaled_resources_${percent}_percent.pak",
  21. "$root_gen_dir/ui/resources/ui_resources_${percent}_percent.pak",
  22. ]
  23. deps = [
  24. "//components/resources",
  25. "//content/app/resources",
  26. "//third_party/blink/public:scaled_resources_${percent}_percent",
  27. "//ui/resources",
  28. ]
  29. if (defined(invoker.deps)) {
  30. deps += invoker.deps
  31. }
  32. if (toolkit_views) {
  33. sources += [ "$root_gen_dir/ui/views/resources/views_resources_${percent}_percent.pak" ]
  34. deps += [ "//ui/views/resources" ]
  35. }
  36. output = "${invoker.output_dir}/chrome_${percent}_percent.pak"
  37. }
  38. }
  39. template("electron_extra_paks") {
  40. repack(target_name) {
  41. forward_variables_from(invoker,
  42. [
  43. "copy_data_to_bundle",
  44. "repack_whitelist",
  45. "visibility",
  46. ])
  47. output = "${invoker.output_dir}/resources.pak"
  48. sources = [
  49. "$root_gen_dir/chrome/dev_ui_browser_resources.pak",
  50. "$root_gen_dir/components/components_resources.pak",
  51. "$root_gen_dir/content/browser/resources/media/media_internals_resources.pak",
  52. "$root_gen_dir/content/browser/tracing/tracing_resources.pak",
  53. "$root_gen_dir/content/browser/webrtc/resources/webrtc_internals_resources.pak",
  54. "$root_gen_dir/content/content_resources.pak",
  55. "$root_gen_dir/content/dev_ui_content_resources.pak",
  56. "$root_gen_dir/mojo/public/js/mojo_bindings_resources.pak",
  57. "$root_gen_dir/net/net_resources.pak",
  58. "$root_gen_dir/third_party/blink/public/resources/blink_resources.pak",
  59. "$root_gen_dir/third_party/blink/public/resources/inspector_overlay_resources.pak",
  60. "$root_gen_dir/ui/resources/webui_resources.pak",
  61. "$target_gen_dir/electron_resources.pak",
  62. ]
  63. deps = [
  64. "//chrome/browser:dev_ui_browser_resources",
  65. "//components/resources",
  66. "//content:content_resources",
  67. "//content:dev_ui_content_resources",
  68. "//content/browser/resources/media:media_internals_resources",
  69. "//content/browser/tracing:resources",
  70. "//content/browser/webrtc/resources",
  71. "//electron:resources",
  72. "//mojo/public/js:resources",
  73. "//net:net_resources",
  74. "//third_party/blink/public:devtools_inspector_resources",
  75. "//third_party/blink/public:resources",
  76. "//ui/resources",
  77. ]
  78. if (defined(invoker.deps)) {
  79. deps += invoker.deps
  80. }
  81. if (defined(invoker.additional_paks)) {
  82. sources += invoker.additional_paks
  83. }
  84. # New paks should be added here by default.
  85. sources +=
  86. [ "$root_gen_dir/content/browser/devtools/devtools_resources.pak" ]
  87. deps += [ "//content/browser/devtools:devtools_resources" ]
  88. if (enable_pdf_viewer) {
  89. sources += [ "$root_gen_dir/chrome/print_preview_pdf_resources.pak" ]
  90. deps += [ "//chrome/browser/resources:print_preview_pdf_resources" ]
  91. }
  92. if (enable_print_preview) {
  93. sources += [ "$root_gen_dir/chrome/print_preview_resources.pak" ]
  94. deps += [ "//chrome/browser/resources:print_preview_resources" ]
  95. }
  96. if (enable_electron_extensions) {
  97. sources += [
  98. "$root_gen_dir/chrome/component_extension_resources.pak",
  99. "$root_gen_dir/extensions/extensions_renderer_resources.pak",
  100. "$root_gen_dir/extensions/extensions_resources.pak",
  101. ]
  102. deps += [
  103. "//chrome/browser/resources:component_extension_resources",
  104. "//extensions:extensions_resources",
  105. ]
  106. }
  107. }
  108. }
  109. template("electron_paks") {
  110. electron_repack_percent("${target_name}_100_percent") {
  111. percent = "100"
  112. forward_variables_from(invoker,
  113. [
  114. "copy_data_to_bundle",
  115. "deps",
  116. "output_dir",
  117. "repack_whitelist",
  118. "visibility",
  119. ])
  120. }
  121. if (enable_hidpi) {
  122. electron_repack_percent("${target_name}_200_percent") {
  123. percent = "200"
  124. forward_variables_from(invoker,
  125. [
  126. "copy_data_to_bundle",
  127. "deps",
  128. "output_dir",
  129. "repack_whitelist",
  130. "visibility",
  131. ])
  132. }
  133. }
  134. electron_extra_paks("${target_name}_extra") {
  135. forward_variables_from(invoker,
  136. [
  137. "copy_data_to_bundle",
  138. "deps",
  139. "output_dir",
  140. "repack_whitelist",
  141. "visibility",
  142. ])
  143. if (defined(invoker.additional_extra_paks)) {
  144. additional_paks = invoker.additional_extra_paks
  145. }
  146. }
  147. repack_locales("${target_name}_locales") {
  148. forward_variables_from(invoker,
  149. [
  150. "copy_data_to_bundle",
  151. "deps",
  152. "visibility",
  153. ])
  154. if (defined(invoker.locale_whitelist)) {
  155. repack_whitelist = invoker.locale_whitelist
  156. } else if (defined(invoker.repack_whitelist)) {
  157. repack_whitelist = invoker.repack_whitelist
  158. }
  159. source_patterns = [
  160. "${root_gen_dir}/chrome/platform_locale_settings_",
  161. "${root_gen_dir}/components/strings/components_strings_",
  162. "${root_gen_dir}/third_party/blink/public/strings/blink_strings_",
  163. "${root_gen_dir}/device/bluetooth/strings/bluetooth_strings_",
  164. "${root_gen_dir}/services/strings/services_strings_",
  165. "${root_gen_dir}/ui/strings/app_locale_settings_",
  166. "${root_gen_dir}/ui/strings/ui_strings_",
  167. ]
  168. deps = [
  169. "//chrome/app/resources:platform_locale_settings",
  170. "//components/strings:components_strings",
  171. "//device/bluetooth/strings",
  172. "//services/strings",
  173. "//third_party/blink/public/strings",
  174. "//ui/strings:app_locale_settings",
  175. "//ui/strings:ui_strings",
  176. ]
  177. input_locales = locales
  178. output_dir = "${invoker.output_dir}/locales"
  179. if (is_mac) {
  180. output_locales = locales_as_mac_outputs
  181. } else {
  182. output_locales = locales
  183. }
  184. }
  185. group(target_name) {
  186. forward_variables_from(invoker, [ "deps" ])
  187. public_deps = [
  188. ":${target_name}_100_percent",
  189. ":${target_name}_extra",
  190. ":${target_name}_locales",
  191. ]
  192. if (enable_hidpi) {
  193. public_deps += [ ":${target_name}_200_percent" ]
  194. }
  195. if (defined(invoker.public_deps)) {
  196. public_deps += invoker.public_deps
  197. }
  198. }
  199. }