54 Commits

Author SHA1 Message Date
Greg Spencer
e438632165
Turn on line wrapping in usage and status messages, adds ANSI color to doctor and analysis messages. (#22656)
This turns on text wrapping for usage messages and status messages. When on a terminal, wraps to the width of the terminal. When writing to a non-terminal, wrap lines at a default column width (currently defined to be 100 chars). If --no-wrap is specified, then no wrapping occurs. If --wrap-column is specified, wraps to that column (if --wrap is on).

Adds ANSI color to the doctor and analysis output on terminals. This is in this PR with the wrapping, since wrapping needs to know how to count visible characters in the presence of ANSI sequences. (This is just one more step towards re-implementing all of Curses for Flutter. :-)) Will not print ANSI sequences when sent to a non-terminal, or of --no-color is specified.

Fixes ANSI color and bold sequences so that they can be combined (bold, colored text), and a small bug in indentation calculation for wrapping.

Since wrapping is now turned on, also removed many redundant '\n's in the code.
2018-10-05 20:00:11 -07:00
Yegor
3184b7cb66
Revert "Use mixin syntax for Flutter's super-mixins (#22435)" (#22748)
This reverts commit 3c56e6c77dc5c351d610d5c2a11d86e8be88519f.

It breaks the AOT build.
2018-10-05 15:09:38 -07:00
Yegor
3c56e6c77d
Use mixin syntax for Flutter's super-mixins (#22435)
* first pass

* revert WidgetsBindingObserver

* disable prefer_mixin

* docs and more mixins

* newer engine; binding fixes

* upgrade dependencies

* fix test binding

* remove whitespace

* remove the obsolete `enableSuperMixins: true`

* upgrade dartdoc to 0.22.0

* temporarily use git version of dartdoc

* fix pub global activate syntax

* use dartdoc 0.23.0
2018-10-05 14:54:41 -07:00
Alexandre Ardhuin
2d3ff10d62
apply lint prefer_void_to_null in packages/flutter_tools (#22686) 2018-10-05 07:54:56 +02:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Devon Carew
e55b0f5244
remove the --use-cfe flag from flutter analyze (#21463) 2018-09-06 07:18:59 -07:00
xster
cda2c223f5
Turn on unawaited_futures in flutter_tools (#21048) 2018-08-30 20:57:44 -07:00
Devon Carew
392a178169
add a --use-cfe option to flutter analyze (#20742)
* add a --use-cfe option to flutter analyze

* useCFE ==> useCfe
2018-08-21 10:45:37 -07:00
Ian Hickson
ad1eaff45a
flutter analyze cleanup (#20490)
* `flutter analyze` cleanup

* Make `--dartdocs` work in all modes.
* Make `analyze-sample-code.dart` more resilient.
* Add a test for `analyze-sample-code.dart`.
* Minor cleanup in related code and files.

* Apply review comments

* Fix tests
2018-08-20 12:51:07 -07:00
Devon Carew
e816f64bf2
remove the option to pass in the --no-preview-dart-2 flag to analysis (#20041)
remove the option to pass in the --no-preview-dart-2 flag to analysis
2018-07-31 19:15:11 -07:00
Devon Carew
9d9836f080
adjust declared types to work with dart 2 typing at runtime (#19007)
* adjust declared types to work with dart 2 typing at runtime

* review comments

* update packages/flutter_tools/lib/src/ios/simulators.dart
2018-07-09 12:22:46 -07:00
Chris Bracken
2ae48845a8
Revert elimination of Dart 1 (#18460)
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.

Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.

This also reverts migration to Dart 2 typedef syntax.

This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
2018-06-13 12:46:39 -07:00
Chris Bracken
3daebd059c
It's time to #deleteDart1 (again) (#18316)
* It's time to #deleteDart1 (#18293)

Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.

* Fix indentation, remove no longer necessary .toList()

* Only push udpated kernel if >0 invalidated srcs
2018-06-08 15:49:24 -07:00
Chris Bracken
9495df4bc3
Revert "It's time to #deleteDart1 (#18293)" (#18313)
Several benchmarks started failing during kernel compile:
1. Timeouts:
   * commands_test
   * hot_mode_dev_cycle__benchmark
   * run_machine_concurrent_hot_reload
   * service_extensions_test

2. Kernel compiler crash:
   * hot_mode_dev_cycle_linux__benchmark
   * routing_test

3. Unexpected termination:
   * hot_mode_dev_cycle_win__benchmark

This reverts commit ed63e7082ac89ea9851ae645ae69842da0c6150c.
2018-06-08 12:43:11 -07:00
Chris Bracken
ed63e7082a
It's time to #deleteDart1 (#18293)
Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.
2018-06-08 11:04:57 -07:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Devon Carew
09dec7f508
re-write flutter analyze to use the analysis server (#16979)
re-write flutter analyze (the single-shot and --flutter-repo) to use the analysis server
2018-05-10 09:48:40 -07:00
Michael Goderbauer
1d915bacc0
Roll engine to 9859af123eb383ade52208a9db58ac39db84bfc2 (#16947)
flutter/engine@9859af1 Roll dart to 29d6e963702fcbb0ed0d5ca67d6b5f977ac0c328
2018-04-25 10:25:03 -07:00
Mikkel Nygaard Ravn
1080c29832
Roll engine to c73be7ada2e1066e2a6f04f0541406409c2bfa6b (#16707) 2018-04-18 13:51:58 +02:00
Devon Carew
071485258f
Revert "re-write flutter analyze (the single-shot and --flutter-repo) to use the analysis server (#16281)" (#16482)
This reverts commit 2f41ea546f98a2bacabcd2444ca7ce4127a4360a.
2018-04-11 16:49:38 -07:00
Devon Carew
2f41ea546f
re-write flutter analyze (the single-shot and --flutter-repo) to use the analysis server (#16281)
re-write flutter analyze (the single-shot and --flutter-repo) to use the analysis server
2018-04-11 14:50:36 -07:00
Devon Carew
bde8a5f5a6 move away froma deprecated method (#11215) 2017-07-13 16:18:40 -07:00
Jason Simmons
14648e9bae Suppress an analyzer warning about cli_util.getSdkDir deprecation (#11213) 2017-07-13 15:48:11 -07:00
Ian Hickson
0f1a703a6b More documentation (#10589) 2017-06-08 17:13:03 -07:00
Alexandre Ardhuin
4c530d5e8c prefer_final_fields (#8967) 2017-03-29 21:21:46 +02:00
Chris Bracken
7a09316cd0 Declare locals final where not reassigned (flutter_tools) (#8570) 2017-03-03 17:50:46 -08:00
Michael Goderbauer
5e54fd54d9 Ban package:path from Flutter Tools (#8119) 2017-02-13 17:45:50 -08:00
Michael Goderbauer
82f887de07 Fix Flutter Tools Tests to run on Windows (#7878) 2017-02-05 22:58:49 -08:00
Ian Hickson
cbda208b4b Reduce the amount of spam from analyze watch. (#7582)
See https://github.com/dart-lang/sdk/issues/28463, which I think is a
regression.

This also fixes the regression introduced by
https://codereview.chromium.org/2559773002 whereby we were no longer
checking any of the lints.
2017-01-22 16:43:24 -08:00
Phil Quitslund
41251d2450 Update to Dart SDK 1.22.0-dev.8.0. (#7461)
* Update to Dart SDK `1.22.0-dev.6.0`.

* Update SDK summary generation to create spec and strong summaries.

* Updated to dev.8.0.

* Fixed console out.
2017-01-17 09:50:52 -08:00
Yegor
7a10ed9315 Revert "Bump to Dart SDK 1.22.0-dev.5.0 (#7382)" (#7435)
This reverts commit ef25a2033781a9ab3195bddd8572e9a449d1c7e4 to unbreak the build.
2017-01-10 18:14:58 -08:00
Phil Quitslund
ef25a20337 Bump to Dart SDK 1.22.0-dev.5.0 (#7382)
* Bump Dart SDK to 1.22.0-dev.5.0.

* Suppress spurious `FutureOr` type warning.

* Fixed linter dep post merge.

* Formatting tweaks.
2017-01-10 14:55:31 -08:00
Todd Volkert
016b5ab0cc Force all dart:io usage to go through 'base/io.dart' (#7390)
This ensures that accidental usages of dart:io's
file API don't creep in over time.
2017-01-09 08:37:00 -08:00
Todd Volkert
8bb270342e Update flutter_tools to use package:file throughout (#7385)
This removes direct file access from within flutter_tools
in favor of using `package:file` via a `FileSystem` that's
accessed via the `ApplicationContext`.

This lays the groundwork for us to be able to easily swap
out the underlying file system when running Flutter tools,
which will be used to provide a record/replay file system,
analogous to what we have for process invocations.
2017-01-06 16:51:44 -08:00
Phil Quitslund
639ba0ddcb Bump Dart SDK to latest (1.21.0-dev.2.0). (#6541) 2016-10-28 17:56:55 +02:00
Phil Quitslund
57044c2a63 Bump to Dart SDK 1.21.0-dev.0.0. (#6372)
Bump to latest Dart SDK dev build (`1.21.0-dev.0.0`).

* updates to analyzer w/ support for bazel workspaces
* removes deprecated analysis `cacheSize` variable access
2016-10-18 13:38:13 -07:00
Phil Quitslund
e44f6fe478 Bump Dart SDK to 1.20.0-dev.10.0. (#6212)
* Bump Dart SDK to `1.20.0-dev.10.0`.

`1.20.0-dev.10.0` corresponds to `1.20-RC0`.

* pubspec.lock cleanup

* check for pubspec.lock existence

* cleaned up conditional remove
2016-10-05 09:05:15 -07:00
Phil Quitslund
2d4d171338 Roll to Dart SDK 1.20.0-dev.5.0. (#5911)
* Roll to Dart SDK `1.20.0-dev.5.0`.

* bumps to `1.20.0-dev.5.0`.
* updates `analyzer` API use.

* Add explicit types.
2016-09-16 16:30:34 -07:00
Phil Quitslund
d2fda677e1 Update to Dart 1.20.0-dev.1.0. (#5689)
* Udpate to Dart `1.20.0-dev.1.0`.

Udpate to Dart `1.20.0-dev.1.0` and corresponding `analyzer` package.

* Added `--no-packages-dir`.

* Revert extension to master.

* Added ignores.

* Review nits.

* More nits.
2016-09-08 13:14:08 -07:00
Phil Quitslund
0fe82c3a6f Update Dart SDK to 1.19.0-dev.4.0. (#5329) 2016-08-10 16:21:58 -07:00
pq
1cad4f4705 Fallback to a standard SDK if no embedders are found. 2016-06-22 19:30:46 -07:00
pq
352e2f573b Update to latest analyzer (0.27.4-alpha.14) and misc. analysis fixes.
* brings in analyzer version (`0.27.4-alpha.14`) corresponding to current Dart SDK (`1.18.0-dev.2.0`).
* updates analysis to use prefered API for embedder URI resolution
* adds trampolines to `State` and `StatelessWidget` to allow for warning-free within-library @protected access (needed since we closed off access to @protected closures from outside subclasses).
* turns off cache dependency tracking for analysis (in DDC this amounted to a 10% speed improvement).
2016-06-22 14:34:30 -07:00
pq
2a9d2b5f30 Fix analyzer field overrides.
Cleans up 3 of the 4 violations of the `overriden_field` lint.

The last one is more interesting and I'll defer to someone closer to that code:

    [lint] Do not override fields. (packages/flutter/test/rendering/rendering_tester.dart, line 91, col 14)
2016-05-19 13:12:04 -07:00
pq
97ba6a1e0b Re-enable implementation_imports lint rule. 2016-05-17 11:02:10 -07:00
pq
fddab5d800 Back out SDK summaries.
Net-net: SDK summaries are not safe in the presence of SDK library embedders.

Context (and bug to track re-enablement) here: https://github.com/dart-lang/sdk/issues/26467.
2016-05-16 15:57:45 -07:00
pq
a8f96de47d Removed unused import. 2016-05-10 14:37:39 -07:00
pq
d11651d293 Turn on SDK summaries in flutter analyze.
The latest dev build has stable summaries so we should start using them.

(Also ensures that analysis options are propogating to the SDK analysis context --- see:  https://github.com/dart-lang/sdk/issues/26129.)
2016-05-10 14:31:00 -07:00
pq
18d971d492 Remove gratuitous pub resolver from flutter analysis.
Package mapping is already done by the `PackageDependencyTracker` so this extra check is at best not needed.  (At worst could cause an unneeded and costly call to `pub list-package-dirs`!)
2016-05-09 12:21:18 -07:00
pq
1e50745df3 Constructor ordering. 2016-05-09 11:33:52 -07:00