dart-sdk/build
Jonas Termansen e0b08fadd8 Reland "[infra] RBE all the things."
This is a reland of commit b3253d9c8b

Fix the gn rules so the RBE offloading only happens in the Dart build
and the conflicting RBE configuration is not included otherwise. This
ensures this change can roll into Flutter while we design a better
solution to compose the projects' RBE usages.

Original change's description:
> [infra] RBE all the things.
>
> This change offloads all Dart actions during the build to RBE using
> the new rewrapper_dart.py script that understands all the different
> command line invocations of Dart programs and translates it into the
> appropriate rewrapper invocation, with a full list of input and output
> files and no absolute paths.
>
> The dart actions are all considered to be expensive RBE compilation
> steps that may be much slower on RBE than locally due to the low
> parallelism of the build during these stages and the comperatively
> slower bots in the RBE pools. The build uses the racing strategy by
> default for these compilations, such that cache hits are still used
> if available, and otherwise a local build is transparently used if it
> happens to be faster. The bots will use the remote strategy by default
> unlike developers, such that the rewrapper_dart.py script does not fail.
>
> rewrapper_dart.py contains a tiny dart import proprocessor written
> in python and a big argument parser that understands every command
> invoked during the build and the semantic meaning of every option.
>
> The absolute paths used during the Dart SDK build is not solved in
> this changelist, which just works around them initially, but these
> will be fixed in follow up changes with the appropriate teams now
> that this change proves they are not needed.
>
> Bug: b/333595242
> Change-Id: I36603ec1bf16f4ac87d56635cc1c98e8686a4028
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335827
> Reviewed-by: William Hesse <whesse@google.com>
> Commit-Queue: Jonas Termansen <sortie@google.com>

Bug: b/333595242
Change-Id: I43bec2e7fcad375e972ca447aa13ae65b0ce09ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362661
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-04-12 22:06:32 +00:00
..
config [infra] Remove Goma support. 2024-04-02 22:54:19 +00:00
dart Reland "[infra] RBE all the things." 2024-04-12 22:06:32 +00:00
fuchsia Reland "[Fuchsia] Remove the legacy gn build rules for fuchsia" 2024-03-14 20:22:12 +00:00
linux [infra] Update alpine sysroot 2024-03-21 10:43:15 +00:00
mac Spelling build 2023-01-23 08:56:14 +00:00
rbe Reland "[infra] RBE all the things." 2024-04-12 22:06:32 +00:00
rust [infra] Migrate scripts to python3 2021-04-15 10:10:20 +00:00
sanitizers Spelling build 2023-01-23 08:56:14 +00:00
secondary [build] Build the standard c++ library from source. 2023-05-22 23:38:58 +00:00
toolchain Reland "[infra] RBE all the things." 2024-04-12 22:06:32 +00:00
.gitignore [infra] Update alpine sysroot 2024-03-21 10:43:15 +00:00
detect_host_arch.py [infra] Migrate scripts to python3 2021-04-15 10:10:20 +00:00
executable_suffix.gni Fix builds targeting Android from a Windows host gen_snapshot. 2019-06-07 00:49:33 +00:00
find_depot_tools.py [build] Update Windows SDK to 10.0.22621.0. 2024-02-08 16:06:50 +00:00
gn_helpers.py Fix gn helper script to create *valid* strings for settings containing backslashes. 2021-05-19 12:35:16 +00:00
gn_run_binary.py [build] Make app snapshot build failures copy/pastable. 2021-10-14 11:51:32 +00:00
OWNERS [infra] Give VM engineers OWNERS over tools/gn.py et al. 2022-04-25 17:47:23 +00:00
README.dart.md fix(docs): corrects common typos in project documentation 2021-05-18 15:48:18 +00:00
shim_headers.gni add tools for generating shim headers 2023-04-19 01:37:48 +00:00
vs_toolchain.py [infra] Support testing with RBE on Windows. 2024-02-29 10:33:09 +00:00

This directory was taken from a snapshot of flutter/engine/src/build/.

The snapshot was taken with a recursive copy cp -R of the directory from the flutter repository.

The contents has now diverged significantly from Flutter, and is maintained independently by the Dart team. It is used to support the GN build system.