Commit Graph

518 Commits

Author SHA1 Message Date
Jens Johansen b32e313620 [vm] Introduce --script_uri_override to support Platform.script in dart run -r
If a script uses `Platform.script` running it with as `dart
<script.dart>` and `dart run <script.dart>` would give the correct
script ("<script.dart>"), but running it with `dart run -r
<script.dart>` would report a dill file in the temp directory which is
not only surprising, but also breaking and for instance running the CFEs
strong_suite.dart via `dart run -r` didn't work.

This CL introduces --script_uri_override to the VM and makes the
resident compiler setup pass it so that when running `dart run -r
<script.dart>`, even though the vm is actually launched from a dill file
that resides in temp, `Platform.script` will actually return
`<script.dart>` - and running the CFEs strong_suite.dart via `dart run
-r` now actually works.

Tested: Added pkg/dartdev/test/commands/run_test.dart and manual testing.
Change-Id: Ia65c01834485fe06af63584baf0448dd5b9ffdb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510343
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2026-06-11 06:34:20 -07:00
Konstantin Shcheglov e4ef831dfc Prepare to publish analyzer 13.2.0, _fe_analyzer_shared 102.0.0, analysis_server_plugin 0.3.17, analyzer_plugin 0.14.11, analyzer_testing 0.3.1
Change-Id: I534e30c37570cf5fdc194eb9668d37747823aa82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510480
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2026-06-10 10:52:25 -07:00
Parker Lougheed 44bb92f49a [dartdev] Provide no installation feedback in dart installed
Updates `dart installed` to provide feedback if nothing is installed. If they didn't specify `--all` but there are inactive tools, provide a suggestion to specify the `--all` flag as well.

Resolves https://github.com/dart-lang/sdk/issues/61626

Change-Id: I7d68fe91a29650c113047065e673e7a1139df847
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510020
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2026-06-10 08:26:03 -07:00
Daco Harkes bf82bf3d38 [dartdev] Fix test package resolution
Change-Id: I6d0d9fd29dd7eafcbf7d451b3f91ca66cc8c7fe7
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/510300
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-06-09 01:26:43 -07:00
Simon Binder 567bf3337b [dart2wasm] Document standalone platform and include it in SDK
Given that the standalone target for dart2wasm is feature-complete now,
it makes sense to include it in released SDKs.

This adds the platform and outline files to built SDKs and exposes the
`--standalone` flag in `dart compile wasm`.
It also documents the standalone target in `pkg/dart2wasm/doc`, which
should be helpful as a starting point to use these compiled modules.

Change-Id: I5bd86e9670f03f2955e31789095dd5c462bf149e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506920
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2026-06-02 00:56:35 -07:00
Daco Harkes fa6bfb196b [dartdev] dart build cli root package
`dart:test` compiles a wrapper file that it places _outside_ all
packages defined in the `package_config.json`.

Technically, the `package_config.json` is only used to resolve the
imports that are _not_ the entry-points. So, it should be valid to
pass an entry-point outside the `package_config.json`.

However, we do need to specify what root-package to use for running
hooks. So, add a CLI option for this.

See discussion on https://github.com/dart-lang/test/pull/2660

Change-Id: I381a61490e69eb5757126b017f07779917837851
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508122
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-06-01 13:31:35 -07:00
Daco Harkes 1cdc6b3f84 [dartdev] dart build cli non-bin entry point and package config
Closes: https://github.com/dart-lang/sdk/issues/63432

This is needed for being able to make `package:test` being able to
compile (individual) tests with build and link hooks.

Change-Id: Icb9c576376fd04ff0518f686c00153581067b080
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506242
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
2026-05-29 12:11:50 -07:00
Jake Macdonald 06bdbd777f Update mcp-server command to be an alias for 'run dart_mcp_server@'
Strips the dart-lang/ai dependency from the SDK entirely, as well as the snapshot.

Bug: https://github.com/dart-lang/ai/issues/479
Change-Id: Id919c6a8fbf5fedeffb37e5181bc2fbd85adf986
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507220
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2026-05-28 12:06:25 -07:00
Daco Harkes da40aec0bb [deps] Roll dart-lang/native
Pass in the entry-points and OS to the link hook when the record_use
file is provided. So that different target OSes and different entry-
points are cached separately.

Also, commit skill to rev `native_rev` in DEPS. (The new agent
IDE ignores gemini.md that contained it and prefers using skills.)

Change-Id: Ic77e3ccd5915736081c01f8b75901f626f688f19
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506580
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2026-05-27 07:31:46 -07:00
Brian Wilkerson 291730c940 Fix the windows bot
The CL https://dart-review.git.corp.google.com/c/sdk/+/505045 broke the
windows bot because the file path is different. It's different by more
than just the path separator, and given that the point of the test isn't
to ensure that the right file path is being printed, I decided to
remove the file path check from the expectations.

Change-Id: Ie5aef4beddb2051c63b2d1686664afb8841297fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/505383
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-05-22 07:00:21 -07:00
Brian Wilkerson f2319d4ed4 Support fixing codes not enabled in the options file
Codes specified on the command-line are force-enabled in all of the
analysis options for all of the files. This is done in a brute force
way, but it should be safe because the code is creating an analysis
context collection just for this one run, so the options objects
should be short lived.

Closes https://github.com/dart-lang/sdk/issues/63345

Change-Id: I8925da426d6cb5b9ce686725e3b95696b552cae0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/505045
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2026-05-21 12:57:18 -07:00
Daco Harkes 6f7f338328 [dartdev] dart build cli add --target-sanitizer support
Closes: https://github.com/dart-lang/sdk/issues/63374

Does not yet add sanitizer support for build hooks:
https://github.com/dart-lang/native/issues/2497

Change-Id: I53763b94d03a9b759f226a2b45f723706a1e5934
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/504880
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2026-05-20 13:45:54 -07:00
pq 04c6612781 [analytics] propagate analytics environment variables to subtools
Updates the main `dartdev` command runner to read and propagate the unified analytics environment variables (`DASH__SUPPRESS_ANALYTICS` and `DASH__TOOL`) to all spawned isolates and child processes using the handy new `VmInteropHandler.setEnvironmentVariable` support (see: https://dart-review.googlesource.com/c/sdk/+/499300).

Fixes: https://github.com/dart-lang/sdk/issues/62876



Change-Id: Iae68790a2cf861dd01edbea81f9faf7d7529f5f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/504321
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2026-05-19 11:57:42 -07:00
Kenzie Davisson a0e0688b21 Update DevTools rev to 23a1bf0ff30bc83b1dc16045d6d9b15da9b4bc9c
Change-Id: Ib46dfa0b30de394665ad6b0fb4f55cc5b0f93add
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/499801
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2026-05-05 17:30:59 -07:00
Ben Konyi c5a57427d1 [ CLI ] Add support for modifying the environment from package:dartdev
This change makes it possible to set environment variables for the
current process from package:dartdev.

As a proof of concept, package:dartdev now sets `DART_ROOT` to the path
of the Dart SDK in the environment.

Related to https://github.com/dart-lang/sdk/issues/63210 and https://github.com/dart-lang/sdk/issues/62876

TEST=pkg/dartdev/test/environment_test.dart
Change-Id: If3a90279e99dadaba435ae3e43a752dcfda69227
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/499300
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-05-05 10:03:41 -07:00
Alexander Markov b540d7e135 [vm] Fix parsing of DART_VM_OPTIONS environment variable
This change fixes the following problems when parsing DART_VM_OPTIONS
environment variable:

* Resize vm_options to accomodate for extra flags from
  DART_VM_OPTIONS.

* Prepend executable name to the argv to be compatible with
  implementation of Platform.executableArguments.

* Use strchr instead of strtok_r to avoid modifying value of
  DART_VM_OPTIONS environment variable in place.

TEST=pkg/dartdev/test/commands/compile_test.dart

Fixes https://github.com/dart-lang/sdk/issues/62957
Fixes https://github.com/dart-lang/sdk/issues/62958

Change-Id: I86e0ece20844888333b2a0765c82a5ad1fba54b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/491001
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-03-26 19:52:00 -07:00
Daco Harkes de57e3949a [deps] Roll dart-lang/native
Rolls in:

* Revamping `Definition`s hierarchy.
* Correctly identifying unnamed constructors and extensions.
* Operator names.
* Removal of the metadata section.

Closes: https://github.com/dart-lang/native/issues/3193
Closes: https://github.com/dart-lang/native/issues/3144
Closes: https://github.com/dart-lang/native/issues/3251
Closes: https://github.com/dart-lang/native/issues/3252

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: Ief3c2e74c3527f55dc6c29bf288d2a4f65627f4e
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/489960
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-03-25 01:48:37 -07:00
Lasse R.H. Nielsen 56505e0575 Stop using Match.group.
The `Match.operator[]` does the same thing and is
generally recommended (and shorter).
(I want to deprecate `group` and `groups`)

Tested: Refactoring.
CoreLibraryReviewExempt: Calling equivalent function.
Change-Id: I4c758968ae622fe16b7322be1b29b05b91e7fcd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/489021
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2026-03-20 09:09:46 -07:00
Daco Harkes 86aa5393eb [record_use] Add flag to dart compile subcommands
Recorded uses have two use cases:
1. In link hooks by package authors.
2. In SDKs that wrap Dart standalone.

The second use case is already used for dart2js with
`--write-resources`. dart2wasm already added a `--recorded-uses` flag.
Let's add the same flag for `dart compile` subcommands.

TEST=pkg/dartdev/test/native_assets/compile_test.dart

Change-Id: Iec31b7339d244d67a35cb9a072dff43ddc3983fa
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/488461
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-03-17 09:59:38 -07:00
Daco Harkes 2d94b0cbb8 [dartdev] dart run progress updates to stderr
Stream various updates from different components to `stderr` instead
of `stdout` on `dart run`.

TEST=pkg/dartdev/test/

Fixes: https://github.com/dart-lang/sdk/issues/62818

Change-Id: Icd5caa65aab092341d370b09c016f89ae2a57987
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486203
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-03-09 11:05:28 -07:00
Daco Harkes 769752be6f [dartdev] Fix resident compiler tests
Explicitly set `--resident-compiler-info-file`.

Closes: https://github.com/dart-lang/sdk/issues/62598
Closes: https://github.com/dart-lang/sdk/issues/62599

Change-Id: Iefd6ab479c2f5a4291156f453e2f3f4f5fc66fc3
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486181
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
2026-03-06 12:23:07 -08:00
Sigurd Meldgaard 24a7ac636f Bump pub to 74408212b5348003381bc63f3b59274aaa23cfa3
Changes:
```
> git log --format="%C(auto) %h %s" 26c6985..7440821
 https://dart.googlesource.com/pub.git/+/74408212b Bump actions/stale from 10.1.1 to 10.2.0 in the github-actions group (4788)
 https://dart.googlesource.com/pub.git/+/ac14a82d0 Finish override logic (4780)
 https://dart.googlesource.com/pub.git/+/26d41b4f6 Handle both tagged and lightweight tags in tag patterns (4781)
 https://dart.googlesource.com/pub.git/+/701d535d3 Make applicationConfigHome conditional, avoid it when dart:io is unavailable (4779)
 https://dart.googlesource.com/pub.git/+/526635f32 IOOverrides using package:file for testing (4774)
 https://dart.googlesource.com/pub.git/+/970c4f7c9 Wrap platform (4778)
 https://dart.googlesource.com/pub.git/+/3b6317778 Test for gzipDecoder (4772)
 https://dart.googlesource.com/pub.git/+/d60133739 Wrap path (4775)
 https://dart.googlesource.com/pub.git/+/eac9e600d 'Add @TestOn('vm') to all tests (4769)
 https://dart.googlesource.com/pub.git/+/e1d6f0679 Remove skipped feature test (4773)
 https://dart.googlesource.com/pub.git/+/27a584dcd Stop sending X-Pub headers (4764)
 https://dart.googlesource.com/pub.git/+/143730e76 Introduce platform-agnostic gzipDecoder abstraction (4768)
 https://dart.googlesource.com/pub.git/+/0062dc9b9 Support Git LFS for git dependencies (4761)
 https://dart.googlesource.com/pub.git/+/2ec22ec97 Allow (and prefer) using @ instead of : in `pub add` and `pub unpack` (4759)
 https://dart.googlesource.com/pub.git/+/d3d0824ab Fix path-activated packages not picking up source changes (4748)
 https://dart.googlesource.com/pub.git/+/54a30dd79 Bump analyzer from 10.0.1 to 10.0.2 (4750)
 https://dart.googlesource.com/pub.git/+/1d9b56e2f Bump meta from 1.17.0 to 1.18.1 (4751)

```

Diff: https://dart.googlesource.com/pub.git/+/26c6985c742593d081f8b58450f463a584a4203a..74408212b5348003381bc63f3b59274aaa23cfa3/
Change-Id: I53e9723c511561e9e7c4b10fdb41db00cc157e56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/484580
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Auto-Submit: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2026-03-06 08:07:17 -08:00
Daco Harkes f125fd9d08 [deps] Roll dart-lang/native
Closes: https://github.com/dart-lang/native/issues/2718
Closes: https://github.com/dart-lang/native/issues/2938

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: I4770c8ac5d50c4117e76a91b3eafe5f981006f14
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/483560
Reviewed-by: Nate Biggs <natebiggs@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2026-02-26 07:21:09 -08:00
Robert Nystrom 207e8f6f3c Change the ConvertToInitializingFormal availability to allow it in dart fix.
Change-Id: I9dc2a579f5c7a832bc3ba2adc4ea0ad965845397
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/483361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2026-02-24 17:13:50 -08:00
Daco Harkes 10cc8d95c2 [record_use] Record kinds and disambiguators
Architecture:

* The backends piece together the information of the original
  definitions by undoing the name mangling.

Classes, top-level methods, and static methods have the kind and
disambiguator now.
Bug: https://github.com/dart-lang/native/issues/2888

Extension name and extension method names are now tracked properly.
Unnamed extensions are named `<unnamed>` for now. We should consider
making `name` optional in the format.
Bug: https://github.com/dart-lang/native/issues/2948

We don't have test coverage for enums. The current implementation
reports them as instances.
Bug: https://github.com/dart-lang/native/issues/2944

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: I7f87fcac3d2333b150cc7ed30bce7960f8a845e3
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/481100
Reviewed-by: Nate Biggs <natebiggs@google.com>
2026-02-19 13:25:23 -08:00
Parker Lougheed 6ce5b17052 [dartdev] Update and fix a few links in tool output and comments
Change-Id: I2bdbd844a0cd5bcdfcaa67861c1a9f301a63c37b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/481000
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2026-02-18 08:28:01 -08:00
Daco Harkes a5ce342250 [deps] Roll dart-lang/native
TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Bug: https://github.com/dart-lang/native/issues/2888
Change-Id: I13479fbb5ac637d1e9f496d19e838fb58c97d258
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/480980
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
2026-02-16 22:20:43 -08:00
Daco Harkes 505998e88a [deps] Roll dart-lang/native
TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: Ie014ff428baed1e05d99f66ef041c745f98e04e2
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/479844
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Michael Goderbauer <goderbauer@google.com>
2026-02-12 05:18:02 -08:00
Sigurd Meldgaard 528d4faff6 dart install and dart remote run with descriptors
Bug: https://github.com/dart-lang/sdk/issues/62123
Change-Id: I16e4fc0c20b9728e8357b6f67540aec73b2804ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/477560
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2026-02-10 05:50:12 -08:00
Daco Harkes 04fae12154 [deps] Roll dart-lang/native
Rolls in the unsupported constants breaking API change from
`package:record_use`. Unsupported constants implementation in stacked
CL.

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dart2wasm/test/record_use_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: I2f6b3cf32abf2b3a0426fe88a9ec20284348459e
Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/478361
Reviewed-by: Nate Biggs <natebiggs@google.com>
2026-02-09 08:22:54 -08:00
Daco Harkes 70ec554263 [dartdev] dart compile exe only warn on hooks for bin/
`dart build cli` only supports `bin/` scripts. So don't suggest it
as replacement for `dart compile` for non bin scripts.

Bug: https://github.com/dart-lang/sdk/issues/62593
Change-Id: I61cf60d4f168f10067295d4876c859e72eb32881
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/478640
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Morgan :) <davidmorgan@google.com>
2026-02-05 06:47:47 -08:00
Daco Harkes 09cc803061 [dartdev] Add dart build cli --depfile option
Closes: https://github.com/dart-lang/sdk/issues/62594
Change-Id: I1f6cd30d6e6bcced998c8cee8978c3f6805bd79e
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/478603
Reviewed-by: Morgan :) <davidmorgan@google.com>
2026-02-05 06:47:47 -08:00
Sigurd Meldgaard 65c4d768f1 Upgrade language version of dartdev to 3.11
Changes are reformatting and using the nullable list element operator.

Change-Id: Iea1f4d2fcb06056f14804c8fe8b33c0b4d9037f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/477561
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2026-02-02 06:47:50 -08:00
Johnni Winther 62a646220a [dartdev] Handle upper case letters in dart create
This adds handling of upper case letters in `dart create`. This command is run from IDEs (IntelliJ, atleast) and if you use upper case letters in the directory, the `dart create` would (silently) fail instead of normalizing the directing to a valid package name, leaving the created project folder with no content.

All upper case names are normalized to all lower case, and mixed case are normalized to snake case, as if it was from camel case.

Change-Id: If854e17a0273eb0d02f4f0c5dcd4b50752e57bd4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/474641
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2026-01-22 07:36:14 -08:00
Daco Harkes 002d933e18 [dartdev] Bundle code assets with resident compiler
Wire up the native assets yaml embedding into the kernel file
when using the resident compiler in `dart run`.

TEST=pkg/dartdev/test/native_assets/run_test.dart

Closes: https://github.com/dart-lang/sdk/issues/62421
Change-Id: I7a381a822c8e5bbd6b214af3b0a30ccf8216fe6a
Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/474220
Reviewed-by: Ben Konyi <bkonyi@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2026-01-19 09:07:09 -08:00
Sam Rawlins 683ef059f5 Add a --no-plugins option to prevent analyzer plugins from running
Fixes https://github.com/dart-lang/sdk/issues/62353

Change-Id: I902badd0a7a072b98691d88ad7b382828227b1fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-01-12 11:28:17 -08:00
Daco Harkes 6efd914b36 [dartdev] Delete and create dylibs instead of truncate - test
Roll in regression test https://github.com/dart-lang/native/pull/2933
to test https://dart-review.googlesource.com/c/sdk/+/471240.

Closes: https://github.com/dart-lang/native/issues/2921

Change-Id: Id3aab286f2aeb4654c69cbc34ee0d15f29013565
Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-mac-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471262
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2026-01-07 10:29:56 -08:00
Daco Harkes 42249a3713 [dartdev] dart compile report which packages have hooks
Closes: https://github.com/dart-lang/sdk/issues/62320

Change-Id: I45d51abf0d50725f57cabe7e0b662ceaad88edc0
Cq-Include-Trybots: luci.dart.try:pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-win-release-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-mac-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/471180
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
Commit-Queue: Michael Goderbauer <goderbauer@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-01-07 01:23:35 -08:00
Daco Harkes 637b755ccd [test] Change the record_use tests to semantic equality
Testing for semantic equality means that we don't have to update
the expectation files every time a backwards compatible change to the
json serialization rolls in.

This also i a step towards being able to share the expect files
between the VM and dart2js.
Bug: https://github.com/dart-lang/native/issues/2885

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dartdev/test/native_assets/compile_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

For reference, to update the goldens:

```
$ tools/test.py -m release --vm-options -DupdateExpectations=true pkg/vm/test/transformations/record_use && \
tools/test.py -m release --vm-options -DupdateExpectations=true pkg/compiler/test/record_use/record_use
```

Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-linux-chrome-try,dart2js-unit-linux-x64-release-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try
Change-Id: I462350909eb82f486d09b813f2bc516fe50ce0fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/469580
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2025-12-23 09:22:31 -08:00
Daco Harkes ced923c8ca [deps] Roll dart-lang/native
The new record_use serializer orders keys alphabetically, the files
are staying the same length in lines.

Note: In a later PR we should update the golden files to be identical
between both compilers to ensure correctness across the compilers.

TEST=pkg/compiler/test/record_use/record_use_test.dart
TEST=pkg/dartdev/test/native_assets/*_test.dart
TEST=pkg/vm/test/transformations/record_use_test.dart

Change-Id: I3b4209b8952a0c86017fdc26c0e2351ba78a8f72
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/469060
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2025-12-19 02:12:42 -08:00
Daco Harkes 10373c30e8 [dartdev] Run remote empty version
Fixes: https://github.com/dart-lang/sdk/issues/62122
Change-Id: Id8331c58d968b6c92cfe7c1ae9be75d80260e772
Cq-Include-Trybots: luci.dart.try:pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-win-release-try,pkg-linux-release-try,pkg-linux-debug-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467803
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2025-12-15 06:39:16 -08:00
Sigurd Meldgaard a22f4d3924 Hide remote run behind flag (until aligned)
Prevent introducing a breaking change later by removing the current incantation
of remote run before it goes into stable.

See: https://github.com/dart-lang/sdk/issues/62123 for details.
Change-Id: I53e0ba84a9317bd16d1249d2bcf1b07a0467a49d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467021
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2025-12-15 01:55:31 -08:00
Ryan Macnak 8dbd8bb913 [dart] dart compile aot-snapshot --target-sanitizer=asan,msan,tsan
Bug: https://github.com/dart-lang/sdk/issues/61352
Change-Id: I7ac6228352706581b18d4394a854f45c1d08c347
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/465986
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-12-08 10:57:03 -08:00
Brian Wilkerson af83bcb046 Add documentation for most of the errors and warnings in analysis options files
We don't have a way to mechanically verify the exampes and fixed code,
so please look to see whether any of it looks wrong. And, of course, let
me know if any of the text appears to be incorrect or could be better.

Change-Id: I9b059524ffcedc1e3b8a7602b7124f419095a702
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/455481
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2025-12-03 13:03:12 -08:00
Alexander Aprelev 7cf7000a41 [vm/dartdev] Pass package_config option to spawned executable.
Fixes https://github.com/dart-lang/sdk/issues/62009
TEST=dartdev/run_test

Change-Id: I8fc114268d2f438fc78fa6b32f2d50e4b85cde91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464660
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2025-12-01 11:28:58 -08:00
Daco Harkes d114ce5579 [dartdev] dart run <remote> --verbosity=error hide build hooks
progress

This enables running one-off commands via `dart run <remote>` and
only having the stdout from the program.

TEST=pkg/dartdev/test/native_assets/run_remote_test.dart

Bug: https://github.com/dart-lang/sdk/issues/61996
Change-Id: Ia60bd2b3754b407686718b33b1934d8687dac8d4
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464384
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2025-11-26 02:16:19 -08:00
Daco Harkes 3785c8f4ea [dartdev] dart run --verbosity=error hide build hooks progress
This enables running `dart run` without the `stdout` containing
progress outputs.

TEST=pkg/dartdev/test/native_assets/run_test.dart

Closes: https://github.com/dart-lang/sdk/issues/61996
Change-Id: I35835db5be8e17623bdee0fc78b6a8e789a268e0
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464421
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2025-11-26 02:16:19 -08:00
Daco Harkes 0d052e3969 [deps] Roll dart-lang/native
This roll moves `package:record_use` to the dart-lang/native repo.

Change-Id: I31183dc8b72272d7e94ed3031ca0b8bfca583e0d
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463662
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2025-11-24 05:04:03 -08:00
Daco Harkes b2e58f8467 [dartdev] Run hooks for dev dependencies in dart run
The user might want to access the assets from dev dependencies.
The Dart code might want to use dev dependencies. `dart run test`.

Closes: https://github.com/dart-lang/tools/issues/2237
Change-Id: Ib8c9b4a7f3f2dedb33777e1f29cb82fc678edd4f
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462980
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2025-11-24 02:18:01 -08:00
Daco Harkes 991c48f689 [dartdev] dart run remote
Enables "run-from-remote" with `dart run`.

```
Run a Dart program from a file, a local package, or a remote package.

Usage: dart [vm-options] run [arguments] [<dart-file>|<local-package>|<remote-executable> [args]]

<dart-file>
  A path to a Dart script (e.g., `bin/main.dart`).

<local-package>
  An executable from a local package dependency, in the format <package>[:<executable>].
  For example, `test:test` runs the `test` executable from the `test` package.
  If the executable is not specified, the package name is used.

<remote-executable>
  An executable from a remote package. This can be from a hosted package server
  (like pub.dev) or a git repository.

  When running a remote executable, all other command-line flags are disabled,
  except for the options for remote executables. `dart run <remote-executable>`
  uses `dart install` under the hood and compiles the app into a standalone
  executable, preventing passing VM options.

  From a hosted package server:
    <hosted-url>/<package>[@<version>][:<executable>]

    Downloads the package from a hosted package server and runs the specified
    executable.
    If a version is provided, the specified version is downloaded.
    If an executable is not specified, the package name is used.
    For example, `https://pub.dev/dcli@1.0.0:dcli_complete` runs the
    `dcli_complete` executable from version 1.0.0 of the `dcli` package.

  From a git repository:
    <git-url>[:<executable>]

    Clones the git repository and runs the specified executable from it.
    If an executable is not specified, the package name from the cloned
    repository's pubspec.yaml is used.
    The git url can be any valid git url.
```

Notable implementation decisions:

* Does not redownload if the pubspec.lock is identical from the last
  remote run. Always does a pub resolve to see if the pubspec.lock
  would be identical.
* pub urls must start with `https://`. This makes parsing with local
  file paths more tractible.
* git urls may use either urls, or git ssh. (Git SSH is not tested due
  to not wanting to run an ssh server locally.)
* Shares as much implementation with `dart install` as possible. The
  `dart install` implementation was made public where necessary. The
  `dart install` implementation was kept in place to keep the git diff
  small.
* Test lives in pkg/dartdev/test/native_assets/ so that its not run
  on a shard and xcode and git commands are available.

TEST=pkg/dartdev/test/native_assets/run_remote_test.dart
Closes: https://github.com/dart-lang/sdk/issues/61588
Change-Id: I6a641c670a61da309027d3f82c90f4b59e70933b
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/457640
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2025-11-21 03:38:57 -08:00