Commit Graph

3037 Commits

Author SHA1 Message Date
Derek Hannah
fafd615a81 updated Flutter Doctor grammar (#19676)
* updated Flutter Doctor grammar

* updated messaging based on a suggestion by Greg Spencer

* grammar update
2018-09-27 09:47:36 -07:00
Jonah Williams
63f2fb9f5d
Add coverage directory to fuchsia coverage script (#22236) 2018-09-26 13:17:20 -07:00
Greg Spencer
306bcbde8a Fixes terse doctor output when no devices available. (#22108) 2018-09-26 09:33:08 -07:00
Mikkel Nygaard Ravn
52697ef962 Fixes to support add2app on iOS (#22277)
* Fix xcode_backend.sh script to support add2app

* Fix ios deployment target. Too old for new Xcode.

* Fix ios host app

* Register plugins with Flutter view
2018-09-26 01:57:05 -04:00
Michael Goderbauer
eda228404c
Strip debug symbols from App.framework for non-debug builds (#22245)
A dSYM file is created for the stripped `App.framework` and placed at `build/aot/App.dSYM`.

Reduces `App.framework` for Flutter Gallery by 6MB uncompressed, minus 23%.
Reduces `App.framework` for Hello World by 1.6MB uncompressed, minus 22%.

Fixes #4287.
Fixes #18693.
Helps with #21813.
See also #12012.

This change depends on https://dart-review.googlesource.com/c/sdk/+/76306.
2018-09-26 00:57:39 +02:00
Mikkel Nygaard Ravn
a600fe7f13 Support materializing Flutter module host app on iOS (#21276)
* Prototype

* Fix paths to Flutter library resources

* Invoke pod install as necessary for materialized modules

* Add devicelab test for module use on iOS

* Remove debug output

* Rebase, reame materialize editable

* Add devicelab test editable iOS host app

* Removed add2app test section
2018-09-25 15:21:13 -04:00
Greg Spencer
eadd59a9ec
Swap out the moon emoji used for progress spinner for a single-cell character. (#22243)
Swap out the moon emoji used for progress spinner for a single-cell character.

The moon emoji looked cool, but couldn't be used because of bugs in xterm.js, used for VSCode's terminal, among others. The moon emoji is two character cells wide, but xterm.js doesn't advance by two cells when it adds the emoji, but does go back by two when it backspaces.

This changes us to a different character animation (dots) that is only one cell wide, and so doesn't have this problem.
2018-09-25 10:55:41 -07:00
Ian Hickson
6d134e0c86
Animation API improvements (#21540) 2018-09-23 00:43:05 -07:00
Ian Hickson
989cf18b0d
[H] Cleanup (#21542)
* Improve documentation and clean up code.

* Remove "Note that".

The phrase "note that" is basically meaningless as a prefix to an
otherwise fine sentence.
2018-09-22 02:02:56 -07:00
Greg Spencer
efcd9a8001
Simplify Gradle compiler output. (#21760)
This changes the compiler output for gradle to be less verbose and more easily read.

This only applies to compilation error messages: other gradle messages will continue to print as before.

It also fixes a small problem with the performance measurement printing (see that "7.1s" on it's own line in the original?) so that if something is expected to have multiple lines of output, it prints an initial line, and a "Done" line with the elapsed time, so that it's possible to know what the time applies to.

It also updates the spinner to be fancier, at least on platforms other than Windows (which is missing a lot of symbols in its console font).

Addresses #17307
2018-09-20 15:45:48 -07:00
Alexander Markov
83cdb5738e
Cleanup uses of entry points files (#22098) 2018-09-20 15:10:41 -07:00
Greg Spencer
54236427dc
Fix flake in logger_test (#22095)
This fixes a flaky test where it included 0ms as part of an output check. Kind of a classic flaky test.
2018-09-20 14:45:24 -07:00
Stanislav Baranov
c799c2fd80
Use "product" mode VM snapshot when running dynamic "release" mode flutter with cached engine. (#22043)
Dynamic "release" mode requires "product" (not "release") mode VM, so we must point it to the correct cached snapshot.

Generation and caching of this snapshot happens the following corresponding change: https://chromium-review.googlesource.com/c/chromium/tools/build/+/1232134
2018-09-20 13:12:38 -07:00
tonyzhao1
8b5af14f24 Use grouped validator instead of categories (#21577)
This is a cleanup PR.
2018-09-19 15:42:51 -07:00
Greg Spencer
7caa65943f
Added more extensive ANSI color printing support on terminals. (#20958)
This adds support to AnsiTerminal for colored output, and makes all tool output written to stderr (with the printError function) colored red.

No color codes are sent if the terminal doesn't support color (or isn't a terminal).

Also makes "progress" output print the elapsed time when not connected to a terminal, so that redirected output and terminal output match (redirected output doesn't print the spinner, however).

Addresses #17307
2018-09-19 15:22:43 -07:00
Danny Tuppeny
7dd82813f2
Remove -j1 to run tools tests concurrently (#22038)
Fixes #21113.
2018-09-19 17:47:06 +01:00
matthew-carroll
18d5b9dc45
Renamed 'flutter materialize' to 'flutter make-host-app-editable'. The iOS version is still incomplete and will therefore require additional renaming. (#21771) (#22006) 2018-09-18 17:58:20 -07:00
Chris Bracken
f8c50ea15f
Use Xcode legacy build system for iOS builds (#21901) (#21994)
Xcode 10 introduces a new build system which includes stricter checks on
duplicate build outputs.

When plugins are in use, there are two competing build actions that copy
Flutter.framework into the build application Frameworks directory:

  1. The Embed Frameworks build phase for the Runner project
  2. The [CP] Embed Pods Frameworks build phase that pod install creates
     in the project.

Item (1) is there to ensure the framework is copied into the built app
in the case where there are no plugins (and therefore no CocoaPods
integration in the Xcode project). Item (2) is there because Flutter's
podspec declares Flutter.framework as a vended_framework, and CocoaPods
automatically adds a copy step for each such vended_framework in the
transitive closure of CocoaPods dependencies.

As an immediate fix, we opt back into the build system used by Xcode 9
and earlier. Longer term, we need to update our templates and
flutter_tools to correctly handle this situation.

See: https://github.com/flutter/flutter/issues/20685
2018-09-18 10:05:46 -07:00
Danny Tuppeny
ff9dc22e44
Run logcat through shell (#21977)
This should fix #18889 which may be related to `adb logcat` not working correctly in non-terminals on some LG devices. See https://github.com/flutter/flutter/issues/18889#issuecomment-422217761.
2018-09-18 17:57:31 +01:00
Alexandre Ardhuin
e2d0b062d9
remove unnecessary ignore prefer_const_constructors (#21934) 2018-09-18 05:54:03 +02:00
Chris Bracken
4c045e79fb
Revert "Use Xcode legacy build system for iOS builds (#21901)" (#21966)
This caused issues for projects without an Xcode workspace. Almost all
Flutter projects in the wild will have a workspace, but this patch needs
to add a check to catch any that lack one.

This reverts commit 021f472efc.
2018-09-17 18:22:54 -07:00
Chris Bracken
021f472efc
Use Xcode legacy build system for iOS builds (#21901)
Xcode 10 introduces a new build system which includes stricter checks on
duplicate build outputs.

When plugins are in use, there are two competing build actions that copy
Flutter.framework into the build application Frameworks directory:

  1. The Embed Frameworks build phase for the Runner project
  2. The [CP] Embed Pods Frameworks build phase that pod install creates
     in the project.

Item (1) is there to ensure the framework is copied into the built app
in the case where there are no plugins (and therefore no CocoaPods
integration in the Xcode project). Item (2) is there because Flutter's
podspec declares Flutter.framework as a vended_framework, and CocoaPods
automatically adds a copy step for each such vended_framework in the
transitive closure of CocoaPods dependencies.

As an immediate fix, we opt back into the build system used by Xcode 9
and earlier. Longer term, we need to update our templates and
flutter_tools to correctly handle this situation.

See: https://github.com/flutter/flutter/issues/20685
2018-09-17 17:54:57 -07:00
Alexandre Ardhuin
a07d3719a1
enable lint prefer_generic_function_type_aliases (#21680) 2018-09-14 21:06:19 +02:00
Mehmet Fidanboylu
2895d71b79
Make Flutter repo Dart SDK 2.1-dev3.1 compatible (#21853)
This is a blocker for Google roll since we are not at dev4.0:
- Future is not yet part of dart:core.
- Future.sync().then<dynamic>... causes failure without the new keyword.
2018-09-13 18:50:21 -07:00
Alexander Aprelev
199422cd2d
Skip first time full dill transfer (#21133)
* Don't sync first full kernel file.

* Update the comment
2018-09-13 09:01:47 -07:00
Alexander Aprelev
d61b48b75d
Fix integration hot-reload test on mac. (#21741)
Underlying issue with breakpoint was that /var path is a symlink to a /private/var on mac. Because of that breakpoint could not be resolved.
2018-09-12 22:35:21 -07:00
Joao da Silva
66e5422375 Check for AndroidStudio plugins in the right .dot dir. (#20619)
This fixes issues 11940 and 18155.
2018-09-12 08:15:30 -07:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Todd Volkert
d7a0dcaa4a
Fix race condition in resident_runner (#21696)
* Don't set the `vmServices` member variable until it's fully initialized.
* Add a timeout to the future that sends the 'started' event to the IDE

https://github.com/flutter/flutter/issues/16604
2018-09-11 20:58:47 -07:00
Alexandre Ardhuin
774ca2f197
enable lint avoid_void_async (#21652) 2018-09-11 07:14:04 +02:00
Alexander Aprelev
e2e241320b
Update fuchsia-tester so it takes map of kernel test files (#21573)
* Update fuchsia-tester so it takes map of kernel test files

* Set mainDart correctly. Cleanup nits.
2018-09-08 17:53:40 -07:00
Tim Sneath
e8fa45c695
Update gitignore template for flutter create (#21192)
* update gitignore template to mirror

* Add a newline to end of doc

* remove Android/ and iOS/ subfolder gitignores
2018-09-08 10:20:57 -07:00
Jason Simmons
6effa190b9
Return an error from flutter_tools if gen_snapshot fails in an AOT build (#21576)
Fixes https://github.com/flutter/flutter/issues/21215
2018-09-07 16:44:01 -07:00
Chris Bracken
05d557b9ef
Make FlutterDevice.generator final (#21555)
Now that Dart 1 support has been eliminated, generator should always be
populated to a kernel compiler instance.

Also moves the constructor to the top of the class, and orders final
fields before non-final fields, as dictated by the style guide.
2018-09-07 13:56:04 -07:00
Chris Bracken
5ab9e70727
Revert "Eliminate snapshot/depfile options to build bundle (#21507)" (#21563)
This tickled a bug in KernelCompiler.compile() where the fingerprinter
doesn't include the outputFilePath in its list of dependencies. As such,
if the output .dill file is missing or corrupted, the fingerprint still
matches and re-compile is skipped, even though it shouldn't be. I'll fix
that in a followup, then look at how this triggered that issue. My
hypothesis is that that it's due to the aot kernel compile and bundle
kernel compile have separate output directories for the .dill files
(build/ vs build/aot) but the same output directory for the associated
depfiles (due to this patch).

This reverts commit 43a106e95a.
2018-09-07 12:33:05 -07:00
Chris Bracken
43a106e95a
Eliminate snapshot/depfile options to build bundle (#21507)
The --snapshot argument was only necessary in Dart 1. The --depfile
argument was only used in Dart 2 mode to pass to the kernel compiler,
but was inconsistent with the 'build aot' command, where the depfile was
always set to build/kernel_compile.d.

This patch updates 'build bundle' to emit the depfile to a location
consistent with the 'build aot' command; since it's not intended to be
user-configurable and flutter.gradle hardcodes the location to
build/kernel_compile.d either way, this patch also eliminates the
ability to configure the filename altogether.
2018-09-07 10:21:55 -07:00
Jason Simmons
4fc5048efd
gradle: add a dependency on the task that generates the x86 jar instead of the jar file (#21466) 2018-09-06 13:59:41 -07:00
Chris Bracken
3519eabe8a
Do not pass --preview-dart-2 to Dart VM (#21455)
--preview-dart-2 is no longer necessary as it is now the default for the
standalone Dart VM.
2018-09-06 10:59:37 -07:00
Danny Tuppeny
cc1766d44c
Remove flutter_tester test (#21493)
I'm working on fixing up all tests that rely on fs.currentDirectory to allow us to run concurrently. This one proved to be really tricky because it calls a lot of code and spawns multiple processes that have a mix of absolute and relative paths passed to them. I managed to handle some of it with a ChrootFileSystem, but the paths passed to the external processes were wrong.

The functionality here is covered by all of the integration tests that use flutter_tester that were added after this, including flutter_run_test.dart, lifetime_test.dart etc. in this same folder but because they're run through `flutter run` as a separate process they get to set their own working directories without affecting other tests if run concurrently.
2018-09-06 17:59:34 +01:00
Danny Tuppeny
7fc9165e4e
Add a detach command to detach without terminating (#21490)
* Add a detach command to detach without terminating (#21376)

* Add a detach command to detach without terminating

Fixes #21154.

* Bump protocol version for app.detach

* Tweak to detach/quit text

* Change logPrefix to named param

* Fix the text that the devicelab attach test looks for
2018-09-06 15:26:55 +01:00
Devon Carew
e55b0f5244
remove the --use-cfe flag from flutter analyze (#21463) 2018-09-06 07:18:59 -07:00
Danny Tuppeny
7e3ebfc7e0
Rename test file to end with _test so it runs on the bots (#21438)
* Rename test file

* Fix detection to work regardless of whether there are other devices

On Windows we get one message, but on Mac we get another (because of the Simulator always being available).
2018-09-06 13:08:34 +01:00
Jonah Williams
2c1d12d4f7
Revert "Add a detach command to detach without terminating" (#21464) 2018-09-05 18:03:43 -07:00
Danny Tuppeny
409baff3ac
Revert "Allow FlutterTester to be provided with the working directory for execution (#21119)" (#21453)
This reverts commit 857bdc7a9a.
2018-09-05 21:31:29 +01:00
Danny Tuppeny
857bdc7a9a
Allow FlutterTester to be provided with the working directory for execution (#21119)
* Allow FlutterTester to be provided with the working directory for execution

Previously this test set fs.currentDirectory which prevents running tests concurrently. This allows setting the working directory for a FlutterTester in the cosntructor (optionally) and passes it through from the test (without setting fs.currentDirectory).

* Remove trailing whitespace
2018-09-05 19:37:04 +01:00
Danny Tuppeny
fc8dbd3c44
Move asset_bundle_variant_test over to memory file system (#21426) 2018-09-05 19:31:36 +01:00
Danny Tuppeny
eb9c975eb0
Add a detach command to detach without terminating (#21376)
* Add a detach command to detach without terminating

Fixes #21154.

* Bump protocol version for app.detach

* Tweak to detach/quit text

* Change logPrefix to named param
2018-09-05 19:31:21 +01:00
Danny Tuppeny
11ee2f71af
Move asset_bundle_package_test to MemoryFileSystem to avoid setting fs.currentDirectory in tests (#21427)
* Update asset_bundle_package_test to use MemoryFileSystem

This updates all tests in this file to use a memory filesystem (same as I did for asset_bundle_package_font_test) based on the current platform.

There were already a few minor tests at the bottom using a MemoryFileSystem and being run for all platforms - however this complicated the shared code I changed above to support Windows natively so I changed them to also work the same as others (that is, they just run the native platforms so require running on all to get full coverage - though this is the case for almost all other tests anyway).

* Move fixPath to the correct place
2018-09-05 19:30:55 +01:00
Danny Tuppeny
567a4b9cb6
Switch asset_bundle_test.dart to use memory file system (#21425) 2018-09-05 19:30:32 +01:00
Chris Bracken
05edc00a6f
Eliminate Dart 1 support from Flutter test (#21408) 2018-09-05 10:41:44 -07:00