1258 Commits

Author SHA1 Message Date
Jonah Williams
2acf6fdb6b
Outline for survey implementation (#27305) 2019-02-20 15:28:28 -08:00
Greg Spencer
dff25a3055
Fix Dashing rules to use new dartdoc CSS entity markers. (#27818)
This fixes the offline Dash/Zeal docs generation to use the newly added dartdoc markers for different entity types to make it more exact when finding entity names.

Bumped Dartdoc to the next release.
2019-02-15 08:40:19 -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
Jonah Williams
67cf21577f
Add basic codegen app to be used for integration testing and benchmarks (#27257) 2019-02-14 23:17:16 -08:00
Jonah Williams
9bc5656637
Wire dart2js through flutter tool, add compilation test (#27668) 2019-02-14 22:42:30 -08:00
Dan Field
ed4e3da360
update packages and supress lint (#27902) 2019-02-13 15:45:20 -08:00
Greg Spencer
ef9c059ef2
Hook up character events and unmodified code points to Android raw key event handling. (#27853)
This makes Android raw key event handling use the "character" data coming from the engine properly, and gets rid of the "toLowerCase" hack that I was using to normalize logical key events, in favor of using the new "plainCodePoint" that has the unmodified code point (the code point as if no modifier keys were pressed).
2019-02-12 19:40:19 -08:00
Ian Hickson
58939b70ef Prevent tests from importing other tests. (#27800)
This pattern is problematic when Flutter is ported to build systems
that require each executable end-point to be self-contained (e.g.
Bazel).
2019-02-12 12:29:36 -08:00
Greg Spencer
431cfdafd9
Adding support for logical and physical key events (#27627)
This adds support for logical and physical key information inside of RawKeyEvent. This allows developers to differentiate keys in a platform-agnostic way. They are able to tell the physical location of a key (PhysicalKeyboardKey) and a logical meaning of the key (LogicalKeyboardKey), as well as get notified of the character generated by the keypress. All of which is useful for handling keyboard shortcuts.

This PR builds on the previous PR (#27620) which generated the key code mappings and definitions.
2019-02-08 12:42:34 -08:00
Greg Spencer
bcd60fa89a
Make sample analyzer more friendly for running locally. (#27648)
Now the sample analyzer can be run locally with:

dart dev/bots/analyze-sample-code.dart --temp=/tmp/samples

And it leaves /tmp/samples around so you can take a look at the code that was generated to see if it's the artificial environment that the samples are evaluated in that is the culprit for a failed analysis.

Before, you had to specify the whole path to the dart executable, and had to modify the code to keep the tempdir around.
2019-02-08 10:12:14 -08:00
Greg Spencer
2aad59314f
Add a keyboard key code generator. (#27620)
This adds a keycode generator that incorporates input from the Chromium and Android source trees, as well as some local tables, to generate static constants for the LogicalKeyboardKey and PhysicalKeyboardKey classes, as well as mappings from each of the platforms we support so far (currently only Android and Fuchsia).

This code generator parses the input files, generates an intermediate data structure (`key_data.json`) that is checked in, and then generates the Dart sources for these classes and some static maps that will also be checked in (but are not included in this PR).

The idea is that these codes don't change often, and so we don't need to generate them on every build, but we would like to be able to update them easily in the future if new data becomes available. If the existing data disappears or becomes unusable, we can maintain the checked-in data structure by hand if necessary, and still be able to generate the code.

This PR only contains the code generator, not the classes themselves. In another follow-on PR, I'll run the generator and check in the output of the generator.
2019-02-06 16:53:16 -08:00
Greg Spencer
da27f62337
Make a kReleaseMode constant that is public. (#27502)
Before this, we had several places where an isReleaseMode was defined, all with the same definition. This just makes it more broadly visible to allow our users to use it, as well as creating debug and profile versions, and adding a device lab test for it.

Since this is a const value, this makes it possible for a developer to easily mark blocks that can be removed at AOT compile time.
2019-02-06 14:37:17 -08:00
Janice Collins
6bb4b12633
Update dartdoc to 0.28.1+2 and fix search text alignment (#27559) 2019-02-06 11:10:59 -08:00
Jonah Williams
b06a709305
Use flutter_tools to generate build_script (#27277) 2019-02-05 18:35:20 -08:00
xster
37108c4cc3
Add some instructions to the README for packaging archives locally (#27116) 2019-02-04 23:50:08 -08:00
liyuqian
de321b9cc1
Add scroll performance test for flutter_gallery (#27513)
Previously, we had a scroll_perf drive test but we were not exercising
it on our device lab. This helps us tracking issues like:
https://github.com/flutter/flutter/issues/24782
2019-02-04 22:54:11 -08:00
Matt Carroll
92125ed38f
Enable dependency injection of Window instead of using static property (#27389) 2019-02-04 16:46:04 -08:00
Janice Collins
328c73e66d
Update dartdoc to 0.28.1+1 and add parameters for source-code linking (#27511) 2019-02-04 14:40:22 -08:00
Jason Simmons
b5ca595d61
Remove icudtl.dat from APK asset size checks (#27505) 2019-02-04 12:40:43 -08:00
Michael Goderbauer
6d20ff2446
Remove all obsolete "// ignore:" (#27271) 2019-01-30 08:56:12 -08:00
Jonah Williams
ca92efecae
Add module checking (#27122) 2019-01-29 12:26:48 -08:00
Dan Field
c082f8d8a3
Revert f9e6242db (#26944) (#27191)
* Revert f9e6242db

* fix pubspec

* finish pubspec upgrade
2019-01-28 15:35:59 -08:00
xster
0e54e9fc36
Fix gsutil.py call for windows (#27113) 2019-01-25 18:43:20 -08:00
Jonah Williams
2e8f173f7d
Add flutter_build package for codegen and version sync with tool (#26978) 2019-01-25 16:06:25 -08:00
Greg Spencer
02dbb08cdc
Modify offline docs platform family for Dash/Zeal (#27053)
This changes the DocSetPlatformFamily key to be "dartlang" instead of the name of the package (usually "flutter"). This is so that the IntelliJ plugin for Dash will be able to go directly to the docs for a symbol from a keystroke, instead of needing to search all the docsets each time.

Without this, flutter isn't part of the list of package names it searches. After this, it finds the flutter docs because they're declared to be part of the "dartlang" family of docs.

Dashing doesn't have a way to configure this, so we modify the Info.plist directly to make the change.
2019-01-25 08:48:52 -08:00
Dan Field
496c57386b
Update packages (#27046)
* Update packages

* Change test for isFile
2019-01-24 16:02:45 -08:00
Jason Simmons
7bfbc28505
Revert "Upgrade the Gradle script to Android plugin version 3.3.0 (#26913)" (#27045)
This reverts commit 30f33d6c7d7581e61269da8778fae59882f081d8.
2019-01-24 14:29:08 -08:00
Jason Simmons
30f33d6c7d
Upgrade the Gradle script to Android plugin version 3.3.0 (#26913)
Fixes https://github.com/flutter/flutter/issues/26544
2019-01-24 12:21:11 -08:00
Jonah Williams
f777db2b78
add uiMode to android:configChanges (#26896) 2019-01-22 10:37:22 -08:00
sjindel-google
4881777203
Fix behavior of handleDrawFrame() in benchmark mode. (#25049) 2019-01-22 11:46:14 +01:00
Dan Field
386f3466b5
Roll engine to 05fee4eeee0ff6b219b1fcc394371e5f6963cc46 (#26713)
* move flutter_assets to App.framework

* Roll engine to 05fee4eeee0ff6b219b1fcc394371e5f6963cc46

05fee4eee Update default flutter_assets path for iOS embedding (flutter/engine#7518)
02205db01 Roll src/third_party/skia 5d052dac3ac1..02738a86e5fd (4 commits) (flutter/engine#7541)
af907c074 Roll src/third_party/skia 5c7a3ac0e214..5d052dac3ac1 (7 commits) (flutter/engine#7540)
dde286673 IWYU to get SkFontMetrics (flutter/engine#7539)
2019-01-21 21:23:04 -08:00
Dan Field
d8d36bc7e8
targetSdkVersion 28 (#26798) 2019-01-19 11:59:42 -08:00
Todd Volkert
db7e4fbbc4 Fix test expectations per change made in #26736 (#26809) 2019-01-19 11:32:48 -08:00
Ian Hickson
31a9626c48
[O] Removing all timeouts (mark II) (#26736)
These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.
2019-01-19 00:31:05 -08:00
Dan Field
e1f5ee36b2
Update VERSION_WIN_SDK (#26797)
Make sure we get latest build tools/platform for Windows.  It wasn't previously failing, but now is.  Similar changes made to Linux/Mac recently.
2019-01-18 21:56:39 -08:00
Dan Field
e5eab66e9c
Update VERSION_LINUX_SDK (#26795)
Fix mistaken file extension inclusion

Will land TBR @mklim or @Hixie
2019-01-18 20:59:04 -08:00
Dan Field
f02f4fbed3
Rev Android Platform to 28 for bots (#26790)
* Rev Android Platform to 28 for bots

* push all to 28

* include platform tools update
2019-01-18 20:39:10 -08:00
Hans Muller
43bf66a9ab
Close the Scaffold drawer in scroll_perf_test.dart (#26763) 2019-01-18 12:44:50 -08:00
xster
b531b8f507
Use Cirrus image's fastlane instead of freezing our own set of gem dependencies (#26737) 2019-01-18 10:37:35 -08:00
Dan Field
4c99958df6
Revert "Move flutter_assets to App.framework (#26630)" (#26675)
This reverts commit d8db70af1a9b43e17a0b94fe096f464c49484cfb.
2019-01-16 16:46:37 -08:00
Dan Field
d8db70af1a
Move flutter_assets to App.framework (#26630)
* move flutter_assets to App.framework

* remove flutter_assets references from all pbxproj files checked in
2019-01-16 14:02:54 -08:00
Dan Field
774e8c18e3
remove ignore_for_file lints (#26545)
* remove ignore_for_file lints

* update comments

* remove example
2019-01-15 08:42:47 -08:00
Janice Collins
4007ff6ee2
Update dartdoc to 0.28.0 and add flags to constrain warnings (#26546) 2019-01-14 16:18:17 -08:00
Greg Spencer
35fcd9077f
Narrow regexp for import search in bot's analyze script. (#26539)
This was causing analysis to fail when there was an import statement in a comment, such as when snippets add imports to their examples.

I narrowed the RegExp to match only those lines which aren't commented out, but it really should probably be using the analysis server to catch all cases (e.g. if someone put the doc comment into /** */ comments, it could still match). Since this is a Flutter-specific script, it's probably not worth doing that.
2019-01-14 13:49:50 -08:00
Ian Hickson
78f4878fe1
Cleanup device lab test and remove a timeout. (#24581) 2019-01-13 20:44:59 -08:00
Greg Spencer
141d6e1394
Add support for detecting which modifier keys have been pressed on RawKeyboardEvents (#26265)
This adds some functions to the interface for RawKeyEventData and all subclasses that allow the recipient of an event to determine which modifier keys are currently being pressed without needing to know the specific modifier bitmasks for the platform.

Also adds constants for the modifier bitmasks for each platform, for completeness (and because I needed them anyhow to implement the above).

Added tests for the RawKeyEventData subclasses, and modified the raw_keyboard manual test app to show modifier keys being pressed. I also separated the different platform-specific subclasses into separate files.

Fixes #26155.
2019-01-11 13:41:45 -08:00
xster
5a434c61af
Let the packaging recipe use gsutil.py (#26402) 2019-01-10 19:08:03 -08:00
xster
b5e69f2ed1
Make sure package cache prepare does not end up creating projects inside the Flutter repo (#26389) 2019-01-10 18:04:23 -08:00
Chris Bracken
17d741ea4e
Emit more of HTTP error response bodies (#26395)
80 characters was short enough that after the XML boilerplate in the
response, all we got was 'The'.
2019-01-10 16:05:39 -08:00
Chris Bracken
7022f981e2
Check response code, retry when downloading docs (#26386)
When downloading the ObjC/Java API docs, check the HTTP response status
code and if not 200, attempt up to 5 times before giving up.
2019-01-10 15:23:59 -08:00