1. 30 Mar, 2022 1 commit
  2. 22 Mar, 2022 1 commit
    • Chris Bracken's avatar
      [macOS] Use arm64 snapshot in arm64 App.framework (#100504) · fd3c34c9
      Chris Bracken authored
      Previously, https://github.com/flutter/flutter/pull/100271 enabled
      building universal macOS binaries by default, but included a bug causing
      the arm64 App.framework to be built such that the TEXT section
      containing the app instructions built by gen_snapshot incorrectly
      contained x86_64 instructions rather than arm64 instructions.
      
      When building macOS (and iOS) apps, Flutter builds them in three
      components:
      * The Runner application: built by Xcode
      * The bundled App.framework: built from assembly code generated by
        gen_snapshot from the application's Dart sources.
      * The bundled FlutterMacOS.framework: built as part of the engine build
        and packaged by copying the distributed binary framework from our
        artifacts cache.
      
      Building App.framework consists of the following steps:
      * For each architecture, invoke gen_snapshot to generate
        architecture-specific assembly code, which is then built to object
        code and linked into an architecture-specific App.framework.
      * Use the `lipo` tool to generate a universal binary that includes both
        x86_64 and arm64 architectures.
      
      Previously, we were building architecture specific App.framework
      binaries. However, for all architectures we were (mistakenly) invoking
      the general `gen_snapshot` tool (which emitted x64 instructions, and
      which is now deprecated) instead of the architecture-specific
      `gen_snapshot_x86` and `gen_snapshot_arm64` builds which emit
      instructions for the correct architecture.
      
      This change introduces a small refactoring, which is to split the
      `getNameForDarwinArch` function into two functions:
      * `getDartNameForDarwinArch`: the name for the specified architecture as
        used in the Dart SDK, for example as the suffix of `gen_snapshot`.
      * `getNameForDarwinArch`: the name for the specified architecture
        as used in Apple tools, for example as an argument to `lipo`. For
        consistency, and to match developer expectations on Darwin platforms,
        this is also the name used in Flutter's build outputs.
      
      Issue: https://github.com/flutter/flutter/issues/100348
      fd3c34c9
  3. 07 Sep, 2021 1 commit
  4. 20 May, 2021 1 commit
  5. 08 May, 2021 1 commit
  6. 08 Apr, 2021 1 commit
  7. 02 Feb, 2021 1 commit
    • Jonah Williams's avatar
      [flutter_tools] switch dart defines to base64 to avoid windows control characters (#75027) · 44d5950d
      Jonah Williams authored
      = gets escaped into %3D which seems to be tripping up cmake on windows since % is a control character. Switch to base64 encoding, since this does not have % nor , in the output character set.
      
      This change is not trivially cherry pickable, and isn't tested on windows aside from my local, manual tests due to the planned CI work not being complete yet.
      
      Fixes #75017
      Fixes #74705
      44d5950d
  8. 27 Jan, 2021 1 commit
  9. 25 Aug, 2020 1 commit
    • Jonah Williams's avatar
      [flutter_tools] support code size tooling on iOS, linux, windows, macOS, and... · 059de153
      Jonah Williams authored
      [flutter_tools] support code size tooling on iOS, linux, windows, macOS, and Android on Windows (#63610)
      
      Adds support for size analysis on iOS, macOS, linux, and Windows - using an uncompressed directory based approach. The output format is not currently specified.
      
      Adds support for size analysis on android on windows, switching to package:archive
      
      Updates the console format to display as a tree, allowing longer paths. Increases the number of dart libraries shown (to avoid only ever printing the flutter/dart:ui libraries, which dominate the size)
      059de153
  10. 25 Jun, 2020 1 commit
    • Jonah Williams's avatar
      [flutter_tools] remove most use of global packages path (#60231) · 82a6f9bf
      Jonah Williams authored
      The global packages path could cause tests to fail when it would be overriden to unexpected (in test setup) values. Remove most usage and make it a configuration on buildInfo, along with most other build information. Cleanup the asset builder to require the .packages path and the resident runners to no longer require it, since they already have the information in build_info.
      
      It needs to stick around for the fuchsia deps we do not control.
      
      Filled #60232 for remaining work.
      82a6f9bf
  11. 09 Jun, 2020 1 commit
  12. 04 Jun, 2020 1 commit
  13. 27 May, 2020 1 commit
  14. 05 May, 2020 1 commit
  15. 26 Apr, 2020 1 commit
    • Jonah Williams's avatar
      [flutter_tools] quality pass on Linux build (#55556) · dd88b204
      Jonah Williams authored
      - Update the Linux build to support most of the build configuration, though like windows most only make sense for profile/release.
      - Ensure VERBOSE_SCRIPT_LOGGING is set when the logger is verbose
      - Automatically run pub get like other build commands
      dd88b204
  16. 06 Mar, 2020 1 commit
  17. 04 Mar, 2020 2 commits
  18. 28 Feb, 2020 2 commits
  19. 27 Feb, 2020 2 commits
  20. 12 Feb, 2020 1 commit
  21. 06 Feb, 2020 1 commit
  22. 27 Jan, 2020 1 commit
  23. 17 Jan, 2020 1 commit
  24. 16 Jan, 2020 1 commit
  25. 27 Nov, 2019 1 commit
    • Ian Hickson's avatar
      License update (#45373) · 449f4a66
      Ian Hickson authored
      * Update project.pbxproj files to say Flutter rather than Chromium
      
      Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
      
      * Update the copyright notice checker to require a standard notice on all files
      
      * Update copyrights on Dart files. (This was a mechanical commit.)
      
      * Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
      
      Some were already marked "The Flutter Authors", not clear why. Their
      dates have been normalized. Some were missing the blank line after the
      license. Some were randomly different in trivial ways for no apparent
      reason (e.g. missing the trailing period).
      
      * Clean up the copyrights in non-Dart files. (Manual edits.)
      
      Also, make sure templates don't have copyrights.
      
      * Fix some more ORGANIZATIONNAMEs
      449f4a66
  26. 28 Oct, 2019 1 commit
  27. 18 Sep, 2019 1 commit
  28. 31 Jul, 2019 1 commit
  29. 13 Jul, 2019 1 commit
  30. 22 Mar, 2019 1 commit
  31. 13 Feb, 2019 1 commit
    • KyleWong's avatar
      Refactor build-number/build-name logic. (#27743) · 4b4a9400
      KyleWong authored
      This PR aims at several things:
      
      1. Use pub_semver to check a version in pubspec.yaml meets the requirements specified in https://semver.org/.
      2. Don't limit build-number/build-name as a fixed format. Instead, validate it according to the target(ios/android).
      3. Make sure that build-number/build-name are always validated no matter it's specified by the `flutter command` or version in pubspec.yaml.
      
      Fixes #27589
      4b4a9400