[dart] Fix incremental builds when gn gen is run

write_file in GN does not touch the output file timestamp if the
contents of the file have changed. In this case however, write_file was
being evaluated at every step of a loop which built up the contents of
that file. Thus the contents of the file would change in every iteration
of the loop, and its timestamp would be updated unconditionally during
every call to `gn gen` as a result. Since this file was an input to
build steps, it caused a lot of targets to be rebuilt.

This change fixes that behavior, making GN-only changes in fuchsia
true no-ops when ninja is run. On my machine, this shaves off 44 seconds
of build time for GN-only changes.

Change-Id: Ie8a361eee03528812dda7ce535a6c86dc266664f
1 file changed
tree: 053f67828ee10fe4bf430c3061fd870f42e5e8d5
  1. .cargo/
  2. bin/
  3. bundles/
  4. examples/
  5. lib/
  6. packages/
  7. public/
  8. runtime/
  9. shell/
  10. tests/
  11. tools/
  12. .clang-format
  13. .gitignore
  14. AUTHORS
  15. BUILD.gn
  16. CONTRIBUTING.md
  17. LICENSE
  18. OWNERS
  19. PATENTS
  20. README.md
  21. rustfmt.toml
README.md

Topaz

Topaz augments system functionality by implementing interfaces defined by underlying layers. Topaz contains four major categories of software: modules, agents, shells, and runners.

For example, modules include the dashboard, and runners include the Web, Dart, and Flutter runners.

Removed Components

Looking for something that used to be in this repository? The list below provides a code location and sha that can be used to checkout dead code that has been removed. Please note, it is unlikely the code will build or work correctly shas are provided for reference only. Code can be checked out with:

    git checkout <sha> -- $FUCHSIA_DIR/<location>
  • topaz/app/chat: 9f6c31d2ceb8353f229a9ef6b53ba2386ff31867
  • topaz/app/color: 5a023ccb054104846e3e913951bcc7dc277d2274
  • topaz/app/contacts: 80378fe470817750188707de29237282892a3142
  • topaz/app/dashboard: 982984856fec7e45d295a6ca34bdd819b6760b72
  • topaz/app/documents: b5a3ee29b15414f232865128195d14bd8811ab02
  • topaz/app/image: 5e731a943a907cf960ecfbda1c391958f9093afa
  • topaz/app/link_viewer: 00fe1236c6851da5d54c625a8293561bb617804c
  • topaz/app/video: fc03877f787fc119140b900d476c4563bd04a529
  • topaz/app/spinning_cube: d51f6cdd4
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/tools/dartfmt_extras: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/mod: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/tools/widget_explorer: acc1f05718af2bcfbba3317a456f82b67eec4e42
  • topaz/examples/bluetooth: f4287c5ae0e9b099983121b41be66e1994b83a02
  • topaz/bin/repl: fc25fb9b825f4100b316c4d5135156ef05e0dc4b
  • topaz/examples/tictactoe: 07fd955f4
  • topaz/examples/ui/hello_mod: 07fd955f4
  • topaz/examples/ui/sketchy_flutter: 07fd955f4
  • topaz/examples/ui/text_flutter: 07fd955f4
  • topaz/examples/ui: 1f4faa076
  • topaz/lib/keyboard: 8f7fb8a
  • topaz/public/lib/agent: 79a60c5d377ed3a55a87d999292036243ff21446
  • topaz/public/lib/config: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/context: f489f45e6883df6e3be578342b4e739928adcf77
  • topaz/public/lib/mod: 75067a620790d76515c3824321eca335a6aa6bab
  • topaz/public/lib/app_driver: 0196bf704f
  • topaz/public/lib/fuchsia_driver: b34f97387
  • topaz/public/lib/decomposition: b34f97387
  • topaz/public/lib/module_resolver: 2e13a4929
  • topaz/public/lib/user: 62cc03e
  • topaz/lib/setui/settings: 4009b4a
  • topaz/public/lib/schemas: e5810dfa1
  • topaz/public/lib/entity: e5810dfa1
  • topaz/public/lib/component: e5810dfa1
  • topaz/shell/keyboard: 8f7fb8a
  • public/lib/app/dart: 12404bc
  • examples/fidl/echo_client_dart: 12404bc
  • examples/fidl/echo_server_dart: 12404bc
  • examples/fidl/fidl_bindings_performance: 12404bc