1. 08 May, 2018 5 commits
  2. 07 May, 2018 11 commits
    • Chris Bracken's avatar
      Enable universal iOS binaries in templates (#17358) · de332ec7
      Chris Bracken authored
      Eliminates the restrictions to build in arm64 mode only in iOS project
      templates created by flutter create.
      de332ec7
    • Chris Bracken's avatar
      Enable universal iOS binaries for examples (#17357) · c9d73d3a
      Chris Bracken authored
      Updates all example projects to build as universal binaries that run on
      both armv7 and arm64 now that we support both platforms on iOS.
      c9d73d3a
    • xster's avatar
      Update Play Store metadata (#17301) · 0a0e2b40
      xster authored
      0a0e2b40
    • Chris Bracken's avatar
    • Todd Volkert's avatar
      Golden file fixes (#17299) · 52e46056
      Todd Volkert authored
      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`
      52e46056
    • Chris Bracken's avatar
      Enable multi-arch Flutter Gallery on iOS (#17350) · aa341be4
      Chris Bracken authored
      Build universal armv7+arm64 binary for iOS now that our tooling supports
      it.
      aa341be4
    • Hans Muller's avatar
      Gallery cosmetic updates (#17310) · eee986b0
      Hans Muller authored
      eee986b0
    • Vyacheslav Egorov's avatar
    • Chris Bracken's avatar
      Support multi-arch iOS binaries (#17312) · 849676fc
      Chris Bracken authored
      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.
      849676fc
    • Chris Bracken's avatar
      Build App.framework for all requested architectures (#17296) (#17317) · 5834f417
      Chris Bracken authored
      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 feb16d8d, which was reverted due to a flaky test.
      5834f417
    • Chris Bracken's avatar
      Mark integration_ui flaky (#17319) · 4509b15d
      Chris Bracken authored
      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:
      https://github.com/flutter/flutter/blob/b2b46659262c66ff13abc2b8016a94a47646eaad/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).
      4509b15d
  3. 05 May, 2018 3 commits
  4. 04 May, 2018 13 commits
  5. 03 May, 2018 8 commits