Commit Graph

161 Commits

Author SHA1 Message Date
Devon Carew 55496c8a06 [dartdev] make the 'dart fix' command visible
Change-Id: I545242f2dbb0092f3d2e31b9cfbecbb2705df69f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-12-09 17:41:25 +00:00
pq 9cc78dce1f tweak description/disclaimer
Removes API migration from the description and ensures the disclaimer appears when run in a help context.

Sample output:


```
$ dart bin/dartdev.dart fix
Fix Dart source code.

This tool looks for and fixes analysis issues that have associated automated fixes.

To use the tool, run either 'dart fix --dry-run' for a preview of the proposed changes for a project, or
'dart fix --apply' to apply the changes.

Note: The `fix` command is provisional and subject to change or removal in future releases. Feedback is
welcome!

Usage: dart fix [arguments]
-h, --help       Print this usage information.
-n, --dry-run    Preview the proposed changes but make no changes.
    --apply      Apply the proposed changes.

Run "dart help" to see global options.

$ dart bin/dartdev.dart fix -n

Note: The `fix` command is provisional and subject to change or removal in future releases. Feedback is welcome!

Computing fixes in dartdev (dry run)... 15.2s
Nothing to fix!


$ dart bin/dartdev.dart fix --help
Fix Dart source code.

This tool looks for and fixes analysis issues that have associated automated fixes.

To use the tool, run either 'dart fix --dry-run' for a preview of the proposed changes for a project, or
'dart fix --apply' to apply the changes.

Note: The `fix` command is provisional and subject to change or removal in future releases. Feedback is
welcome!

Usage: dart fix [arguments]
-h, --help       Print this usage information.
-n, --dry-run    Preview the proposed changes but make no changes.
    --apply      Apply the proposed changes.

Run "dart help" to see global options.
```




Change-Id: I2fc03651d8a1605a9729bb4d62e382f533509d99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175343
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2020-12-08 19:39:05 +00:00
Sigurd Meldgaard f3fe9dc3b3 Reland "Improve handling of disable-dartdev-analytics"
This is a reland of 58860f4814

Original change's description:
> Improve handling of disable-dartdev-analytics
>
> This is second try of https://dart-review.googlesource.com/c/sdk/+/171284
> that was reverted to to faulty logic in main_options.
>
> Some other refactorings are piggy-backed along.
>
> TestProject.runSync no longer takes a 'command' argument. It was anyway
> often not an argument.
>
> Also stop the messy handling of pub arguments. It is no longer needed.
>
> BUG: https://github.com/dart-lang/sdk/issues/44135
> Change-Id: I49abf5810d9ea262409ba9d93f0471037cb8a753
> TEST=The VM change is tested via all the pkg/dartdev/test/command/* tests that invoke dart with the --no-analytics flag.
> TEST=Furthermore manual test that the --no-analytics flag is passed to dartdev.
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174261
> Reviewed-by: Jonas Jensen <jonasfj@google.com>
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>

Change-Id: I725662f578d061f87171ceffe9aff3de83688f58
TEST=Furthermore run the vm-kernel-precomp-obfuscate-linux-release-x64-try trybot
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174473
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-12-04 14:22:10 +00:00
Devon Carew cec14bbf71 [dart analyze] wrap longer error correction messages
Change-Id: Ibed3e696c1eef76034ecc66b0156fe3cb7e61d35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174862
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2020-12-03 03:13:17 +00:00
Brian Wilkerson 8757a336a1 Unconditionally display the correction message when running dart analyze
Change-Id: I4fbc5bc904db6d89c885bf7f01d5e35d8f6c6927
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174564
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-12-02 16:30:50 +00:00
Sigurd Meldgaard 97baa6efd1 Revert "Improve handling of disable-dartdev-analytics"
This reverts commit 58860f4814.

Reason for revert: Broke bots. Will investigate.

Original change's description:
> Improve handling of disable-dartdev-analytics
>
> This is second try of https://dart-review.googlesource.com/c/sdk/+/171284
> that was reverted to to faulty logic in main_options.
>
> Some other refactorings are piggy-backed along.
>
> TestProject.runSync no longer takes a 'command' argument. It was anyway
> often not an argument.
>
> Also stop the messy handling of pub arguments. It is no longer needed.
>
> BUG: https://github.com/dart-lang/sdk/issues/44135
> Change-Id: I49abf5810d9ea262409ba9d93f0471037cb8a753
> TEST=The VM change is tested via all the pkg/dartdev/test/command/* tests that invoke dart with the --no-analytics flag.
> TEST=Furthermore manual test that the --no-analytics flag is passed to dartdev.
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174261
> Reviewed-by: Jonas Jensen <jonasfj@google.com>
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>

TBR=bkonyi@google.com,sigurdm@google.com,jonasfj@google.com

Change-Id: I754bcebdcfc595158b04d431662b65bf25f5b89d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174466
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-12-01 13:11:16 +00:00
Sigurd Meldgaard 58860f4814 Improve handling of disable-dartdev-analytics
This is second try of https://dart-review.googlesource.com/c/sdk/+/171284
that was reverted to to faulty logic in main_options.

Some other refactorings are piggy-backed along.

TestProject.runSync no longer takes a 'command' argument. It was anyway
often not an argument.

Also stop the messy handling of pub arguments. It is no longer needed.

BUG: https://github.com/dart-lang/sdk/issues/44135
Change-Id: I49abf5810d9ea262409ba9d93f0471037cb8a753
TEST=The VM change is tested via all the pkg/dartdev/test/command/* tests that invoke dart with the --no-analytics flag.
TEST=Furthermore manual test that the --no-analytics flag is passed to dartdev.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174261
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-12-01 10:25:55 +00:00
Devon Carew 81986f4a36 [dartdev] add a --format option to dart analyze
Change-Id: Iad7d14b12892ce2121430f0cd94a2b0cd0d8e978
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174384
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-01 01:32:34 +00:00
Devon Carew d2b5aad64a [dartdev] tweak the help text for dartdev analytics
Change-Id: I4beefb06a1bc21b830b3061d4d9d3d8162f85593
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174323
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-11-30 18:21:32 +00:00
Devon Carew 281cd02293 [dart fix] some tweaks to the cli ui for dart fix
Change-Id: I62e22e7f177f87e0f71b5275cdecb3e1da787de2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173401
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2020-11-21 15:29:43 +00:00
pq a5ff24c221 + go link
Change-Id: Ie0ce9b8d2864b399591497168c5ce93da878aee0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-20 18:07:36 +00:00
pq 818b66544c make dart fix apply opt-in
Change-Id: I4d9f53fdf7ceaf41de6455118adfa23afbc087eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173200
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2020-11-20 04:33:46 +00:00
Brian Wilkerson 3c5333558a Initial support for testing data-driven fixes through dart fix
Change-Id: I8197c83ef409ad5df1dda623c773846961916e09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172684
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2020-11-19 22:43:06 +00:00
Devon Carew daf9f2a183 [dartdev] update some comments around dartdev analytics custom dimensions
Change-Id: I3617a2a29a5327ee3ac03c7fd6f4012fe6044e6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173081
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-11-19 19:37:45 +00:00
Sigurd Meldgaard 4c5d27bfff Remove pub command
This file is no longer used since: https://dart-review.googlesource.com/c/sdk/+/168347 .

Change-Id: I039098894be40d5e028fca5b49719da66aa0cb9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172960
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-11-19 12:03:19 +00:00
pq 9219128bde summary presentation tweaks
See: https://github.com/dart-lang/sdk/issues/43746

Dry run:

```
Computing fixes in tmp_proj (dry run)...

3 proposed fixes in 1 file.

lib/main.dart
  annotate_overrides - 1 fix
  prefer_single_quotes - 2 fixes
```

Regular run:

```
Computing fixes in tmp_proj...
Applying fixes...

lib/main.dart
  prefer_single_quotes - 1 fix

1 fix made in 1 file.
```

Change-Id: I569b945027c807e4ff47c0eed99b7d9a64d4b8f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172823
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-19 00:09:11 +00:00
Ben Konyi 2a6971cba3 [ CLI ] Don't parse arguments when trying to run non-existent file
File checks are done after the initial argument parsing, so argument
parsing should stop once the first non-valid command/flag is reached.

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

Fixed: 43991
Change-Id: I42ac2d44eecc9b0bb32bb92f365bee30d173ee42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172744
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-11-18 20:01:03 +00:00
Devon Carew e3a626f804 [dart fix] sort dart fix output by error id
Change-Id: I19667bb7aed370e76fa9efb80fa4f1001eebc683
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172800
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-18 18:49:11 +00:00
pq 4301645712 use ansi bullet
Fixes: https://github.com/dart-lang/sdk/issues/44241

Change-Id: Ia4d5daf92dea4ef15b8e38d07532caa1ece93f92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172742
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-18 16:28:30 +00:00
pq f8c6ffb68b add dry-run summary details
See: https://github.com/dart-lang/sdk/issues/43746

Sample run (snipped):


[_fe_analyzer_shared] (master) $ dart ../dartdev/bin/dartdev.dart fix --dry-run

*** The `fix` command is provisional and subject to change or removal in future releases. ***

Computing fixes in _fe_analyzer_shared (dry run)... 18.5s

5945 proposed fixes in 115 files.

lib/src/base/errors.dart
  prefer_single_quotes • 9 fixes
  unnecessary_const • 14 fixes
  slash_for_doc_comments • 35 fixes
  prefer_equal_for_default_values • 1 fix
  unnecessary_this • 1 fix
lib/src/base/syntactic_entity.dart
  slash_for_doc_comments • 4 fixes
lib/src/flow_analysis/factory_type_test_helper.dart
  omit_local_variable_types • 2 fixes
lib/src/flow_analysis/flow_analysis.dart
  omit_local_variable_types • 189 fixes
  unnecessary_new • 73 fixes
  prefer_single_quotes • 7 fixes
  unnecessary_const • 1 fix
  avoid_init_to_null • 1 fix
  annotate_overrides • 3 fixes
  prefer_equal_for_default_values • 3 fixes
lib/src/messages/codes.dart
  omit_local_variable_types • 14 fixes
  prefer_single_quotes • 31 fixes
  annotate_overrides • 11 fixes
  unnecessary_new • 12 fixes
  prefer_equal_for_default_values • 2 fixes
  unnecessary_this • 1 fix
lib/src/messages/codes_generated.dart
  prefer_single_quotes • 1150 fixes
  unnecessary_new • 244 fixes
  unnecessary_const • 835 fixes
  omit_local_variable_types • 78 fixes
lib/src/messages/severity.dart
  unnecessary_const • 4 fixes
  prefer_single_quotes • 8 fixes

<snip>






Change-Id: Ic5b54771eeceeefeadd2d7de8023bdb5c9f45fa5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172682
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-11-18 00:43:00 +00:00
Sigurd Meldgaard ce272daae8 [dart cli]: Use the correct package_config from dart run and dart test
Before `dart run` would always use the package config found by looking up the hierarchy from
whatever we got from getExecutableForCommand.

When that happened to be a precompiled snapshot this would work, because it would be ignored.

But if it would be a dart-file in another package (that would happen if that package is not cached)
we instead should resolve it relatively to the current working directory
(where the pubspec.yaml is also found).

Bug: https://github.com/dart-lang/sdk/issues/44214
Change-Id: Ib2e929c01ddc72babbcff91560236e08429f09f7
TEST=The new package config behavior is tested by the new test in: pkg/dartdev/test/commands/run_test.dart.
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172181
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-17 10:20:00 +00:00
Sigurd Meldgaard 5cbb25f753 Revert "Improve handling of disable-dartdev-analytics"
This reverts commit cda994ffc8.

Reason for revert: This stopped all sending of analytics from dartdev.

The added flag in dartdev had an implicit default value of 'false' -> no analytics would be sent.

Also the main_options.cc change was broken and did not pass the argument on to dartdev.

This failed to be caught by tests because all test are run with analytics off, and that happened implicitly.

Original change's description:
> Improve handling of disable-dartdev-analytics
>
> Some other refactorings are piggy-backed along.
>
> TestProject.runSync no longer takes a 'command' argument. It was anyway
> often not an argument.
>
> Also stop the messy handling of pub arguments. It is no longer needed.
>
> BUG: https://github.com/dart-lang/sdk/issues/44135
> TEST=The VM change is tested via all the pkg/dartdev/test/command/* tests that invoke dart with the --no-analytics flag.
>
> Change-Id: Ib5a1a29841a5fdb28663b7f60c5d6fc31ba252d0
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171284
> Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Jonas Jensen <jonasfj@google.com>

TBR=kustermann@google.com,bkonyi@google.com,sigurdm@google.com,jonasfj@google.com

Change-Id: I92ef65b16cdb75fb2475faf9f522fda62e181bab
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171941
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-11-13 14:30:46 +00:00
Sigurd Meldgaard cda994ffc8 Improve handling of disable-dartdev-analytics
Some other refactorings are piggy-backed along.

TestProject.runSync no longer takes a 'command' argument. It was anyway
often not an argument.

Also stop the messy handling of pub arguments. It is no longer needed.

BUG: https://github.com/dart-lang/sdk/issues/44135
TEST=The VM change is tested via all the pkg/dartdev/test/command/* tests that invoke dart with the --no-analytics flag.

Change-Id: Ib5a1a29841a5fdb28663b7f60c5d6fc31ba252d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171284
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-13 08:40:06 +00:00
Sigurd Meldgaard eb5fea9f3d Use pub embedding to run test in dart test
Now a `pub get` will be run implicitly if needed.
(This happens in getExecutableForCommand from the pub package).

Change-Id: I9eca9b6d8761a3035f21c0f86653c87710b9d229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171281
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-10 14:42:25 +00:00
Ben Konyi df9597169a [ CLI ] Update experiment parsing
Continuation of https://dart-review.googlesource.com/c/sdk/+/169902

Change-Id: Ia971f75aa81c2b5d8696c35f3d16ff53c29f874a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170460
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-11-06 20:44:43 +00:00
Sigurd Meldgaard 9d132ebba9 Bump pub
New commits:

git log --format="%C(auto) %h %s" 900e796a37fd9f68de9dd183cf4798fe5f055eaa..4ca4767a6c00b2dadecdaee9a4866dae40ef25f2
 4ca4767a Added a dart pub outdated --transitive option (#2731)
 6b145bd6 Deprecate --server argument to `pub publish` and `pub uploader`. (#2697)
 7737023a don't warn if previous prerelease was null safe (#2730)
 62f92838 Improve outdated --mode=null-safety (#2724)
 cc589ec3 Change message for no Latest resolution (#2729)
 656803e9 Require sdk constraint (#2718)
 8309d877 Added test that dev_dependency does not trigger null-safety warnings when publishing (#2727)
 332ea049 Remove warning about mixed mode. (#2723)
 a98a1f23 Simplify null-safety analysis in `pub outdated --mode=null-safety` (#2721)
 5fba2015 Outdated null safety implies prereleases (#2722)
 fb9ec4af Fixed bug in yaml_edit (#2703)

Change-Id: I22a084aee06542e04a272269fb0134f0ac62f779
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170690
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-06 15:36:02 +00:00
Sigurd Meldgaard cd970af91a [Dart CLI] Embed pub in dartdev
This includes the following pub commits:

 git log --format="%C(auto) %h %s" 5b4df5a6f931c63622ac349602d6ef0367e8070f..fb72c1f774ca27556225b207185c0b6b6ab1c274
 fb72c1f7 Make `run` available (but deprecated) in the embedding (#2698)
 63b56ea4 Return the exit-code from commands (#2689)
 7fc4e273 Deprecate top level (#2694)

Change-Id: I5842b1ecb15fc7844d628e2ad5fb00e3f627dbff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168347
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-06 08:30:12 +00:00
pq b5f1bbb2d7 simple fix dry-run
See: https://github.com/dart-lang/sdk/issues/43746

Change-Id: I0856471c22b2bb6f4487cca1147b8ad26fd29f93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170405
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-04 22:41:07 +00:00
Jonas Finnemann Jensen 65700b8940 Remove global variables from analytics in dartdev
Change-Id: Ic2b27ae5d1062c8227d082a050056685a3380c77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170089
Commit-Queue: Jonas Jensen <jonasfj@google.com>
Auto-Submit: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-11-04 19:26:37 +00:00
Ivan Inozemtsev 4a46b6511e Revert "[pkg/dartdev] refactor the migrate command to subclass DartdevCommand"
This reverts commit c10be63d51.

Reason for revert: this creates a circular dependency between nnbd_migration and dartdev which is hard to support internally

Original change's description:
> [pkg/dartdev] refactor the migrate command to subclass DartdevCommand
>
> Change-Id: I60f91f14e066b3a173f45b3c988830d5b435f2ed
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170206
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Devon Carew <devoncarew@google.com>

TBR=devoncarew@google.com,bkonyi@google.com,sigurdm@google.com

Change-Id: I3ba4648ea7f879ea4a893df2a9d75581a6f48dec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170348
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2020-11-04 17:22:59 +00:00
Devon Carew c10be63d51 [pkg/dartdev] refactor the migrate command to subclass DartdevCommand
Change-Id: I60f91f14e066b3a173f45b3c988830d5b435f2ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170206
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-11-04 16:28:47 +00:00
Ben Konyi ffc36db613 [ CLI / VM ] Add --enable-experiment support for 'dart compile', change
where --enable experiment is accepted

Adds --enable-experiment support for:
  - dart compile aot-snapshot
  - dart compile jit-snapshot
  - dart compile js
  - dart compile exe
  - dart compile kernel

Also changes --enable-experiment from a top level CLI flag to a
per-command flag. --enable-experiment flags will now only be
interpreted by the VM if:

1) They are provided before a CLI command (e.g., dart
--enable-experiment=non-nullable analyze) or

2) They are provided with an explicit or implicit run command (e.g.,
dart --enable-experiment=non-nullable foo.dart or dart
--enable-experiment=non-nullable run foo.dart or dart run
--enable-experiment=non-nullable foo.dart)

This should make it more generally clear where --enable-experiment is
accepted and what subcommands can accept the flag. Prior to this change,
providing --enable-experiment anywhere, even for commands without
experiment support, would not raise an error.

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

Change-Id: I5ec48b2dd2bb6db5526185dae2edbca95ef24d9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169902
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-11-04 00:34:26 +00:00
Jonas Finnemann Jensen 5918aa8985 Fix #44027
Remove if-else branches introduced in [1], fixing crash bug when
`$HOME/.dart/` does not exists.

[1]: https://dart-review.googlesource.com/c/sdk/+/168947

Fixed: 44027
Change-Id: Ic178ebf8eb04ac34c1574269b5d7191a5e514460
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170088
Auto-Submit: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2020-11-02 19:55:09 +00:00
Sigurd Meldgaard ea7e27cfeb Roll dart_style 1.3.8+1 into the SDK.
There are no formatting changes in this release. The only change is the
fix for https://github.com/dart-lang/dart_style/issues/964.

Includes corresponding adaptations of dartdev/dart CLI.

Change-Id: I1c97f0b7009b98ae609b258401522453faa35c64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170083
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-11-02 13:42:19 +00:00
Ben Konyi 7f723f4166 [ VM / CLI ] Fix issue where VM flags would be parsed from the option
list for a script.

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

Change-Id: I6f0860e0a43055aaab775a28baa660d60fb1c47e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169782
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-10-30 23:25:22 +00:00
Ben Konyi 45931e9ea8 [ VM / CLI ] Call VmInteropHandler.exit() instead of exit() when
enabling/disabling analytics for the CLI

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

Change-Id: Ib408d34043cd3437dceef0dac563413e0532c067
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169785
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2020-10-29 22:12:41 +00:00
Sigurd Meldgaard 5a3e7bf18f [Dart CLI] Refactor analytics
Change-Id: Ia7212a6aa2798693064fca8fa4d801de5731f092
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168943
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2020-10-28 10:50:58 +00:00
Devon Carew 297fb8606a Un-hide the dart migrate command from stable.
Bug: https://github.com/dart-lang/sdk/issues/43194
Change-Id: I04db8cc9f34e812ca2e6569edd86f37c1f4fcdd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169281
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-10-27 20:50:29 +00:00
Sigurd Meldgaard cef4423445 [Dart CLI] Test analytics
This sets up a framework for testing the analytics that will be sent for
a given command and includes a few tests.


Change-Id: I1c79691d7741d4b0cac6e9cafc943f67ceca6ac2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168947
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-10-26 16:00:26 +00:00
Sigurd Meldgaard 8f193a3e86 Fix generic usage
int becomes a new type variable - I don't think that's intended.

We cannot currently make DartDevCommand be a Command<int> that
would require external update of dartfmt.

Change-Id: I4bec93e7078dbf56e4af611deeae1dfc5ab29590
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168940
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2020-10-26 08:58:56 +00:00
pq 1d7eb3f7d2 pluralize fix summary
Fixes: https://github.com/dart-lang/sdk/issues/43870

Change-Id: I871f556200323128b4c63368acf61ebec4e97696
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-10-21 14:44:13 +00:00
Ben Konyi 07ce8486a6 [ Dart CLI ] Fix issue where -D was not being accepted by 'dart run'
Fixes https://github.com/dart-lang/sdk/issues/43779

Fixed: 43779
Change-Id: I886db8014cc3ea1f870974a21a552d7983b6b408
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167700
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-10-16 00:53:21 +00:00
pq 24052b0660 canonicalize input path for reporting
Fixes: https://github.com/dart-lang/sdk/issues/43792

Change-Id: Ief28d857243eb2859aa5d2e34815dcc156799d28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167726
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-10-14 22:15:48 +00:00
Devon Carew 07e2973f60 [pkg/nnbd_migration] some updates to the command line messaging for dart migrate
Change-Id: I780f7d6ec1e6985179f69ceb105519d5be838e80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167120
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-10-12 15:53:32 +00:00
Devon Carew f6460afd98 refactor AnalysisServer wrapper class
Change-Id: Ia078bae38fb0318e34f6e61753e3429934b2fd2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166800
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2020-10-09 19:56:17 +00:00
Devon Carew 4d7714174e [dartdev] push the analysisFinished logic down into the AnalysisServer wrapper
Change-Id: Idf2c7422046365bae056c8c767ed915ad91d7cf2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166560
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-10-07 22:58:06 +00:00
pq f122752b99 display progress while fixing and display a count summary on exit
Sample output:

[~/src/repos/dart/sdk/pkg/analyzer] (master) $ dart ../dartdev/bin/dartdev.dart fix

*** The `fix` command is provisional and subject to change or removal in future releases. ***

Computing fixes in analyzer...         43.8s
Applying fixes...                      15.5s
Fixed 359 files.



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

Change-Id: Ief3c9edf578f74413352cdd0a8d84996b1de05f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166302
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-10-07 05:14:03 +00:00
pq 0ecf73a301 wait for server shutdown (to prevent early termination)
Fixes: https://github.com/dart-lang/sdk/issues/43568


Change-Id: Ib9e8ac2ffaa3c37a77c913524ae455b134daa46d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166120
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2020-10-06 16:55:53 +00:00
Ben Konyi 0732bac32c [ DartDev ] Fix issue where --help after a script name would be
interpreted by 'dart run'

Would prevent scripts from accepting their own '--help' option when
running with DartDev.

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

Change-Id: I5fca196529ae7670ee6a7c37701a5fffdad11aa1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164605
Reviewed-by: Janice Collins <jcollins@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2020-09-28 17:00:26 +00:00
Devon Carew 392bf9749d [dartdev] adjust the lints and general comment cleanup
Change-Id: I230519fb5241265936bd532d1b2c935a86e54055
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164400
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-09-24 20:21:27 +00:00