Commit Graph

1200 Commits

Author SHA1 Message Date
David Shuckerow
1a60b166f2
Add ipv6 and observatory port support to the attach command (#25303)
* Add ipv6 and observatory port support to the attach command.

* Remove whitespace

* Explain why a name change is useful here

* Refactor common flags out into the parent

* Add an additional test case for when observatory port is provided but debug port is not

* Remove whitespace

* Fix flag validation
2018-12-14 18:03:49 -04:00
David Shuckerow
e6292c8da1
Revert "Add ipv6 and observatory port support to the attach command." (#25288)
* Revert "e5195ee47 Remove unnecessary includes of Ganesh headers (flutter/engine#7189) (#25282)"

This reverts commit f198d66332.

* Revert "Validate style in TextField (#24587)"

This reverts commit 9a8e2f0c4b.

* Revert "Allow snippets tool to be run from arbitrary CWDs (#25243)"

This reverts commit 4a110b6227.

* Revert "Make doctor output consistent between VS Code/IntelliJ/Android Studio when plugins are missing (#25269)"

This reverts commit e29b023a6b.

* Revert "Add ipv6 and observatory port support to the attach command. (#24537)"

This reverts commit 9150b3f031.
2018-12-12 16:56:50 -04:00
David Shuckerow
9150b3f031 Add ipv6 and observatory port support to the attach command. (#24537) 2018-12-12 08:28:02 -08:00
Jonah Williams
a226c0f0d9
Add a flutter-attach entry point for fuchsia (#24878) 2018-11-30 16:18:18 -08:00
Alexandre Ardhuin
79b5e5bc8a
Add missing lints (#24381)
* update lint list

* enable sort_pub_dependencies

* enable avoid_returning_null_for_void

* enable flutter_style_todos
2018-11-19 10:37:55 +01:00
Danny Tuppeny
08e7f26510
Remove timeout waiting for app to start (#24336) 2018-11-19 07:15:52 +00:00
Jonah Williams
938dd5a4aa
Revert "Update driver script to execute test through test_core" (#24401)
* Revert "Add dashing config file for generating docset from flutter docs (#24374)"

This reverts commit ec8ca8606c.

* Revert "Update driver script to execute test through test_core (#24168)"

This reverts commit 6c62cf337f.
2018-11-15 11:17:00 -08:00
Jonah Williams
6c62cf337f
Update driver script to execute test through test_core (#24168) 2018-11-15 10:50:25 -08:00
Jonah Williams
a871d59164
Apply basic log filtering and formatting to fuchsia logs. (#24143) 2018-11-10 17:02:32 -08:00
Jonah Williams
c11633e84e
Separate hot reload and hot restart capabilities. (#24122) 2018-11-09 10:33:22 -08:00
Jonah Williams
81c7af342d
Add fuchsia specific entrypoint (#23916) 2018-11-06 14:36:35 -08:00
Jonah Williams
9b66fea2ea
Follow up to https://github.com/flutter/flutter/pull/23436 (#23876) 2018-11-06 08:37:53 -08:00
Alexandre Ardhuin
344ebe02ff
avoid returning null for Future (#23784) 2018-11-05 16:38:23 +01:00
Jonah Williams
d52f315c35
Add new benchmark to track cost of dependencies to a User (#23856) 2018-11-02 13:38:54 -07:00
Jonah Williams
d80999d6b8
Support attach on fuchsia devices (#23436) 2018-11-01 20:04:52 -07:00
Greg Spencer
f9c6f30576
Allow users to create samples using flutter create. (#23584)
This adds flutter create --sample which allows users to execute a command which will create a working sample app from samples embedded in the API docs.

The command looks something like this:

flutter create --sample=chip.DeletableChipAttributes.onDeleted mysample
2018-10-30 16:01:14 -07:00
Greg Spencer
4559ae1a6b
Stop wrapping adb, gradle and ios logger output, and update terminal wrapping column dynamically. (#23592)
Subcommand output (gradle, adb, etc) is no longer wrapped, and wrapping notices when the terminal column width changes dynamically now.

Fixes #23267.
Fixes #23266.
2018-10-30 16:00:50 -07:00
Ben Konyi
b1a23299e1
Added '--check-for-remote-artifacts' option for Flutter Doctor. (#23543)
* Added '--check-for-remote-artifacts' option for Flutter Doctor.

This option takes a Flutter engine revision and issues HEAD requests to
determine whether or not artifacts for the provided engine revision are
available from cloud storage. This functionality is needed for the Dart
SDK autoroller to avoid creating a PR to roll the engine into the
framework while artifacts haven't finished building, which would cause
Cirrus tests to fail.
2018-10-29 17:03:22 -07:00
Danny Tuppeny
aa83f77a49
Fix --pid-file not working for --machine + add to attach command (#23242)
* Fix --pid-file not working for --machine + add to attach

Fixes #23201.

* Add tests for --pid-file in run+attach
2018-10-24 07:21:36 +01:00
Jacob Richman
f5f70f0c99
Include .track in file names for cached dill files for builds with --track-widget-creation (#23299)
Ensure that cached dill files for builds with --track-widget-creation
always have .track. in the file name to avoid mixing transformed and
untransformed kernel files.
2018-10-23 10:09:18 -07:00
Jason Simmons
a6a1607888
Roll engine to 4c79e423dc6f89f98d8ceb263a5ca78e2f2da996 (#23384)
Also includes
  * Updates to affected tests
  * Change flutter_tools to pass package URIs to the Dart front end
    instead of filesystem paths
2018-10-22 18:03:50 -07:00
Devon Carew
48fe65c236
allow todos in user code to show in IDEs (#23303) 2018-10-19 14:10:54 -07:00
Greg Spencer
2000583ed3
Revert "don't disable TODO issues in IDEs (#23274)" (#23297)
Devon asked me to revert commit c4d1b31b74.

Merging on red to fix the build.
2018-10-19 10:03:35 -07:00
Devon Carew
c4d1b31b74
don't disable TODO issues in IDEs (#23274)
* don't disable TODO issues in IDEs

* minor change to start cirrus
2018-10-19 08:01:05 -07:00
Sebastian Roth
b95b67a66b allow command line option "--project-name" in flutter create (#22022)
Simple convenience function if users create flutter projects in custom folder structures and but want to specify a custom project name.
2018-10-17 08:25:46 -07:00
Michael Klimushyn
4f8acd8462
Set FlutterDevice.viewFilter by CLI flag (#23026)
`FlutterDevice.views` is limited by a filter. Pipe this filter up as an
option for the commands that instantiate `FlutterDevice`s. This is the
first change necessary for the CLI tooling to target specific isolates
(#22009).

More work needs to be done after this patch.
* Isolate names are dynamically generated and change every restart.
* This just filters views, not background isolates (`VMService.isolates`).
2018-10-17 08:07:49 -07:00
Jonah Williams
c9ca7c4936
Add override frontend_server snapshot for fuchsia_reload command (#23162) 2018-10-16 14:27:22 -07:00
Alexandre Ardhuin
0fb84e96c7
Prefer void to null (#22977)
* Future<void> main

* Future<void>.delayed

* prefer_void_to_Null

* address review comments
2018-10-16 22:03:06 +02:00
Greg Spencer
081d2a7a86
Re-land text wrapping/color PR (#22831)
This attempts to re-land #22656.

There are two changes from the original:

I turned off wrapping completely when not sending output to a terminal. Previously I had defaulted to wrapping at and arbitrary 100 chars in that case, just to keep long messages from being too long, but that turns out the be a bad idea because there are tests that are relying on the specific form of the output. It's also pretty arbitrary, and mostly people sending output to a non-terminal will want unwrapped text.

I found a better way to terminate ANSI color/bold sequences, so that they can be embedded within each other without needed quite as complex a dance with removing redundant sequences.

As part of these changes, I removed the Logger.supportsColor setter so that the one source of truth for color support is in AnsiTerminal.supportsColor.

*     Turn on line wrapping again 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-10 18:17:56 -07:00
Greg Spencer
0ff9e8a928
Rename 'application' back to 'module', and make 'app' the default again for templates. (#22888)
We decided that redefining the default for templates was premature. We're going to go back to having "module" in experimental land again, and we'll try again when we have the feature set fully baked.

This keeps the writing of the .metadata files, and writing the template type to them, because that was a good improvement, and there are still a bunch of added tests that improve our coverage.
2018-10-10 11:01:40 -07:00
Danny Tuppeny
a02f9d501b
Allow passing a restart reason through to analytics (#21983)
* Allow passing a restart reason through to analytics

* Update to avoid overlaps with other code

* Remove TODO as this is the real live value

* Improve formatting + constant name
2018-10-10 10:23:32 +01:00
Stanislav Baranov
570ae840f2
Remove unused deps and flags from flutter tool. (#22571) 2018-10-09 13:04:06 -07:00
matthew-carroll
4f298e6776
Publish make-host-app-editable command with CLI docs. (#22635)
Publish make-host-app-editable command with CLI docs.
2018-10-08 16:02:13 -07:00
Greg Spencer
e0b182e61a
Fix gradle error in devicelab tests (#22814)
Fixes a gradle error where it was failing to find a plugin because of an absolute path in the .flutter-plugins file instead of a relative path.

I had originally removed this variable because I thought it was redundant with the projectDir, but apparently I was wrong about that (one resolves to a relative path, and one resolves to an absolute path).

This PR reverts that part of the change and reintroduces the (not really) redundant variable.
2018-10-08 09:38:37 -07:00
Greg Spencer
2d81adf74c
Revert "Turn on line wrapping in usage and status messages, adds ANSI color to doctor and analysis messages. (#22656)" (#22759)
This reverts commit e438632165
because it breaks 160 benchmarks, and several devicelab tests,
due to changing the format of the output.
2018-10-05 22:29:37 -07:00
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
Greg Spencer
21a32fdd0c
Fixes the project detection logic when creating new projects over existing directories. (#22744)
This all happened because I was trying to be a little too helpful...

Part of the job of the "create" command is to recreate missing pieces of existing projects, and now that the default has changed, I wanted to make it so that if someone had created a default flutter create project before, that they could run a default flutter create there again, and not have it trashed by using the new default template (application) over the old one (app).

This meant I had to detect what type of project it was. Unfortunately, in the past we didn't write anything in the .metadata file to identify the type of project, and since the goal was regenerating missing files, I can't count on anything existing, so it's just a heuristic match.

This simplifies the heuristics down to just detecting the difference between "app" and "application" projects, and only detect the other types if they're explicitly listed in the .metadata file (I changed the code in my original PR to add the project type to the .metadata file). People used to have to specify the type for those anyhow, so it shouldn't be a surprise to users.

So, the main difference in the new heuristics from my last attempt is that if you have a directory that has some other stuff it (like maybe a "plugin" project), then we'll recreate (pronounced "mess up") the project using the "application" template, but that was true before (except it would use the "app" template).

Fixes #22726
2018-10-05 15:49:53 -07:00
Danny Tuppeny
3ea4b44374
Increase timeout waiting for app to start (#22504)
https://github.com/flutter/flutter/issues/22338#issuecomment-425794734 shows almost 1 minute being spent on the `Resolving Dependencies` step alone. Possibly this needs to go higher still, but this should be a good start.
2018-10-05 17:02:08 +01:00
Alexandre Ardhuin
2d3ff10d62
apply lint prefer_void_to_null in packages/flutter_tools (#22686) 2018-10-05 07:54:56 +02:00
Greg Spencer
9f23866a0a
Rename module --> application in flutter create command. (#22565)
This renames the "module" template to the "application" template, and makes "application" the default. The existing "app" template is now deprecated.

flutter create also now recognizes the type of project in an existing directory, and is able to recreate it without having the template type explicitly specified (although you can still do that). It does this now by first looking in the .metadata file for the new project_type field, and if it doesn't find that, then it looks at the directory structure. Also, the .metadata file is now overwritten even on an existing directory so that 1) the project_type can be added to legacy projects, and 2) the version of Flutter that updated the project last is updated.

I also cleaned up a bunch of things in create_test.dart, added many more tests, and added an example test to the test/ directory in the generated output of the application template.

Fixes #22530
Fixes #22344
2018-10-04 13:03:20 -07:00
Alexandre Ardhuin
2ea1d81cdc
sort_constructors_first (#22575) 2018-10-04 07:28:07 +02:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
Jonah Williams
224f91e386
Revert "Eliminate snapshot, depfile opts from bundle cmd (#22495)" (#22519)
This reverts commit b07d986f66.
2018-10-01 10:49:39 -07:00
Chris Bracken
b07d986f66
Eliminate snapshot, depfile opts from bundle cmd (#22495)
Eliminates the --snapshot and --depfile parameters from the flutter
bundle command. The snapshot parameter is unused in Dart 2 -- code is
built to kernel .dill files and for profile/release builds, then AOT
compiled.

While depfiles are still used in Dart 2 (e.g. by the kernel compiler),
there are enough assumptions in the code that they lie in the default
location (e.g. in the Gradle build) and no reasons to support
user-cusomisation that it makes sense to eliminate the --depfile option
as well, and always use the default location.

This commit also renames 'depFilePath' to 'depfilePath' for consistency
across the codebase.
2018-10-01 10:19:37 -07:00
shrike69
c496751ae8
Change flutter tool to not require Fuchsia build args (#22382)
* Change flutter tool to not require Fuchsia build args

* Restore code that was commented out.

* Fix style nits.
2018-09-28 15:13:47 -07:00
Stanislav Baranov
54c10f44b2
Implement build flow for hot updates on Android (#22391)
This also involves switching from Core JIT to App JIT snapshot, and replacing per-isolate VM snapshot with the shared VM snapshot.

For now there is no separate update bundle file, as the generated update gets packaged directly into the APK for testing purposes.
2018-09-28 13:58:37 -07:00
shrike69
fd8a9603ac
Remove waitForViews() during hot reload (#22371) 2018-09-28 11:35:38 -07:00
Greg Spencer
efcd9a8001
Simplify Gradle compiler output. (#21760)
This changes the compiler output for gradle to be less verbose and more easily read.

This only applies to compilation error messages: other gradle messages will continue to print as before.

It also fixes a small problem with the performance measurement printing (see that "7.1s" on it's own line in the original?) so that if something is expected to have multiple lines of output, it prints an initial line, and a "Done" line with the elapsed time, so that it's possible to know what the time applies to.

It also updates the spinner to be fancier, at least on platforms other than Windows (which is missing a lot of symbols in its console font).

Addresses #17307
2018-09-20 15:45:48 -07:00
Greg Spencer
7caa65943f
Added more extensive ANSI color printing support on terminals. (#20958)
This adds support to AnsiTerminal for colored output, and makes all tool output written to stderr (with the printError function) colored red.

No color codes are sent if the terminal doesn't support color (or isn't a terminal).

Also makes "progress" output print the elapsed time when not connected to a terminal, so that redirected output and terminal output match (redirected output doesn't print the spinner, however).

Addresses #17307
2018-09-19 15:22:43 -07:00
matthew-carroll
18d5b9dc45
Renamed 'flutter materialize' to 'flutter make-host-app-editable'. The iOS version is still incomplete and will therefore require additional renaming. (#21771) (#22006) 2018-09-18 17:58:20 -07:00