Commit Graph

504 Commits

Author SHA1 Message Date
jcollins-g
c81a5ed09a
fix rare flutter_tools logging crash in daemon mode (#14401)
* Populate AnsiTerminal in context for daemon launches

* Strip out AnsiTerminal additions to context since they are no longer needed
2018-02-01 09:30:53 -08:00
Alexandre Ardhuin
841d5d7bd5
prefer_const_declarations on local variables (#14358) 2018-02-01 07:51:26 +01:00
Todd Volkert
1859e82a3d
Extensibility improvements to flutter_tools (#14299)
* Make the current command injected into the AppContext, allowing
  other classes to inject the current command.
* Introduce `AssetBundleFactory`, an injected factory class for
  spawning instances of `AssetBundle`. This allows other run contexts
  to use custom asset bundling logic.
* Clean up RunCommand by removing a 'packages' argument that duplicated
  a global argument by the same name (and for the same purpose).
  Duplicate arguments are confusing and error-prone.
2018-01-29 09:40:28 -08:00
Vyacheslav Egorov
c23509e9fd
Unpin test and upgrade packages (#14282)
* Unpin package:test and upgrade packages

* Update packages/flutter/test/foundation/stack_trace_test.dart

* Also add packages/flutter_tools/test/data/asset_test/font/.dartignore to ensure that update-packages --force-upgrade does not crash.
2018-01-26 10:40:03 -08:00
Alexandre Ardhuin
10f721c8a5
use const instead of final with const declarations (#14253) 2018-01-25 19:28:22 +01:00
Ian Hickson
97b9579e55
Random cleanup across the tree (#14221) 2018-01-25 09:46:48 -08:00
Jason Simmons
e0e291011e
Delete test/data/asset_test/main/.packages (#14252)
(this will be generated by flutter update-packages)
2018-01-25 09:39:54 -08:00
Chris Bracken
d3705f3ea9
Add android workflow test (#14260)
Adds unit tests for AndroidWorkflow.runLicenseManager().
2018-01-24 22:27:24 -08:00
Chris Bracken
74478d186c
Extract MockAndroidSdk and static utility method (#14258)
AndroidSdk and AndroidStudio depends relatively heavily on filesystem
access to locate installed tools. Testing code that relies on either of
these classes benefits from a utility method to generate a
legitimate-looking Android SDK directory layout for testing.
2018-01-24 20:40:25 -08:00
Chris Bracken
538ba522ee
Move common process/IO-related mocks to mocks.dart (#14255)
Moves MockProcess, MockStdio and a few other useful mocks from
packages_test.dart to common/mocks.dart. These are useful for testing
code with interactive IO.

This adds a new constructor to MockProcess to provide additional flexibility.
2018-01-24 17:16:30 -08:00
Michael Goderbauer
84580b545a
Make Assets more robust across platforms (#14246) 2018-01-24 13:16:23 -08:00
Chris Bracken
9654659c72
Add AndroidSdk.sdkManagerPath, sdkManagerVersion (#14247)
Convenience getters for the the path to the Android SDK manager and the
currently installed version of the tool.

Pre-factoring to support better checks around the --android-licenses
command, which uses a feature of the SDK manager that is unsupported in
older versions of the tool.
2018-01-24 12:38:08 -08:00
Michael Goderbauer
733bd04904
Fix custom fonts on Windows (#14191)
Fixes https://github.com/flutter/flutter/issues/13870.
2018-01-22 10:00:27 -08:00
jcollins-g
460dd00b72
Make automated_tests mostly ignore extraneous error messages (#14170)
* Ignore extraneous error messages outside of one skipped test

* Fix analysis error
2018-01-18 14:06:35 -08:00
Mikkel Nygaard Ravn
4353297079
Change default organization name to example.com in project templates (#14116) 2018-01-18 09:21:24 +01:00
Michael Goderbauer
a67df9e1d1
Fix crash during artifact download (#14147) 2018-01-17 16:08:19 -08:00
Michael Goderbauer
bf7cc09625
Moar tests on Windows (#14148) 2018-01-17 16:08:07 -08:00
Chris Bracken
6a42ed3f55
Decode syslog-encoded iOS logs (#14075)
Apple encodes syslog entries using a 7-bit encoding where input UTF-8 bytes
are encoded as follows:
1. 0x00 to 0x19: non-printing range. Some ignored, some encoded as <...>.
2. 0x20 to 0x7f: as-is, with the exception of 0x5c (backslash).
3. 0x5c (backslash): octal representation \134.
4. 0x80 to 0x9f: \M^x (using control-character notation for range 0x00 to 0x40).
5. 0xa0: octal representation \240.
6. 0xa1 to 0xf7: \M-x (where x is the input byte stripped of its high-order bit).
7. 0xf8 to 0xff: unused in 4-byte UTF-8.

As there doesn't appear to be a system tool to decode these strings, we
implement here in Dart. If we're unable to decode a string (e.g.
decoding results in an invalid UTF-8 string), we fall back to emitting
the log line as-is.
2018-01-12 15:12:26 -08:00
Alexander Aprelev
e2e3c5df05
Reland 9534082fc0 with fix for incremen… (#14040)
* Reland 9534082fc0 with fix for incremental compilation.

When in incremental mode, awaiting exitCode won't work because compiler is not expected to exit after compilation.
Instead listen for stdout stream closing and report error if outputFilename has not been received.

* Fix lints
2018-01-11 14:33:50 -08:00
Devon Carew
ccc0d29454
send 'reloadRecommended' info to IDEs (#13996)
* send 'reloadRecommended' info to IDEs

* rename hint ==> hintMessage
2018-01-11 12:55:00 -08:00
Alexander Aprelev
5dc4ce85d9
Revert "Handle abnormal termination of frontend compiler. (#13982)" (#14037)
This reverts commit 9534082fc0.

Causes hot_mode_dev_cycle__preview_dart_2_benchmark test timeout.
2018-01-10 19:54:08 -08:00
Alexander Aprelev
9534082fc0
Handle abnormal termination of frontend compiler. (#13982)
* Check frontend_server exit code.

When frontend_server completes abnormally, flutter tools has to stop and let user know.

* Add tests
2018-01-10 17:51:08 -08:00
Alexander Aprelev
27c61eeb50
Explicitly report CFE output(when using --preview-dart-2) (#13936)
* Explicitly report CFE output(when using --preview-dart-2)

* Fix test so it looks at errorText

* Fix expected text
2018-01-05 18:51:35 -08:00
xster
e6e4406de8
Fix simulator not printing to console lines with ) (#13920)
* it's fixed

* Add test for simulator log reader
2018-01-05 11:34:05 -08:00
jcollins-g
e25d881046
Reduce the chances of bots reporting analytics (#13915)
* First version

* Prevent modification of .flutter during analytics test

* Pass in directory and override analyzer warning due to conditional import

* Review comments
2018-01-05 09:38:13 -08:00
xster
4d2c2aaaa1
Revert pod install skip revert (#13774)
* Revert "Revert "Enable developers to run pod from terminal directly and skip pod install if possible. (#13374)" (#13770)"

This reverts commit 0759043e47.

* some nits on cocoapods code

* put back the FLUTTER_FRAMEWORK_DIR env variable
2017-12-27 07:30:31 -08:00
xster
0759043e47
Revert "Enable developers to run pod from terminal directly and skip pod install if possible. (#13374)" (#13770)
This reverts commit c6a17525e8.
2017-12-27 02:51:44 -08:00
KyleWong
c6a17525e8 Enable developers to run pod from terminal directly and skip pod install if possible. (#13374)
Avoids running pod install if .flutter-plugins and its flutter framework pod dependency didn't change
2017-12-27 01:27:15 -08:00
Alan Russian
30720bd148 Change async stubbing to use thenAnswer. (#13521)
* 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 e8ab9d37c3.

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
2017-12-19 13:13:57 -08:00
Mikkel Nygaard Ravn
d2d86e35c5
Bump test timeout threshold (#13661) 2017-12-18 23:04:07 +01:00
Chris Bracken
7fb78523e9
Require Xcode 9.0 or later for iOS builds (#13608) (#13622)
We now require Xcode 9.0, which ships with the iOS 11 SDK, for iOS
builds. This change does not affect the minimum supported iOS deployment
target, which remains iOS 8.

The iOS 11 SDK adds support for safe area insets, which model the status
bar, iPhone X home indicator, and symmetric horizontal insets to avoid
the iPhone X sensor housing when in landscape mode.

This re-lands flutter/flutter#13608 now that the devicelab Macs have
been updated to Xcode 9.
2017-12-15 18:13:10 -08:00
amirh
05dba60c63
keep recursing past directories with pubspec.yaml when gathering packages (#13573) 2017-12-15 12:21:03 -08:00
Chris Bracken
6728d4845d
Revert "Require Xcode 9.0 or later for iOS builds (#13608)" (#13612)
Our devicelab machines have not yet been upgraded to Xcode 9. Once this
has been done, I'll re-land this.

This reverts commit 0fac5f01a2.
2017-12-15 11:59:42 -08:00
Chris Bracken
0fac5f01a2
Require Xcode 9.0 or later for iOS builds (#13608)
We now require Xcode 9.0, which ships with the iOS 11 SDK, for iOS
builds. This change does not affect the minimum supported iOS deployment
target, which remains iOS 8.

The iOS 11 SDK adds support for safe area insets, which model the status
bar, iPhone X home indicator, and symmetric horizontal insets to avoid
the iPhone X sensor housing when in landscape mode.
2017-12-15 11:44:01 -08:00
Phil Quitslund
3346c5c736
Update plugin test template. (#13516)
* Update plugin test template.

* Add flutter test run verification.

* Tweak and test runs for package projects.
2017-12-14 08:51:33 -08:00
Greg Spencer
6b8ceb9472
Make the create command call pub get online instead of offline. (#13505)
We thought it would be OK to call the create command offline-only, but it turns out that isn't a great idea because not all of the create template dependencies are cached by running flutter_tool.

This PR makes it go online by default when running pub get after creating a project, and adds an "--offline" flag to the create command so that offline users can use it offline if their cache is warm.
2017-12-11 21:21:41 -08:00
Ian Hickson
186d1e9b0d
Have the framework in charge of scheduling frames. (#13344)
...instead of the engine.
2017-12-08 16:51:59 -08:00
Greg Spencer
aedee0df3d
Make create command use pub in offline mode. (#13462)
In order to allow offline usage of the create command we need to be able to tell pub not to try and contact the server to see if new versions are available. Since all the versions that create could want are pinned, it shouldn't need to check for new versions.
2017-12-08 15:32:10 -08:00
Devon Carew
0350c9ecff
route device issue diagnostics to flutter doctor (#13346)
* route device issue diagnostics to flutter doctor

* review comments

* review comments
2017-12-07 09:32:23 -08:00
Greg Spencer
389e13f8b9
Fixing the pub get test so that it doesn't care what the flutter root looks like. (#13385) 2017-12-06 13:27:29 -08:00
Kevin Moore
13a6d40f90
flutter_tools: ensure the context value passed to pub is consistent (#13366)
Adds a class `PubContext` with a fixed set of allowed values
Make it clear these values should not be changed casually

Fixed one inconsistency already: update_packages vs update_pkgs
Provide more information for verify calls
Eliminate `ctx_` prefix.
2017-12-06 08:10:56 -08:00
Greg Spencer
f29ecba6de
Use .pub-cache from Flutter root, if it exists. (#13358)
The purpose of this PR is to make it so that when the user runs 'flutter', if they have a .pub-cache directory in their flutter root, we use that instead of the default location for the pub cache. Otherwise, it should act as before.

The eventual goal is to support a pre-populated flutter .zip/.tar.gz file that has everything the developer needs in one bundle. In order for that to actually work, we need to have the pub cache be self-contained, and not in the user's home dir.

Another advantage of this is that if you have multiple flutter repos that you're switching between, then the versions in the pub cache will remain static when you switch between them.

This is an attempt to re-land: #13248. Includes a fix for the test that makes it work on bots in the presence of PUB_CACHE being set, and no other changes.
2017-12-05 14:46:39 -08:00
Greg Spencer
c89cf6ccc6
Reverting my .pub-cache change to figure out why it's still failing. (#13355)
* Revert "Add tests."

This reverts commit 31bad961ff.

* Revert "Use .pub-cache from Flutter root, if it exists. (#13248)"

This reverts commit 72d6bcc3f7.
2017-12-05 12:51:18 -08:00
Greg Spencer
3174443e0e
Fix a problem with the flutter_tools/test/dart/pub_get_test.dart test. (#13354)
It turns out that when a PR build clones the flutter repo, it puts it into a directory called "flutter", and when the "real" build clones the flutter repo, it puts it into a directory called "build". This allowed the tests to succeed in my PR, but fail when I committed it.

This fixes the test so it doesn't depend on the cloned directory name.
2017-12-05 12:30:13 -08:00
Greg Spencer
72d6bcc3f7
Use .pub-cache from Flutter root, if it exists. (#13248)
The purpose of this PR is to make it so that when the user runs 'flutter', if they have a .pub-cache directory in their flutter root, we use that instead of the default location for the pub cache. Otherwise, it should act as before.

The eventual goal is to support a pre-populated flutter .zip/.tar.gz file that has everything the developer needs in one bundle. In order for that to actually work, we need to have the pub cache be self-contained, and not in the user's home dir.

Another advantage of this is that if you have multiple flutter repos that you're switching between, then the versions in the pub cache will remain static when you switch between them.
2017-12-05 12:02:14 -08:00
Kevin Moore
c25608d83b
Provide more information in PUB_ENVIRONMENT for pub get/upgrade (#13307)
* Provide more information in PUB_ENVIRONMENT for `pub get/upgrade`

Should help diagnose and fix https://github.com/dart-lang/pub-dartlang-dart/issues/636
2017-12-01 16:20:06 -08:00
Mehmet Fidanboylu
b61cbc735e
Add capability to print engine dart sdk to flutter doctor (#13085)
* Add capability to print engine dart sdk to flutter doctor

* First round of review comments

* second round of comments

* Final review comments
2017-11-29 11:03:50 -08:00
Todd Volkert
137f0751b2
Add support for IOS_SIMULATOR_HOME environment variable in IOSSimulat… (#13236)
Add support for IOS_SIMULATOR_HOME environment variable in IOSSimulator.logFilePath

flutter_tools can be run on environments where the user's HOME directory
is not the root of the iOS simulators' configs. This change adds support
for such environments by allowing the caller to set the simulator root
directory via an environment variable.
2017-11-29 08:22:05 -08:00
Greg Spencer
909406ba25
Consolidating .gitignore files. (#13002)
This consolidates all of the non-template .gitignore rules into the top level .gitignore, to ignore common things more broadly, with less maintenance needed for the .gitignore files. Does not touch the templates, so that they still produce needed .gitignores as part of flutter create.
2017-11-28 17:06:57 -08:00
Todd Volkert
e792c6bb5b
Add support for binding to IPv6 localhost in flutter run (#13136)
This allows `flutter run` to work on hosts that are IPv6-only.
2017-11-21 20:12:21 -08:00