Commit Graph

7420 Commits

Author SHA1 Message Date
Sam Rawlins cfc705ce09 Introduce analysis_server_plugin package; replacement for server_plugin
We have chosen a new name for this package. So before we write more
code inside, we need to move everything from 'server_plugin' to
'analysis_server_plugin'. There are some steps do doing so, to not
break various infra:

1. Land this change, introducing the new package in the SDK, but no
   dependencies on it.
2. Land this change independently in google3 (the package is not
   yet "unbundled.")
3. Mark the package as "unbundled" in google3.
4. Move all code from server_plugin to analysis_server_plugin; update
   imports; and delete server_plugin.
5. Remove server_plugin as an "unbundled" package; and remove
   server_plugin from google3.

Bug: https://github.com/dart-lang/sdk/issues/53402
Change-Id: I70197fdf61dd5862c2220d8ed5dd0880a1593ead
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/363600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2024-04-19 01:38:29 +00:00
Nate Biggs 215323ad51 Fix broken links in dart:html package.
Fixes: https://github.com/dart-lang/sdk/issues/50247
Change-Id: Ia43cef267fa9f82702892c3a27cbaa81d71386c7
CoreLibraryReviewExempt: Doc update
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/363440
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2024-04-18 18:10:45 +00:00
Alexander Thomas ce840baa4c [infra] Remove VM-specific weak mode testing on the CFE
At this point, only DDC and dart2js need to support weak mode. The `ffi` and `service` suites test VM functionality only.

Bug: b/272212232
Cq-Include-Trybots: luci.dart.try:front-end-nnbd-linux-release-x64-try,front-end-nnbd-mac-release-x64-try,front-end-nnbd-win-release-x64-try
Change-Id: I3b4750787050b837d796fda8f9d7d996e12a0e16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362382
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2024-04-17 01:01:53 +00:00
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
William Hesse 4a6ecca102 [test] Run only a subset of the Flutter analysis tests on our bots
The bots/flutter/analyze_flutter_flutter.sh script calls Flutter's
[flutter]/dev/bots/analyze.dart test script.

More tests have been added to that Flutter script, that test
Flutter style guide policies and Kotlin lints. Avoid running
all these tests, that do not depend on the Dart SDK being tested.
Only run the tests from Flutter's analyze.dart test that use
the Dart SDK analyzer.

Bug: https://github.com/flutter/flutter/pull/143478
Change-Id: I12142a019a8cbeb70b40ca028d13325303e8db61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362483
Reviewed-by: Alexander Thomas <athom@google.com>
2024-04-12 14:56:57 +00:00
William Hesse 1b249f5496 Revert "[infra] RBE all the things."
This reverts commit b3253d9c8b.

Reason for revert: Flutter build is broken, it also has a GN variable rbi_dir, and dart_action.gni now imports two conflicting definitions.

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: I56c9df11e672e7bd096f2a6e7d0243dccd0396c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362385
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2024-04-12 10:08:28 +00:00
Jonas Termansen b3253d9c8b [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>
2024-04-11 23:02:16 +00:00
Erik Ernst a873a14700 Update augmented extensionDeclaration, following PR 3701
Change-Id: I9616ec821ce5eddccd732313f0edc8c300a702b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362200
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2024-04-11 14:21:28 +00:00
Alexander Markov 0a636cfc99 [infra] Kill stale dartaotruntime processes on bots
Fixes https://github.com/dart-lang/sdk/issues/55422

Change-Id: Icfcfff1bce4e9bb16c59c4367ca274f644538dd0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/362140
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2024-04-10 15:09:03 +00:00
William Hesse 5c156f2fcd Update scripts with new location of Dart SDK checkout in Flutter engine
Bug: https://github.com/flutter/flutter/issues/143335
Change-Id: Iceb2e968be78fae82789d6b13a28b8d5e3cb3dc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/361820
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2024-04-09 14:45:10 +00:00
Nicholas Shahan 5532568778 [ddc] Add configuration to compile with asserts
- Assertions are enabled in the compiler itself. DDC already enables
  assertions in the test code by default. 
- Runs tests in d8.

Change-Id: Ibdf285d9ab182c3859f4724b4c0740579d6d2377
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349361
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2024-04-04 14:40:30 +00:00
Jonas Termansen 144724e085 [infra] Simplify RBE startup/shutdown logic.
Change-Id: I45d99a1386bfb0d3af94a563cf5626d9bc7b4f68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360743
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2024-04-03 09:28:30 +00:00
Erik Ernst 555e38db9b Add enumEntry grammar update for augmentations
An `enumEntry` needs to allow for the keyword `augment` in order to
enable augmentation libraries. This CL performs a grammar rule update
in Dart.g and Dart.g4, such that this keyword can be included.

The corresponding change to the feature specification was performed in
https://github.com/dart-lang/language/pull/3688.

Change-Id: I6d6a3f09754a76da668dfc84cd20a7df812ecdbd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360642
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2024-04-03 08:36:38 +00:00
Jonas Termansen e445389862 [infra] Remove Goma support.
Bug: b/296994239
Change-Id: Ic96571d2c16d7c252cb41673e8bdb16cdb4de754
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360507
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-04-02 22:54:19 +00:00
Brian Wilkerson acb94a7da4 Move the mock package support to analyzer_utilities
Change-Id: I9d0a2d9e3e85d147ce7c7d0c14ea6c179c6f70de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359740
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-04-01 17:04:06 +00:00
Jonas Termansen 3cce981e6c Bump version to 3.5.
Change-Id: Iaba0d7367689c60a8c899b49311dbd64d5736be1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345306
Reviewed-by: Kevin Chisholm <kevinjchisholm@google.com>
Commit-Queue: Kevin Chisholm <kevinjchisholm@google.com>
2024-03-28 00:08:58 +00:00
Devon Carew 86f6a0ab62 [api docs] update the layout of the page footer for api.dart.dev
Change-Id: I198cdafc4c18206367898032e7df7971e09f3b6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/360060
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2024-03-27 20:31:35 +00:00
Oleh Prypin e9df8dceab Revert "[tool] tools/find_builders.dart cbuild opt in"
This reverts commit 86c41c9c77.

Reason for revert: This builder is now included by default

Original change's description:
> [tool] `tools/find_builders.dart` cbuild opt in
>
> Opt in to CBuild being green.
>
> Remove denylisted bots now that issue is resolved.
>
> Change-Id: I89c23720eaed78b317067bbdb065fe0cef8ecd75
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356022
> Commit-Queue: Daco Harkes <dacoharkes@google.com>
> Reviewed-by: William Hesse <whesse@google.com>

Change-Id: Ife49afc47f576901d2b8bb5523d2c8ed5224a761
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359862
Auto-Submit: Oleh Prypin <oprypin@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2024-03-27 13:01:49 +00:00
Konstantin Shcheglov 36c0788137 add package:_macros (SDK vendored) and package:macros (pub published)
add sdk_packages.yaml file (describes SDK vendored package locations)

delete old macro code in _fe_analyzer_shared, move tests/benchmarks

adds a top level `pkg` directory to the Dart SDK, which is where vendored packages live

BUG: https://github.com/dart-lang/sdk/issues/54976
Change-Id: Ib3503a27fb5644fa8a39ab5a3e5b568df330cfd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359040
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2024-03-26 18:40:00 +00:00
Jonas Termansen 05936f4d0b [infra] Fail hard if starting RBE fails.
The build isn't going to go through anyway and the slow 3 minute default
timeout is just confusing and annoying when this happens. There isn't
any additional useful context being output like the comment suggested.

Bug: b/331346866
Change-Id: I0475002469c372fefe3a54d104b54692c89ca9f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359800
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2024-03-26 11:10:48 +00:00
Daco Harkes 2b2c6ec267 [wasm] Update owners
Make dart2wasm self-administrated.

Jackson as dart2wasm contributor.
Add self as `dart:ffi` maintainer.

Change-Id: Ie339aab443e120dfd00a94d0c4130b47984bf0db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359060
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2024-03-26 10:01:22 +00:00
MarkZ d30283f0a1 [ddc] Adding tests for pkg:reload_test and enabling reload tests in test bots.
* Adds tests for the memory filesystem
* Enables hot restart/reload tests
* Adds flags to the hot reload suite
* Makes path resolution logic windows-friendly
* Adds test-reporting logic for trybots to hot reload tests

Change-Id: Ic51a0b8a3c6f8b6de20b58b2ac185dacf444cf47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/353788
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2024-03-25 23:58:26 +00:00
Jonas Termansen 54cd684549 Remove additional --no-goma options since it's the new default.
Bug: b/296994239
Tested: Commit queue
Change-Id: I04f61149c1466db965866e95ffc6dccc457460d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/359065
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Jonas Termansen <sortie@google.com>
2024-03-25 10:35:49 +00:00
Jonas Termansen e8ed498902 [infra] Remove --no-goma from test matrix.
Goma is off by default, and RBE is only enabled where it is known to
work, so there is no need to disable RBE instead. Some of these builders
additionally disable RBE in their infra/config definitions and there is
no need to duplicate that information here.

Bug: b/296994239
Change-Id: I9f9733ba5189b53b899289a23d68126f7c6adcc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357610
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-03-22 12:21:39 +00:00
Jonas Termansen 495d08eca8 [infra] Disable goma by default in favor of RBE.
Bug: b/296994239
Change-Id: I99e1dcfb1016cbb064a742d8cc930f3468d26f3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358161
Reviewed-by: William Hesse <whesse@google.com>
Auto-Submit: Jonas Termansen <sortie@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-03-22 10:09:06 +00:00
Jake Macdonald 25071fc448 revert dart:_macros, going with SDK vendored package
Change-Id: Iaaf80a44cdbd073b01132d04c0426e8acc28341f
Tested: Revert only
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358501
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2024-03-21 02:40:58 +00:00
Erik Ernst 50ff1c7823 Introduce support for augmentation libraries in Dart.g
Change-Id: Icc4b89f1b25dd633279d87e9d51f85372d962c7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358450
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-03-20 17:10:53 +00:00
Erik Ernst 20f197dacd Include the most recent updates on type modifiers in Dart.g
The class modifiers feature specification was updated such that mixins
cannot be `sealed`, and several other combinations were eliminated.
This CL makes those changes to Dart.g. The changes have been in effect
for a while (8 months since last update to the spec), but the update
to Dart.g was somehow not performed at the time. This CL fixes that
omission.

Change-Id: Ifd2124583a124cdaaa7822f94f70e707ec33b425
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358460
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2024-03-19 11:44:03 +00:00
Sam Rawlins 3a650f40a8 analysis_server: Introduce analysis_server_shared package
With a simple move of two classes, Fix and FixContent.

The class moves are not exactly no-ops. I moved each class into its
own library and made the following changes:

* Start doc comments with third person verbs [1].
* Make `Fix` class **final**.
* Make `FixContext` class **interface**.

[1]: https://dart.dev/effective-dart/documentation#prefer-starting-function-or-method-comments-with-third-person-verbs

Work towards https://github.com/dart-lang/sdk/issues/53402

Cq-Include-Trybots: dart-internal/g3.dart-internal.try:g3-cbuild-try
Change-Id: Ic046b236d634543832825db8746e0abdca5191fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355889
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2024-03-18 20:54:49 +00:00
Konstantin Shcheglov 252abbae52 Update tools/package_deps to stop at a line with Future with type argument.
Should fix failures in https://dart-review.googlesource.com/c/sdk/+/358222

Change-Id: I1c5d63e90e26e11d083be2327a22f6c5617b6670
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/358280
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2024-03-18 20:13:08 +00:00
asiva 88bb72f47f [VM] - Remove redundant invocation of VM benchmarks with --sound-null-safety flag.
The VM is by default sound null safe and so it is not necessary to run
the benchmark again with --sound-null-safety flag.

Corresponding changes have been made to the actual benchmark suite.

TEST=ci

Change-Id: Id844da0e0c2e7b6b411a2fcecfdc3d1ec2232c35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357220
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2024-03-18 15:47:19 +00:00
Jason Simmons 5ed896c9ae Use an escape sequence for space characters in depfiles generated by the copy_tree script
Change-Id: I60473b9729b310bd3909c98607ccb708c52dac15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357500
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Jason Simmons <jsimmons@google.com>
2024-03-14 15:45:55 +00:00
Ryan Macnak 963448ff2f [infra] Remove legacy VM configurations.
Change-Id: Ib360b96e3c21a337ebbf3a69113f07c73791c50f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/357213
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2024-03-14 15:40:29 +00:00
Paul Berry fb210554eb Enable feature inference-update-3.
In discussion with the language team, we've decided to ship this
feature in Dart 3.4. This CL contains a minimal CHANGELOG entry for
the feature; I plan to expand on it once I'm finished with the feature
specification document.

Change-Id: Iac86ebed322feb8e478bf5a6780d50adb433ed7f
Tested: trybots
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355900
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2024-03-13 22:04:23 +00:00
Zach Anderson 03101837d9 [gn] Deprecate copy_trees()
Part of https://github.com/flutter/flutter/issues/144430

This is a reland of https://dart-review.googlesource.com/c/sdk/+/356481 with the addition of dependencies to prevent races on directory creation.

Previously, this code did backflips to accomplish two goals
1. Collect the paths of all files that would be copied from one place to another after applying regex filters so that they could be listed as the "inputs" to a GN action.
2. Arrange so that the python script doing the above would only be invoked once during GN to reduce the cost of calling out to python.

However, this is exactly the use-case for the "depfile" parameter to a GN action. Instead of running the script during GN to populate the "inputs" list, when we run the copy_tree.py script, we can instead ask it to generate a depfile to collect all the input files that were actually copied after applying the regex filter. Using that, we don't have to run the python script at all during GN.

TEST=it builds

Change-Id: I593e2500544a9fff5dd9852d0d3370f97aafc464
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356620
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2024-03-09 04:14:39 +00:00
Zach Anderson 939ae55c00 Revert "[gn] Deprecate copy_trees()"
This reverts commit f60d32167f.

Reason for revert: build failures in post submit

Original change's description:
> [gn] Deprecate copy_trees()
>
> Part of https://github.com/flutter/flutter/issues/144430
>
> Previously, this code did backflips to accomplish two goals
> 1. Collect the paths of all files that would be copied from one place to another after applying regex filters so that they could be listed as the "inputs" to a GN action.
> 2. Arrange so that the python script doing the above would only be invoked once during GN to reduce the cost of calling out to python.
>
> However, this is exactly the use-case for the "depfile" parameter to a GN action. Instead of running the script during GN to populate the "inputs" list, when we run the copy_tree.py script, we can instead ask it to generate a depfile to collect all the input files that were actually copied after applying the regex filter. Using that, we don't have to run the python script at all during GN.
>
> TEST=it builds
>
> Change-Id: I41a251ce4659119cdc3997bb2d6fc7ee0831bb6d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356481
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zach Anderson <zra@google.com>
> Reviewed-by: Alexander Aprelev <aam@google.com>

Change-Id: Ie4409ed93a3c990fbce375dba1f2d9a3c735ea3f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356308
Auto-Submit: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Zach Anderson <zra@google.com>
2024-03-08 20:59:53 +00:00
Zach Anderson f60d32167f [gn] Deprecate copy_trees()
Part of https://github.com/flutter/flutter/issues/144430

Previously, this code did backflips to accomplish two goals
1. Collect the paths of all files that would be copied from one place to another after applying regex filters so that they could be listed as the "inputs" to a GN action.
2. Arrange so that the python script doing the above would only be invoked once during GN to reduce the cost of calling out to python.

However, this is exactly the use-case for the "depfile" parameter to a GN action. Instead of running the script during GN to populate the "inputs" list, when we run the copy_tree.py script, we can instead ask it to generate a depfile to collect all the input files that were actually copied after applying the regex filter. Using that, we don't have to run the python script at all during GN.

TEST=it builds

Change-Id: I41a251ce4659119cdc3997bb2d6fc7ee0831bb6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356481
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2024-03-08 20:47:47 +00:00
Oleh Prypin fc5f82c244 [tool] Use new builder name syntax for tools/find_builders.dart
See mentions of migrating from legacy syntax from back when it was ongoing: https://g-issues.chromium.org/issues/40170614#comment36

Change-Id: If592c5bcf40b2e56f9b18fcf27f74d767f97375a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356041
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Oleh Prypin <oprypin@google.com>
2024-03-06 15:49:54 +00:00
Daco Harkes 86c41c9c77 [tool] tools/find_builders.dart cbuild opt in
Opt in to CBuild being green.

Remove denylisted bots now that issue is resolved.

Change-Id: I89c23720eaed78b317067bbdb065fe0cef8ecd75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/356022
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-03-06 14:03:19 +00:00
David Morgan c2004efd47 [macros] Add macro build tests.
These are a new type of test that runs with the SDK under test against what
looks like an external package; they start by running "pub get" then run SDK
build commands to build the package, and check that macros applied correctly.

Add tests for various builds that already pass, plus one that doesn't:
cfe_sdk_cli_test fails because it was switched to run from an AOT snapshot
and that doesn't support macros yet.

Change-Id: Ic801cb61bd414d4876566452e01dd8c8203e9013
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/353100
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Morgan :) <davidmorgan@google.com>
2024-03-06 12:31:37 +00:00
Jonas Termansen 6d69d56307 [infra] Turn off Goma by Windows by default.
Fix the case where both Goma and RB is turned on together and conflicts.

Bug: b/296994239
Change-Id: If37fe35dc3d8f025c22a041545cfe0b50cea4be5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355761
Auto-Submit: Jonas Termansen <sortie@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-03-05 14:31:59 +00:00
Jonas Termansen c0e089af45 [infra] Fix environment during RBE shutdown.
Bug: b/296994239
Change-Id: Id7545ef44a28ebb3c1439c1f980fa95978be1412
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355780
Reviewed-by: William Hesse <whesse@google.com>
2024-03-05 13:47:17 +00:00
Jonas Termansen a27993d7c9 [infra] Fix not initializing RBE before gn.
Bug: b/296994239
Change-Id: I344f07fa7f389fa5b0f5e65b24168f2d05daacbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355683
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-03-05 13:22:39 +00:00
Lasse R.H. Nielsen 9d933d1281 Retire 3.3 experiments in the 3.4 release.
Tested: No new tests.
Change-Id: Idf19ce8b6743b221841e6cef6b2a80e8ab37860e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354260
Auto-Submit: Lasse Nielsen <lrn@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2024-03-04 16:09:31 +00:00
Jonas Termansen 3f1d6a99e7 [infra] Simplify RBE configuration and allow concurrent builds.
Automatically detect the appropriate configuration file if RBE=1 is
set to request RBE on all projects, or if DART_RBE=1 is set to request
RBE for Dart only, or otherwise respect the explicit configuration file.

Automatically set the server_address location to the build directory
if it has not already been set. This is unfortunately not supported on
Windows due to the environment variable being set during build but it
needed to be set during gn.

Retain the older configuration files during the transitory period.

Bug: b/296994239
Fixes: b/320876546
Change-Id: I62d1fbfed35248477731cceda3f7267c605c4969
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/355400
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-03-04 14:54:26 +00:00
Ryan Macnak 1b37593170 Update sysroot paths used during Debian package building.
Also, riscv64 now works with Clang.

Change-Id: I26ba91994f8769d63ba5af6662b31f5cdd007394
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354062
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2024-02-29 17:38:24 +00:00
Alexander Thomas e91957b2d5 [dartdoc] Add header and footer options to dartdoc options
Bug: b/323126451
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try
Change-Id: Iedc6a4d282da3beae7bdcf522c4ae0bab8644a3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354886
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2024-02-29 12:49:50 +00:00
Jonas Termansen a19d3f3375 [infra] Support testing with RBE on Windows.
Place the windows toolchain in the build root so it can be sent to RBE.

Use relative paths in debug symbols when building with Windows clang,
which is needed for remotely building with RBE.

Set the executable bit when invoking clang-cl remotely as it has not
been set on Windows RBE clients.

Stop including .rst files during build commands as @options-from-file
is not supported by rewrapper at this time.

Forward RBE_cfg into the msvc build environment and rewrite the
INCLUDE, LIB, and LIBPATH environment variables to use relative paths
instead of absolute paths.

Don't download reclient on windows-arm64 where there is no cipd
package and the windows-arm64 python lies and says it's x64 because
they actually packaged a x64 python.

Tune the Windows -j performance to match the historic bot performance
as most casual Windows machines won't handle -j 1000 well.

Bug: b/296994239
Change-Id: I2bd1b4478fca796f0a326c062a5f478f16c2c6ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/343440
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-02-29 10:33:09 +00:00
Martin Kustermann c28f91401c [dart2wasm] Update timeout value for dart2wasm tests from 4 min to 1 min
Change-Id: I71bf1c9a6e6a2a0903359b4883f649cd33936e2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354026
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2024-02-26 13:57:19 +00:00
Jonas Termansen fe202e60c3 [infra] Recognize c.googlers.com.
Change-Id: Ibec8a8dbe627b57253aaa0ec4a91f1c408fe282a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354240
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2024-02-26 10:43:23 +00:00