1. 05 Apr, 2019 1 commit
  2. 11 Oct, 2018 1 commit
    • Greg Spencer's avatar
      Re-land text wrapping/color PR (#22831) · 081d2a7a
      Greg Spencer authored
      This attempts to re-land #22656.
      
      There are two changes from the original:
      
      I turned off wrapping completely when not sending output to a terminal. Previously I had defaulted to wrapping at and arbitrary 100 chars in that case, just to keep long messages from being too long, but that turns out the be a bad idea because there are tests that are relying on the specific form of the output. It's also pretty arbitrary, and mostly people sending output to a non-terminal will want unwrapped text.
      
      I found a better way to terminate ANSI color/bold sequences, so that they can be embedded within each other without needed quite as complex a dance with removing redundant sequences.
      
      As part of these changes, I removed the Logger.supportsColor setter so that the one source of truth for color support is in AnsiTerminal.supportsColor.
      
      *     Turn on line wrapping again in usage and status messages, adds ANSI color to doctor and analysis messages. (#22656)
      
          This turns on text wrapping for usage messages and status messages. When on a terminal, wraps to the width of the terminal. When writing to a non-terminal, wrap lines at a default column width (currently defined to be 100 chars). If --no-wrap is specified, then no wrapping occurs. If --wrap-column is specified, wraps to that column (if --wrap is on).
      
          Adds ANSI color to the doctor and analysis output on terminals. This is in this PR with the wrapping, since wrapping needs to know how to count visible characters in the presence of ANSI sequences. (This is just one more step towards re-implementing all of Curses for Flutter. :-)) Will not print ANSI sequences when sent to a non-terminal, or of --no-color is specified.
      
          Fixes ANSI color and bold sequences so that they can be combined (bold, colored text), and a small bug in indentation calculation for wrapping.
      
          Since wrapping is now turned on, also removed many redundant '\n's in the code.
      081d2a7a
  3. 06 Oct, 2018 2 commits
    • Greg Spencer's avatar
      Revert "Turn on line wrapping in usage and status messages, adds ANSI color to... · 2d81adf7
      Greg Spencer authored
      Revert "Turn on line wrapping in usage and status messages, adds ANSI color to doctor and analysis messages. (#22656)" (#22759)
      
      This reverts commit e4386321
      because it breaks 160 benchmarks, and several devicelab tests,
      due to changing the format of the output.
      2d81adf7
    • Greg Spencer's avatar
      Turn on line wrapping in usage and status messages, adds ANSI color to doctor... · e4386321
      Greg Spencer authored
      Turn on line wrapping in usage and status messages, adds ANSI color to doctor and analysis messages. (#22656)
      
      This turns on text wrapping for usage messages and status messages. When on a terminal, wraps to the width of the terminal. When writing to a non-terminal, wrap lines at a default column width (currently defined to be 100 chars). If --no-wrap is specified, then no wrapping occurs. If --wrap-column is specified, wraps to that column (if --wrap is on).
      
      Adds ANSI color to the doctor and analysis output on terminals. This is in this PR with the wrapping, since wrapping needs to know how to count visible characters in the presence of ANSI sequences. (This is just one more step towards re-implementing all of Curses for Flutter. :-)) Will not print ANSI sequences when sent to a non-terminal, or of --no-color is specified.
      
      Fixes ANSI color and bold sequences so that they can be combined (bold, colored text), and a small bug in indentation calculation for wrapping.
      
      Since wrapping is now turned on, also removed many redundant '\n's in the code.
      e4386321
  4. 05 Oct, 2018 1 commit
  5. 09 May, 2018 1 commit
  6. 02 Feb, 2018 1 commit
  7. 07 Dec, 2017 1 commit
  8. 22 Oct, 2017 1 commit
  9. 26 Apr, 2017 1 commit
    • Todd Volkert's avatar
      Switch many `Device` methods to be async (#9587) · 60c5ffc1
      Todd Volkert authored
      `adb` can sometimes hang, which will in turn hang the Dart isolate if
      we're using `Process.runSync()`. This changes many of the `Device` methods
      to return `Future<T>` in order to allow them to use the async process
      methods. A future change will add timeouts to the associated calls so
      that we can properly alert the user to the hung `adb` process.
      
      This is work towards #7102, #9567
      60c5ffc1
  10. 04 Mar, 2017 1 commit
  11. 29 Nov, 2016 1 commit
  12. 14 Nov, 2016 1 commit
    • Dan Rubel's avatar
      Refactor flutter command exit code - part 3 of 3 (#6838) · 34e466f1
      Dan Rubel authored
      * Remove the workaround that pinned args to v0.13.6
      This reverts most of the changes in commit 6331b6c8
      * throw exception if exit code is not an integer
      * rework command infrastructure to throw ToolExit when non-zero exitCode
      * convert commands to return Future<Null>
      * cleanup remaining commands to use throwToolExit for non-zero exit code
      * remove isUnusual exception message
      * add type annotations for updated args package
      34e466f1
  13. 11 Nov, 2016 1 commit
  14. 16 Sep, 2016 1 commit
    • Dan Rubel's avatar
      Refactor flutter command execution (#5892) · 18212382
      Dan Rubel authored
      * refactor _run to runCmd
      
      * replace requiresProjectRoot getter with call to commandValidator
      
      * replace requiresDevice getter with call to findTargetDevice
      
      * trace command requires a debug connection, not a device
      
      * inline androidOnly getter
      
      * rename command methods to verifyTheRunCmd and runCmd
      
      * move common verification into BuildSubCommand
      
      * rename deviceForCommand to device
      
      * rename methods to verifyThenRunCommand and runCommand
      18212382
  15. 23 May, 2016 1 commit
  16. 25 Apr, 2016 1 commit
  17. 14 Mar, 2016 2 commits
  18. 11 Mar, 2016 1 commit
  19. 02 Mar, 2016 1 commit
  20. 22 Feb, 2016 3 commits
  21. 20 Feb, 2016 1 commit
  22. 17 Feb, 2016 2 commits
  23. 14 Feb, 2016 1 commit
  24. 10 Feb, 2016 1 commit
  25. 28 Jan, 2016 1 commit
  26. 27 Jan, 2016 1 commit
  27. 22 Jan, 2016 2 commits
    • Eric Seidel's avatar
      Make `flutter list` not crash on linux. · 7f3ae43b
      Eric Seidel authored
      Turns out linux does have an ideviceinstaller package
      however it doesn't contain idevice_id or any of the
      other tools we use.  Furthermore we don't have
      xcrun or the rest of xcode on linux so we can't
      manipulate simulators either.
      
      No sense in printing out a warning that ios isn't supported
      every time on linux, so I wrapped that block in osx only.
      
      @chinmaygarde @devoncarew
      7f3ae43b
    • Devon Carew's avatar
      refactor platform specific code out of device.dart · 5bce2fbd
      Devon Carew authored
      remove device type specific checks
      5bce2fbd
  28. 21 Jan, 2016 1 commit
  29. 20 Jan, 2016 1 commit
  30. 29 Nov, 2015 1 commit
    • Adam Barth's avatar
      Clean up code organization in flutter_tools · 9662d49e
      Adam Barth authored
      1) Moved basic utility code into base/ directory to make it clear which code
         doesn't depend on Flutter-specific knowldge.
      2) Move the CommandRunner subclasses into a runner/ directory because these
         aren't commands themselves.
      9662d49e
  31. 10 Nov, 2015 1 commit
  32. 29 Oct, 2015 1 commit
  33. 17 Oct, 2015 1 commit
  34. 12 Oct, 2015 1 commit
    • Adam Barth's avatar
      Teach sky_tools about prebuilt artifacts · bdd20661
      Adam Barth authored
      This patch makes `flutter start` work without a clone of the engine git
      repository. Making this work pulled a relatively large refactor of how the
      commands interact with application packages and devices. Now commands that want
      to interact with application packages or devices inherit from a common base
      class that holds stores of those objects as members.
      
      In production, the commands download and connect to devices based on the build
      configuration stored on the FlutterCommandRunner. In testing, these fields are
      used to mock out the real application package and devices.
      bdd20661