Commit Graph

196 Commits

Author SHA1 Message Date
Ian Hickson
e5f81e1048
Clean up some flutter_tools tests and roll dependencies (#33163)
* Clean up some flutter_tools tests

* Remove arbitrary retry that happens even for fundamental errors, and generally clean up _DevFSHttpWriter.

* Update dependencies (requires fixes; see next commit)

* Fixes for new dependencies.
2019-05-22 09:31:37 -07:00
Alexandre Ardhuin
41b9abdc32
enable lint prefer_null_aware_operators (#32686) 2019-05-14 22:34:49 +02:00
Emmanuel Garcia
cc7ec6d624
Bump multicast_dns version 2019-05-06 11:14:41 -07:00
Jonah Williams
6a250c8d65
update packages and unpin build (#32066) 2019-05-03 16:54:35 -07:00
Jonah Williams
c1c15dd702
Revert "update packages and unpin build (#31736)" (#31795) 2019-04-29 09:56:55 -07:00
Jonah Williams
41b18422df
update packages and unpin build (#31736) 2019-04-29 09:10:01 -07:00
Greg Spencer
7775c23784
[Re-Land] Implement focus traversal for desktop platforms. (#31614)
This re-lands the Focus changes in #30040. Correctness changes in routes.dart, and removes the automatic requesting of focus on reparent when there is no current focus, which caused undesirable selections.

Addresses #11344, #1608, #13264, and #1678
Fixes #30084
Fixes #26704
2019-04-25 16:26:58 -07:00
Dan Field
1db5d66932
Capture JSON RPC errors that presently get swallowed (#31584)
* Update packages
* Capture JSON RPC errors that presently get swallowed
2019-04-25 08:27:00 -07:00
Greg Spencer
590cc27b31
Revert "Implement focus traversal for desktop platforms, shoehorn edition. (#30040)" (#31461)
This reverts commit 4218c0bc38.
2019-04-22 18:02:35 -07:00
Greg Spencer
4218c0bc38
Implement focus traversal for desktop platforms, shoehorn edition. (#30040)
Implements focus traversal for desktop platforms, including re-implementing the existing focus manager and focus tree.

This implements a Focus widget that can be put into a widget tree to allow input focus to be given to a particular part of a widget tree.

It incorporates with the existing FocusScope and FocusNode infrastructure, and has minimal breakage to the API, although FocusScope.reparentIfNeeded is removed, replaced by a call to FocusAttachment.reparent(), so this is a breaking change:

FocusScopeNodes must now be attached to the focus tree using FocusScopeNode.attach, which takes a context and an optional onKey callback, and returns a FocusAttachment that should be kept by the widget that hosts the FocusScopeNode. This is necessary because of the need to make sure that the focus tree reflects the widget hierarchy.

Callers that used to call FocusScope(context).reparentIfNeeded in their build method will call reparent  on a FocusAttachment instead, which they will obtain by calling FocusScopeNode.attach in their initState method. Widgets that own FocusNodes will need to call dispose on the focus node in their dispose method.

Addresses #11344, #1608, #13264, and #1678
Fixes #30084
Fixes #26704
2019-04-22 09:51:40 -07:00
Jonah Williams
1bfa2f2311
Intercept errors thrown by synchronous Completers in image resolution. (#30139) 2019-03-29 10:05:18 -07:00
Jonah Williams
3c93b65a9b
Update to latest matcher (#30019) 2019-03-27 17:21:10 -07:00
Dan Field
20e0f13cc9
Test reporter (#28297)
* Wrap test.main with a custom processor
* Report test results to bigquery table
2019-03-06 13:13:45 -08:00
Alexandre Ardhuin
387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
Jonah Williams
ec93468a14
Add capability to run build_runner tests for engine (#28684) 2019-02-28 20:06:14 -08:00
Jonah Williams
d2a76414f4
remove json_schema dep again (#28517) 2019-02-26 12:01:22 -08:00
Dan Field
0e984fb237
update packages (#28400) 2019-02-23 10:08:53 -08:00
Stanislav Baranov
3837ec9e96
Reland #27754, now that bsdiff has moved to flutter/packages. (#28291) 2019-02-21 21:59:41 -08:00
Greg Spencer
262f12b4a9
Remove remaining "## Sample code" segments, and fix the snippet generator. (#27793)
This converts all remaining "## Sample code" segments into snippets, and fixes
the snippet generator to handle multiple snippets in the same dartdoc block
properly.

I also generated, compiled, and ran each of the existing application samples,
and fixed them up to be more useful and/or just run without errors.

This PR fixes these problems with examples:

1. Switching tabs in a snippet now works if there is more than one snippet in
   a single dartdoc block.
2. Generation of snippet code now works if there is more than one snippet.
3. Contrast of text and links in the code sample block has been improved to
   recommended levels.
4. Added five new snippet templates, including a "freeform" template to make
   it possible to show examples that need to change the app instantiation.
5. Fixed several examples to run properly, a couple by adding the "Scaffold"
   widget to the template, a couple by just fixing their code.
6. Fixed visual look of some of the samples when they run by placing many
   samples inside of a Scaffold.
7. In order to make it easier to run locally, changed the sample analyzer to
   remove the contents of the supplied temp directory before running, since
   having files that hang around is problematic (only a problem when running
   locally with the `--temp` argument).
8. Added a `SampleCheckerException` class, and handle sample checking
   exceptions more gracefully.
9. Deprecated the old "## Sample code" designation, and added enforcement for
   the deprecation.
10. Removed unnecessary `new` from templates (although they never appeared in
   the samples thanks to dartfmt, but still).

Fixes #26398
Fixes #27411
2019-02-15 07:48:49 -08:00
Dan Field
ed4e3da360
update packages and supress lint (#27902) 2019-02-13 15:45:20 -08:00
Jonah Williams
b06a709305
Use flutter_tools to generate build_script (#27277) 2019-02-05 18:35:20 -08:00
Jonah Williams
ca92efecae
Add module checking (#27122) 2019-01-29 12:26:48 -08:00
Dan Field
496c57386b
Update packages (#27046)
* Update packages

* Change test for isFile
2019-01-24 16:02:45 -08:00
Danny Tuppeny
14fb64353c
Add source line to snippet metadata file (#26274)
* Add source line to snippet metadata

* Parse sourceLine as an int
2019-01-09 15:09:42 +00:00
Danny Tuppeny
b5c5bae42b
Write snippets index file when generating docs (#25515) 2019-01-08 10:38:59 +00:00
Hans Muller
4857267e65
Updated Shrine demo (#25674) 2018-12-21 17:47:25 -08:00
Greg Spencer
95b0124785
Add imports section to sample code templates, and more docs. (#25184)
Adds documentation for the stateless widget template, and adds an "imports" section to both templates.
2018-12-13 14:11:11 -08:00
Janice Collins
4a110b6227
Allow snippets tool to be run from arbitrary CWDs (#25243)
* Allow snippets tool to be run from arbitrary CWDs

* Drop use of absolute when using Platform.executable (path is not relative, might require PATH resolution)

* canonicalize paths

* Use path.fromUri consistently to resolve file URIs

* Force commit to try to kick Cirrus

* Force commit to kick Cirrus, again
2018-12-12 09:40:18 -08:00
Hans Muller
ec4f22c17b
Revert "Restore Flutter Gallery Shrine Demo, again (round 3) (#24531)" (#24538)
This reverts commit 4ec8883b83.
2018-11-19 13:02:18 -08:00
Hans Muller
4ec8883b83
Restore Flutter Gallery Shrine Demo, again (round 3) (#24531) 2018-11-19 12:21:49 -08: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
Todd Volkert
95c9ae451e
Update packages --force-upgrade (#24126) 2018-11-08 22:31:22 -08:00
Greg Spencer
a6e901130e
Convert existing '## Sample code' samples to '{@tool sample}...{@end-tool}' form. (#24077)
This converts existing ## Sample code samples to {@tool sample}...{@end-tool} form.

Also:
1. Fixed a minor bug in analyze-sample-code.dart
2. Made the snippet tool only insert descriptions if the description is non-empty.
3. Moved the Card diagram to before the code sample.
2018-11-07 20:35:10 -08:00
Greg Spencer
094f93dfcf
Fixes several bugs in samples, quotes HTML properly, and pre-compiles snippet tool. (#24020)
When converting all of the samples to use the snippet tool, I encountered some bugs/shortcomings:

1. The document production took 90 minutes, since the snippet tool was being invoked from the command line each time. I fixed this by snapshotting the executable before running, so it's down to 7 minutes.

2. The sample code was not being properly escaped by the snippet tool, so generics were causing issues in the HTML output. It is now quoted.

3. Code examples that used languages other than Dart were not supported. Anything that highlight.js was compiled for dartdoc with is now supported.

4. The comment color for highlight.js was light grey on white, which was pretty unreadable. It's now dark green and bold.
2018-11-07 08:29:14 -08:00
Jonah Williams
2fc2581be4
unpin mockito (#24021) 2018-11-06 17:24:39 -08:00
Jonah Williams
a43e3a4a2f
Retry remove package:test from flutter (#24007) 2018-11-06 10:48:34 -08:00
Jonah Williams
23a7535a39
Revert "Remove package:test dependency from flutter_test (#23755)" (#24004)
This reverts commit 71e9bd6f25.
2018-11-06 09:12:48 -08:00
Jonah Williams
71e9bd6f25
Remove package:test dependency from flutter_test (#23755) 2018-11-06 08:39:27 -08:00
Greg Spencer
202b045b50
Rewrite the analyze-sample-code script to also analyze snippets (#23893)
This rewrites the sample code analysis script to be a little less of a hack (but still not pretty), and to handle snippets as well.

It also changes the semantics of how sample code is handled: the namespace for the sample code is now limited to the file that it appears in, so some additional "Examples can assume:" blocks were added. The upside of this is that there will be far fewer name collisions.

I fixed the output too: no longer will you get 4000 lines of numbered output with the error at the top and have to grep for the actual problem. It gives the filename and line number of the original location of the code (in the comment in the tree), and prints out the source code on the line that caused the problem along with the error.

For snippets, it prints out the location of the start of the snippet and the source code line that causes the problem. It can't print out the original line, because snippets get formatted when they are written, so the line might not be in the same place.
2018-11-05 07:31:35 -08:00
Hans Muller
dd30efa190
Revert "Restore "Flutter gallery: updated Shrine demo" (#23878)" (#23888)
This reverts commit 76a1abd4c7.
2018-11-02 15:32:02 -07:00
Hans Muller
76a1abd4c7
Restore "Flutter gallery: updated Shrine demo" (#23878) 2018-11-02 14:33:10 -07:00
Jonah Williams
0b35937b13
Revert "Flutter gallery: updated Shrine demo (#23539)" (#23848)
This reverts commit 949cfcf172.
2018-11-01 19:30:11 -07:00
Hans Muller
949cfcf172
Flutter gallery: updated Shrine demo (#23539) 2018-11-01 12:48:24 -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
65d3ddd5d1
Dartdoc snippet extension to inject full featured code snippets in to API docs. (#23281)
This creates a custom dartdoc tool that will generate snippet blocks in our API docs that allow the user to copy easily to the clipboard, and will also embed the snippet code into a template to show it in a larger context with an app.

This PR adds the snippet tool, a template, and a couple of HTML skeleton files, one for snippets that are designed to be in an application setting, and one where it simply puts a nice container around existing snippets, making them easier to copy to the clipboard.
2018-10-23 13:50:24 -07:00