Commit graph

229 commits

Author SHA1 Message Date
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