pw_build: Propagate public_deps in py templates

This change allows templatized targets whose innermost action has
outputs to state public_deps so that other targets can depend on the
files created by such actions.

Testing: Successfully built downstream project using this template.
Change-Id: Icee1870a2a183da19e9e5f265209055a40146e11
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/57880
Pigweed-Auto-Submit: Joe Ethier <jethier@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
3 files changed
tree: 1fff7cc7996f2e8b40ced2ce8bf80facdba9c6ec
  1. build_overrides/
  2. docker/
  3. docs/
  4. pw_allocator/
  5. pw_analog/
  6. pw_android_toolchain/
  7. pw_arduino_build/
  8. pw_assert/
  9. pw_assert_basic/
  10. pw_assert_log/
  11. pw_base64/
  12. pw_bloat/
  13. pw_blob_store/
  14. pw_boot/
  15. pw_boot_cortex_m/
  16. pw_build/
  17. pw_build_info/
  18. pw_bytes/
  19. pw_checksum/
  20. pw_chrono/
  21. pw_chrono_embos/
  22. pw_chrono_freertos/
  23. pw_chrono_stl/
  24. pw_chrono_threadx/
  25. pw_cli/
  26. pw_console/
  27. pw_containers/
  28. pw_cpu_exception/
  29. pw_cpu_exception_cortex_m/
  30. pw_crypto/
  31. pw_docgen/
  32. pw_doctor/
  33. pw_env_setup/
  34. pw_function/
  35. pw_fuzzer/
  36. pw_hdlc/
  37. pw_hex_dump/
  38. pw_i2c/
  39. pw_interrupt/
  40. pw_interrupt_cortex_m/
  41. pw_kvs/
  42. pw_libc/
  43. pw_log/
  44. pw_log_basic/
  45. pw_log_null/
  46. pw_log_rpc/
  47. pw_log_tokenized/
  48. pw_malloc/
  49. pw_malloc_freelist/
  50. pw_metric/
  51. pw_minimal_cpp_stdlib/
  52. pw_module/
  53. pw_multisink/
  54. pw_package/
  55. pw_persistent_ram/
  56. pw_polyfill/
  57. pw_preprocessor/
  58. pw_presubmit/
  59. pw_protobuf/
  60. pw_protobuf_compiler/
  61. pw_random/
  62. pw_result/
  63. pw_ring_buffer/
  64. pw_router/
  65. pw_rpc/
  66. pw_snapshot/
  67. pw_software_update/
  68. pw_span/
  69. pw_status/
  70. pw_stm32cube_build/
  71. pw_stream/
  72. pw_string/
  73. pw_symbolizer/
  74. pw_sync/
  75. pw_sync_baremetal/
  76. pw_sync_embos/
  77. pw_sync_freertos/
  78. pw_sync_stl/
  79. pw_sync_threadx/
  80. pw_sys_io/
  81. pw_sys_io_arduino/
  82. pw_sys_io_baremetal_lm3s6965evb/
  83. pw_sys_io_baremetal_stm32f429/
  84. pw_sys_io_stdio/
  85. pw_target_runner/
  86. pw_thread/
  87. pw_thread_embos/
  88. pw_thread_freertos/
  89. pw_thread_stl/
  90. pw_thread_threadx/
  91. pw_tls_client/
  92. pw_tls_client_boringssl/
  93. pw_tls_client_mbedtls/
  94. pw_tokenizer/
  95. pw_tool/
  96. pw_toolchain/
  97. pw_trace/
  98. pw_trace_tokenized/
  99. pw_transfer/
  100. pw_unit_test/
  101. pw_varint/
  102. pw_watch/
  103. pw_web_ui/
  104. pw_work_queue/
  105. targets/
  106. third_party/
  107. .bazelignore
  108. .bazelrc
  109. .clang-format
  110. .clang-tidy
  111. .eslintrc.json
  112. .gitattributes
  113. .gitignore
  114. .gn
  115. .prettierrc.js
  116. .pylintrc
  117. activate.bat
  118. AUTHORS
  119. bootstrap.bat
  120. bootstrap.sh
  121. BUILD.bazel
  122. BUILD.gn
  123. BUILDCONFIG.gn
  124. CMakeLists.txt
  125. LICENSE
  126. modules.gni
  127. OWNERS
  128. package.json
  129. PW_PLUGINS
  130. README.md
  131. tsconfig.json
  132. WORKSPACE
  133. yarn.lock
README.md

See our website: http://pigweed.dev