polymer.gni 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. # Copyright 2019 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("//ui/webui/resources/tools/js_modulizer.gni")
  5. common_auto_imports = [
  6. "third_party/polymer/v1_0/components-chromium/iron-a11y-announcer/iron-a11y-announcer.html|IronA11yAnnouncer",
  7. "third_party/polymer/v1_0/components-chromium/paper-behaviors/paper-ripple-behavior.html|PaperRippleBehavior",
  8. "ui/webui/resources/cr_elements/cr_scrollable_behavior.html|CrScrollableBehavior",
  9. "ui/webui/resources/cr_elements/cr_radio_button/cr_radio_button_behavior.html|CrRadioButtonBehavior",
  10. "ui/webui/resources/cr_elements/find_shortcut_behavior.html|FindShortcutBehavior",
  11. "ui/webui/resources/cr_elements/policy/cr_policy_pref_behavior.html|CrPolicyPrefBehavior",
  12. "ui/webui/resources/html/cr/ui/focus_outline_manager.html|FocusOutlineManager",
  13. "ui/webui/resources/html/cr/ui/focus_row_behavior.html|FocusRowBehavior",
  14. "ui/webui/resources/html/cr/ui/focus_without_ink.html|focusWithoutInk",
  15. "ui/webui/resources/html/i18n_behavior.html|I18nBehavior",
  16. "ui/webui/resources/html/list_property_update_behavior.html|ListPropertyUpdateBehavior",
  17. "ui/webui/resources/html/load_time_data.html|loadTimeData",
  18. "ui/webui/resources/html/parse_html_subset.html|parseHtmlSubset",
  19. "ui/webui/resources/html/polymer.html|Polymer,html",
  20. "ui/webui/resources/html/promise_resolver.html|PromiseResolver",
  21. "ui/webui/resources/html/web_ui_listener_behavior.html|WebUIListenerBehavior",
  22. # TODO(dpapad): Add more auto-imports here, as needed.
  23. ]
  24. template("polymer_modulizer") {
  25. action(target_name + "_module") {
  26. script = "//tools/polymer/polymer.py"
  27. inputs = [ invoker.html_file ]
  28. if (invoker.html_type == "dom-module" || invoker.html_type == "v3-ready") {
  29. inputs += [ invoker.js_file ]
  30. }
  31. output_js_file = invoker.js_file
  32. if (invoker.html_type == "dom-module") {
  33. output_js_file = get_path_info(invoker.js_file, "name") + ".m.js"
  34. }
  35. outputs = [ "$target_gen_dir/" + output_js_file ]
  36. args = [
  37. "--js_file",
  38. invoker.js_file,
  39. "--html_file",
  40. invoker.html_file,
  41. "--html_type",
  42. invoker.html_type,
  43. "--in_folder",
  44. rebase_path(".", root_build_dir),
  45. "--out_folder",
  46. rebase_path(target_gen_dir, root_build_dir),
  47. ]
  48. args += [ "--namespace_rewrites" ] + common_namespace_rewrites
  49. if (defined(invoker.namespace_rewrites)) {
  50. args += invoker.namespace_rewrites
  51. }
  52. args += [ "--auto_imports" ] + common_auto_imports
  53. if (defined(invoker.auto_imports)) {
  54. args += invoker.auto_imports
  55. }
  56. if (defined(invoker.ignore_imports)) {
  57. args += [ "--ignore_imports" ] + invoker.ignore_imports
  58. }
  59. if (defined(invoker.migrated_imports)) {
  60. args += [ "--migrated_imports" ] + invoker.migrated_imports
  61. }
  62. if (defined(invoker.preserve_url_scheme) && invoker.preserve_url_scheme) {
  63. args += [ "--preserve_url_scheme" ]
  64. }
  65. }
  66. }