10790 Commits

Author SHA1 Message Date
Todd Volkert
52e4605677
Golden file fixes (#17299)
1. Make goldenFileComparator getter return `null` if it's set to the
   uninitialized comparator, which matches the behavior of the setter
   (it sets it to the uninitialized comparator if the caller specifies
   `null`).
2. Make the uninitialized comparator return trivial success (and print
   a message) when asked to compare as opposed to throwing. This ensures
   that the comparator will play nicely with live widget bindings
3. Augment documentation
4. Add assert that test doesn't modify the value of `autoUpdateGoldenFiles`
2018-05-07 11:33:41 -07:00
Chris Bracken
aa341be4ae
Enable multi-arch Flutter Gallery on iOS (#17350)
Build universal armv7+arm64 binary for iOS now that our tooling supports
it.
2018-05-07 09:55:03 -07:00
Hans Muller
eee986b076
Gallery cosmetic updates (#17310) 2018-05-07 09:25:50 -07:00
Vyacheslav Egorov
e8d0874468
Fix running dev/bots/test.dart in Dart 2 mode (#17256) 2018-05-07 18:22:36 +02:00
Chris Bracken
849676fc7f
Support multi-arch iOS binaries (#17312)
This change adds support for armv7, arm64, and universal iOS apps.

This change eliminates iOS target architecture hardcoding (previously
arm64 only) and uses the target architecture(s) specified in Xcode's
ARCHS setting ('Architectures' in Xcode Build Settings).

For universal binaries, set ARCHS to its default value, $(ARCHS_STANDARD).

Note that after changing the architecture in Xcode, developers should
run 'pod install' from the ios subdirectory of their project. A separate
change (that will land before this one) will add support for
automatically detecting project file and Podfile changes and re-running
pod install if necessary.

This change also adds an --ios-arch option to flutter build aot. In iOS
AOT builds (in profile and release mode), this dictates which
architectures are built into App.framework. This flag should generally
be unnecessary to set manually since flutter build aot is typically only
invoked internally by flutter itself.
2018-05-06 18:43:07 -07:00
Chris Bracken
5834f41770
Build App.framework for all requested architectures (#17296) (#17317)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.

This re-lands feb16d8, which was reverted due to a flaky test.
2018-05-06 18:42:37 -07:00
Chris Bracken
4509b15d2d
Mark integration_ui flaky (#17319)
This test fails consistently on mac2 and mac3 with the attached Moto G4
devices but passes consistently on other machines.

Adding a delay of 1s right after driver.connect() in setUpAll() causes
it to pass on the machines in question, which suggests a race condition.
Specifically it looks like connect returns the moment Flutter Driver
identifies that the isolate is up and running, but empirically it looks
like we start running the first test before the UI is actually up. This
triggers a failure wherein we start looking for elements before they're
onstage.

Link to viewport.dart:213 at HEAD:
b2b4665926/packages/flutter/lib/src/widgets/viewport.dart (L213)

Stack trace:
FlutterDriver waitFor should find text "present"

```
  DriverError: Error in Flutter application: Uncaught extension error while executing waitFor: NoSuchMethodError: The getter 'visible' was called on null.
  Receiver: null
  Tried calling: visible
  #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5)
  #1      _ViewportElement.debugVisitOnstageChildren. (package:flutter/src/widgets/viewport.dart:213:36)
  #2      WhereIterator.moveNext (dart:_internal/iterable.dart:439:11)
  #3      Iterable.forEach (dart:core/iterable.dart)
  #4      _ViewportElement.debugVisitOnstageChildren (package:flutter/src/widgets/viewport.dart:214:8)
  #5      _DepthFirstChildIterator._reverseChildrenOf (package:flutter_test/src/all_elements.dart:54:15)
  #6      _DepthFirstChildIterator.moveNext (package:flutter_test/src/all_elements.dart:45:19)
  #7      CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
  #8      _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
  #9      WhereIterator.moveNext (dart:_internal/iterable.dart:438:22)
  #10     CachingIterable._fillNext (package:flutter/src/foundation/basic_types.dart:252:27)
  #11     _LazyListIterator.moveNext (package:flutter/src/foundation/basic_types.dart:279:21)
  #12     Iterable.isEmpty (dart:core/iterable.dart:449:33)
  #13     Iterable.isNotEmpty (dart:core/iterable.dart:456:27)
  #14     FlutterDriverExtension._waitForElement. (package:flutter_driver/src/extension/extension.dart:215:51)
  #15     FlutterDriverExtension._waitUntilFrame (package:flutter_driver/src/extension/extension.dart:197:19)
  #16     FlutterDriverExtension._waitForElement (package:flutter_driver/src/extension/extension.dart:215:11)

  #17     FlutterDriverExtension._waitFor (package:flutter_driver/src/extension/extension.dart:286:11)

  #18     FlutterDriverExtension.call (package:flutter_driver/src/extension/extension.dart:168:51)

  #19     BindingBase.registerServiceExtension. (package:flutter/src/foundation/binding.dart:370:32)
```

Removes a previous hack that no longer appears to help (adding a 1
second delay in setUpAll() does seem to work around this issue though).
2018-05-06 18:00:35 -07:00
Chris Bracken
b2b4665926
Revert "Build App.framework for all requested architectures" (#17316)
* Revert "Build App.framework for all requested architectures (#17296)"

This reverts commit feb16d8d0156a475538e817b649e06d1f8d0cdc3.
2018-05-04 18:17:35 -07:00
Chris Bracken
a87e324f32
Revert "Add missing awaits in driver integration test (#17314)" (#17315)
This reverts commit f37b84f0b680dd39ec67a5a8d88753a5016c78d7.
2018-05-04 17:48:25 -07:00
Chris Bracken
f37b84f0b6
Add missing awaits in driver integration test (#17314) 2018-05-04 17:20:34 -07:00
Hans Muller
c8da37656a Fix flex_layout_test (#17313) 2018-05-04 16:19:05 -07:00
Hans Muller
f8d0d877f5
Textfield InputDecorator height can grow to accomodate error text (#17292) 2018-05-04 13:26:46 -07:00
Chris Bracken
feb16d8d01
Build App.framework for all requested architectures (#17296)
In debug mode iOS builds, we build a stub App.framework with no
functionality, since the engine itself loads the code from the included
bundle and subsequently via hot reload. This is simply done for
consistency with profile/release AOT app structure.

To satisfy the linker, ensure that we're building this code for all
build architectures, not just CURRENT_ARCH.

This is pre-work for supporting arbitrary iOS architectures (armv7,
arm64, universal) in Flutter.
2018-05-04 13:20:17 -07:00
Mikkel Nygaard Ravn
43c74341b2
Revert "Recommend upgrading to Cocoapods 1.5.0 (#17210)" (#17300)
This reverts commit c64ace84d56b42561d8846785b026887b832d637.
2018-05-04 20:50:01 +02:00
Mikkel Nygaard Ravn
c64ace84d5
Recommend upgrading to Cocoapods 1.5.0 (#17210) 2018-05-04 20:31:09 +02:00
Michael Goderbauer
7984f6e043
Implicit a11y scrolling for iOS (and caching in Viewports) (#17021) 2018-05-04 10:48:06 -07:00
Todd Volkert
be09a200ee
Expose generateTestBootstrap() as public API in test harness (#17290)
This will allow external tools that wrap our test harness to share the
code that generates the test bootstrap.

This change exposed an issue whereby the LocalGoldenFileComparator
was being too strict in its URI handling, so this changes relaxes
that constraint as well (and adds associated tests).
2018-05-04 10:31:53 -07:00
Todd Volkert
d820e5f3b1
Use deprecated io constants (#17278)
The new values are not ready for use yet inside Google
2018-05-03 22:27:29 -07:00
Chris Bracken
cdbdafa8f3
Rerun pod install on changed Xcode project, Podfile (#17274)
If the developer changes their Xcode build settings and their project
has plugins, pod install is required, (e.g. to pick up changes to the
target architecture).

Similarly, manual edits to the Podfile should trigger a pod install.
2018-05-03 19:40:16 -07:00
Yegor
b2c98f9a4e
Roll engine to e976be13c51448f89107d082ec81e2b6731671fa (#17266)
* Roll engine to e976be13c51448f89107d082ec81e2b6731671fa

* move away from deprecated constants
2018-05-03 19:24:48 -07:00
Chris Bracken
c9954f1053
Gallery demos: reordered and retitled (#17220) (#17273) 2018-05-03 18:26:46 -07:00
Todd Volkert
c8908ff0e2
Follow-on work to goldens (#17267)
* Exclude flutter_goldens package from dartdoc because it's for internal
  use only
* Document why flutter_tools doesn' tneed to be excluded from the list of
  packages to document
* Performance optimization in the flutter comparator, and associated
  test updates.
2018-05-03 17:47:50 -07:00
Chris Bracken
66c7b6a935
Add Fingerprinter class (#17255)
Adds a Fingerprinter utility class that can be used to compute unique
fingerprints for a set of input paths and build options, compare to the
output of a previous run, and skip the build action if no inputs or
options have changed. The existing Fingerprint class still does all the
heavy lifting. Fingerprinter adds common operations such as
reading/writing/comparing fingerprints and parsing depfiles.

This migrates existing uses of Fingerprint over to Fingerprinter.

This also adds better fingerprinting to AOT snapshotting, which
previously failed to include several options in its fingerprint
(--preview-dart-2, --prefer-shared-library).
2018-05-03 17:31:37 -07:00
Chris Bracken
322eb81a79
Revert longPress/Tap and Gallery changes (#17269)
Revert longPress/Tap and Gallery changes
2018-05-03 16:51:45 -07:00
Jonah Williams
40ddf01059
fix names of demos in perf tests (#17257) 2018-05-03 15:46:40 -07:00
Andrew Davies
284d87ddaf
[frdp] Fix authors statement. (#17263) 2018-05-03 15:16:04 -07:00
Ian Hickson
5a01da47af
Removing CRLFs. (#17261) 2018-05-03 14:56:10 -07:00
Andrew Davies
5d590afa7d
[frdp] Adds DartVM events/driver support. (#17170)
This change adds Dart VM event support (listening for when a VM starts/stops by using a periodic heartbeat).

This also adds support to connect to a specific `IsolateRef` through the flutter driver, so that when an application spawns, it can immediately be driven (as shown in included example code).
2018-05-03 14:51:52 -07:00
Ian Hickson
031730820e
Update issue templates (#17250)
The "about" text was apparently too long.
2018-05-03 14:51:20 -07:00
Fedor Korotkov
d0125d94b0 Renamed CI tasks (#17216)
* Renamed CI tasks

`tests` to `tests-linux`
`windows` to `tests-windows`

* Explicitly specify shards everywhere
2018-05-03 11:24:02 -07:00
xster
b2db3bafef
Make Android back button presses in a demo category not unexpectedly quit the app (#17224) 2018-05-03 11:15:51 -07:00
Hans Muller
22c12f9f92
Gallery demos: reordered and retitled (#17220) 2018-05-03 11:05:48 -07:00
Jonah Williams
50bd39a913
Add longPress/Tap event to SemanticService (#16945) 2018-05-03 11:04:43 -07:00
Ian Hickson
57dd51a301
Fix documentation for UnconstrainedBox and code cleanup (#17249) 2018-05-03 10:56:35 -07:00
Ian Hickson
916ed6c4f2
Update issue templates (#17213)
* Update issue templates

* Rename Custom.md to Z.md

* Create A.md

* Rename A.md to BUG.md

* Rename Z.md to SUPPORT.md

* Create ACTIVATION.md

* Update BUG.md

* Update BUG.md

* Delete ISSUE_TEMPLATE.md
2018-05-03 10:46:55 -07:00
xster
57fa40efac
Update the auto-inserted cupertino_icons dependency version which fixes linter warnings (#17229) 2018-05-03 09:39:43 -07:00
Konstantin Scheglov
9fe53b0d2b
Export @required from src/widgets/framework.dart (#17208) 2018-05-03 08:50:40 -07:00
Todd Volkert
65079ad5f2
Add Flutter-repo-specific golden comparator (#17205)
In order to avoid checking binaries into flutter/flutter,
this comparator can be used to retrieve golden files from
a sibling flutter/goldens repository.

https://github.com/flutter/flutter/issues/16859
2018-05-03 07:39:41 -07:00
Alexander Aprelev
50afda01e1
Roll engine to pick updated dart sdk with NSM and hot reload fix. (#17240)
Changes since last roll:
```
ae0d3a553 Roll dart to 2765fcf2aecd3841d082fedaeafc00a73a965f8c. (#5160)
73b835c33 Roll src/third_party/skia/ 0caef298c..20fa1e94a (1 commit) (#5159)
f5c7cb366 Roll dart to b298fc6d8f6a0e1aa841dbbdda26663d6012a79a. (#5155)
93b85ee68 Add Android accessibility bridge support for "longPress" and "tap" semantic events
862d13c6f Roll src/third_party/skia/ 97b48a9c7..0caef298c (6 commits) (#5158)
9b7cc44df Dart bindings own the FDIO namespace. Release the engine side reference to the handle after bindings are setup. (#5156)
8896bd35a Roll src/third_party/skia/ f9ab22385..97b48a9c7 (11 commits; 1 trivial rolls) (#5154)
77910baad Roll src/third_party/skia/ 2050565fe..f9ab22385 (11 commits) (#5151)
0667cba31 Roll src/third_party/skia/ 3fef39d94..2050565fe (2 commits) (#5150)
5da171634 Roll src/third_party/skia/ ef4142a9b..3fef39d94 (1 commit) (#5148)
4ec4b3870 Roll src/third_party/skia/ c86c5c014..ef4142a9b (2 commits) (#5147)
d5c111717 Roll dart to 011676641a8b4b77bb372384c712709cbf037675 (#5146)
beb988c60 Roll src/third_party/skia/ 91368c9b9..c86c5c014 (4 commits) (#5145)
a58eabf14 Roll src/third_party/skia/ dc3192b30..91368c9b9 (12 commits; 1 trivial rolls) (#5144)
```
2018-05-03 00:53:11 -07:00
Todd Volkert
29775f74fb
Handle pubspec.yaml files with no dependencies (#17195)
Currently, `flutter update-packages --force-upgrade` will
crash if it encounters a pubspec.yaml file with no dependencies
(either regular or dev). The assumption that we'd never see
such pubspec files is no longer valid, as we have such a file
in one of our tests.
2018-05-02 21:03:37 -07:00
Chris Bracken
7f0876700a
Handle multi-arch builds in Xcode lipo phase (#17212)
Correctly split ARCHS into a Bash array in xcode_backend.sh.

Previously, when ARCHS contained multiple values (e.g., ARCHS="armv7 arm64"),
we treated that as a single architecture, and lipo invocation would
fail.
2018-05-02 18:50:35 -07:00
Todd Volkert
27a2a27cbf
Roll engine to 2812ea3ed304eac01d89fe456cd5d45f658ce11c (#17206)
This contains the following commits:

flutter/engine@2812ea3 Define Uri.base as CWD to match the standalone Dart VM.
flutter/engine@6f15a91 Roll src/third_party/skia/ 4912d903b..dc3192b30 (7 commits)
flutter/engine@f9165be Roll src/third_party/skia/ c353ee211..4912d903b (1 commit)
flutter/engine@fb51bf2 Roll src/third_party/skia/ d5750b6b3..c353ee211 (1 commit)
flutter/engine@a859432 Roll buildroot to a69ebc4e1.
flutter/engine@89a8dff Roll src/third_party/skia/ 0ce19fa0b..d5750b6b3 (3 commits; 1 trivial rolls)
2018-05-02 18:50:02 -07:00
Hans Muller
c75db13f18 Fixed a typeO (#17223) 2018-05-02 17:43:32 -07:00
xster
4e6045883c
Fix front layer can be tapped through bug on gallery (#17181) 2018-05-02 14:31:59 -07:00
Hans Muller
dba7855de8
Update the gallery BottomAppBar demo (#17177) 2018-05-02 11:18:48 -07:00
Hans Muller
8d0ec25eb6
Updated the error color in the Gallery themes (#17200) 2018-05-02 11:09:28 -07:00
Andrew Davies
5d8bdd35cb
[gn] Add flutter_driver build file. (#17174) 2018-05-02 11:05:20 -07:00
Yegor
4d61ea277c
Revert "Roll engine to d5c111717 (#17178)" (#17201)
This reverts commit 2849bc04ff620e6177f572e0d953818174a239bf.

The engine roll causes hot reload crashes.
2018-05-02 09:57:32 -07:00
Vyacheslav Egorov
f6fb982d5c
Fix strong mode issue in _PosixUtils._which. (#17192)
ProcessResult.stdout has static type dynamic so for
inference to infer proper type argument for the map
invocation we need to cast stdout to String explicitly.

Fixes #17163
2018-05-02 17:49:30 +02:00
Yegor
2849bc04ff
Roll engine to d5c111717 (#17178)
d5c111717 (HEAD -> master, upstream/master) Roll dart to 011676641a8b4b77bb372384c712709cbf037675 (#5146)
beb988c60 (dart-roll) Roll src/third_party/skia/ 91368c9b9..c86c5c014 (4 commits) (#5145)
a58eabf14 Roll src/third_party/skia/ dc3192b30..91368c9b9 (12 commits; 1 trivial rolls) (#5144)
2812ea3ed Define Uri.base as CWD to match the standalone Dart VM. (#5137)
6f15a915c Roll src/third_party/skia/ 4912d903b..dc3192b30 (7 commits) (#5142)
f9165befd Roll src/third_party/skia/ c353ee211..4912d903b (1 commit) (#5141)
fb51bf280 Roll src/third_party/skia/ d5750b6b3..c353ee211 (1 commit) (#5140)
a8594324d Roll buildroot to a69ebc4e1. (#5139)
89a8dffcb Roll src/third_party/skia/ 0ce19fa0b..d5750b6b3 (3 commits; 1 trivial rolls) (#5138)
2018-05-01 20:07:45 -07:00