1. 30 May, 2018 2 commits
  2. 14 May, 2018 1 commit
  3. 11 May, 2018 1 commit
    • Chris Bracken's avatar
      Add more unit tests for AOT snapshotting (#17493) · 1605fbb3
      Chris Bracken authored
      Adds unit tests for the following AOT build configurations:
      * iOS armv7 profile
      * iOS armv7 release
      * Android armv7 profile (AOT blob)
      * Android arm64 profile (AOT blob)
      * Android armv7 release (AOT blob)
      * Android arm64 release (AOT blob)
      1605fbb3
  4. 09 May, 2018 3 commits
    • Chris Bracken's avatar
      Correct profile-mode AOT snapshot flags (#17435) · 1c27a458
      Chris Bracken authored
      Previously, in non-release (i.e. profile) AOT builds, we were setting
      --no-checked and --conditional_directives flags. --no-checked is the
      default, and we don't make use of conditional directives in Flutter.
      1c27a458
    • Chris Bracken's avatar
      Add pathFilter to Fingerprinter (#17412) · e4f55332
      Chris Bracken authored
      Allows users of Fingerprinter to filter the set of paths collected from
      the explicitly-specified paths and those collected from depfiles.
      
      In some cases, depfiles are emitted with files that are not present on
      the local disk (e.g. the frontend compiler currently emits buildbot
      paths for the dart core libraries and dart:ui). These files will not
      materially affect whether we need to re-run a build action for which
      they are inputs, since they're not present in the filesystem and
      therefore cannot change.
      e4f55332
    • Chris Bracken's avatar
      Replace --prefer-shared-library with --build-shared-library (#17394) · 8b8d368d
      Chris Bracken authored
      This replaces the --prefer-shared-library flag, which falls back to
      regular (non-shared-lib) compile if the NDK is not found, with the
      --build-shared-library flag, which exits with an error message if the
      NDK is not found.
      
      This simplifies the set of allowed code paths through AOT compile,
      resulting in better testability and easier-to-follow logic. It also
      results in more predictable behaviour for continuous integration and
      other scenarios.
      8b8d368d
  5. 08 May, 2018 1 commit
  6. 07 May, 2018 1 commit
    • 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
  7. 04 May, 2018 3 commits
    • Todd Volkert's avatar
      Use deprecated io constants (#17278) · d820e5f3
      Todd Volkert authored
      The new values are not ready for use yet inside Google
      d820e5f3
    • Yegor's avatar
      Roll engine to e976be13c51448f89107d082ec81e2b6731671fa (#17266) · b2c98f9a
      Yegor authored
      * Roll engine to e976be13c51448f89107d082ec81e2b6731671fa
      
      * move away from deprecated constants
      b2c98f9a
    • Chris Bracken's avatar
      Add Fingerprinter class (#17255) · 66c7b6a9
      Chris Bracken authored
      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).
      66c7b6a9
  8. 01 May, 2018 6 commits
    • Chris Bracken's avatar
    • Chris Bracken's avatar
      Eliminate unnecessary params in assembly AOT (#17164) · c77ceb01
      Chris Bracken authored
      Previously, we were incorrectly passing --vm_snapshot_data and
      --isolate_snapshot_data options to gen_snapshot in assembly AOT builds.
      These only make sense in AOT blob snapshot mode (alongside
      --vm_snapshot_instructions and --isolate_snapshot_instructions).
      c77ceb01
    • Chris Bracken's avatar
      Split Snapshotter into AOT and Script classes (#17159) · 42ed0152
      Chris Bracken authored
      There's very little code-sharing between the two, and what little there
      is is concentrated in the GenSnapshotClass and the fingerprint
      reading/writing utility methods.
      42ed0152
    • Chris Bracken's avatar
      Simplify iOS debug build (#17145) · 68a1e2f7
      Chris Bracken authored
      iOS debug builds always run in interpreted mode whether on device or on
      simulator. In both cases, we can skip snapshotting and link against an
      empty App.framework. Previously, we did this for iOS simulator builds.
      This does the same for device builds.
      
      Previously, debug iOS builds used gen_snapshot to generate a core
      snapshot, then used 'xxd' to generate C files containing the snapshot
      data in buffers named kDartVmSnapshotData and kDartIsolateSnapshotData,
      which are then compiled/linked into App.framework. This is unnecessary
      since the VM compiled into Flutter.framework already contains this data.
      68a1e2f7
    • Chris Bracken's avatar
      Improve AOT snapshot input verification + cleanup (#17144) · c3d43ef4
      Chris Bracken authored
      Bugfix: Moves AOT snapshot input verification past where the last input
      is added to the inputs list.
      
      Cleanup:
      * Extracts _isValidAotPlatform method.
      * Moves non-platform-specific logic to the top.
      * Moves variable declaration closer to first use, and inlines to a
        narrower scope where possible.
      
      This relands #17136, which was reverted in #17142 due to breakage in
      on-device iOS debug builds.
      c3d43ef4
    • Chris Bracken's avatar
      d19bdc43
  9. 30 Apr, 2018 1 commit
    • Chris Bracken's avatar
      Improve AOT snapshot input verification + cleanup (#17136) · 100be23a
      Chris Bracken authored
      Bugfix: Moves AOT snapshot input verification past where the last input
      is added to the inputs list.
      
      Cleanup:
      * Extracts _isValidAotPlatform method.
      * Moves non-platform-specific logic to the top.
      * Moves variable declaration closer to first use, and inlines to a
        narrower scope where possible.
      100be23a
  10. 29 Apr, 2018 1 commit
    • Chris Bracken's avatar
      Extract kernel compile from buildAotSnapshot (#17062) · cdbb2385
      Chris Bracken authored
      Moves the kernel compile step to the beginning of the AOT build in a
      separate method. This is pre-factoring for iOS universal builds where
      the kernel build happens once, but we then snapshot twice: once for
      armv7 and once for arm64.
      
      This also writes dependencies to build/kernel_compile.d rather than
      build/aot/snapshot.d, since that is immediately overwritten by
      gen_snapshot.
      cdbb2385
  11. 27 Apr, 2018 2 commits
  12. 26 Apr, 2018 4 commits
  13. 24 Apr, 2018 2 commits
  14. 23 Apr, 2018 1 commit
  15. 19 Apr, 2018 1 commit
    • Chris Bracken's avatar
      Move script snapshot argumtents to Snapshotter (#16722) · cf577881
      Chris Bracken authored
      This moves --vm_snapshot_data and --isolate_snapshot_data argument
      hardcoding from GenSnapshot (a minimal wrapper around gen_snapshot
      invocations) to Snapshotter.buildScriptSnapshot(). These arguments are
      present in both AOT and script snapshots, but differ semantically: for
      script snapshots they're inputs from the host engine artifacts
      directory, for AOT snapshots they're outputs to the build directory.
      cf577881
  16. 16 Apr, 2018 1 commit
  17. 09 Apr, 2018 1 commit
  18. 28 Mar, 2018 2 commits
  19. 12 Mar, 2018 1 commit
  20. 07 Mar, 2018 1 commit
  21. 28 Feb, 2018 1 commit
    • jcollins-g's avatar
      Android license detector in doctor, take two (#14783) · 614df694
      jcollins-g authored
      * Revert "Revert "Add android license verification to doctor and some refactoring" (#14727)"
      
      This reverts commit d2602947.
      
      * Add tests, fix sdkManagerEnv and use it consistently, and rearrange Status object model
      
      * AnsiSpinner needs to leave the cursor where it found it.
      
      * fix tests
      
      * Const constructor warning only shows up on windows...?
      
      * Avoid crash if we can't find the home directory
      
      * Make pathVarSeparator return a string in the mock
      
      * Implement review comments
      
      * Fix out-of-order problem on stop
      614df694
  22. 02 Feb, 2018 1 commit
  23. 01 Feb, 2018 1 commit
  24. 19 Dec, 2017 1 commit
    • Alan Russian's avatar
      Change async stubbing to use thenAnswer. (#13521) · 30720bd1
      Alan Russian authored
      * Change async stubbing to use thenAnswer.
      
      Mockito now prohibits calling thenReturn with Futures and Streams. dart-lang/mockito#79
      
      * Update all Mockito deps to 3.0.0.
      
      * Revert "Update all Mockito deps to 3.0.0."
      
      This reverts commit e8ab9d37c33d3d7fe384abde64ea5b4d72623c75.
      
      I did not correctly update the mockito dep, and there's no easy way to update to 3.0 alpha right now.
      
      * Change thenAnswer((_) => to thenAnswer((invocation) =>
      
      * Add Invocation type to thenAnswer lambdas
      30720bd1