Commit graph

3969 commits

Author SHA1 Message Date
Jonah Williams a0b2878e76
Make tool coverage collection resilient to sentinel coverage data (#35186) 2019-06-27 11:17:58 -07:00
Jonah Williams 8532f4d08e
Allow multi-root web builds (#34896)
* fix multiroot builds

* remove shout

* add basic test

* Update web_compilation_delegate.dart

* Address review feedback

* Update multiroot_asset_reader_test.dart

* Update multiroot_asset_reader_test.dart

* remove unpassable test

* fix for windows

* facepalm
2019-06-27 06:01:41 -07:00
Todd Volkert 883d6eadcb
More HttpClientResponse implements Stream<Uint8List> fixes (#35149)
https://github.com/dart-lang/sdk/issues/36900
2019-06-26 16:56:10 -07:00
Jonah Williams 33ad5bac34
Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -07:00
Dan Field bb79ff3b49
More shards (#34877)
Shard tool_tests
2019-06-26 13:55:16 -07:00
Lau Ching Jun cfe4d0d7b9
Add FlutterProjectFactory so that it can be overridden internally. (#35092)
Also update the comments since we don't return Future<FlutterProject>
anymore.
2019-06-26 13:29:53 -07:00
Lau Ching Jun c8cefce300
Move findTargetDevices to DeviceManager (#35084)
This allows us to override the behavior internally.
2019-06-26 10:09:14 -07:00
Danny Tuppeny f3be1d9d95
Add emulatorID field to devices in daemon (#34794)
* Add emulatorId to Android and iOS emulator devices

* Update docs

* Review tweaks

* Add tests for AndroidConsole for getting avd names

* Remove unused import

* Remove duplicated header

* Fix imports
2019-06-26 16:39:23 +01:00
Josh Burton 577c2fc48c Ensures flutter jar is added to all build types on plugin projects (#34573) 2019-06-25 10:40:55 -07:00
Alexandre Ardhuin c7408be181
prepare for lint update of prefer_final_fields (#35059) 2019-06-25 19:39:34 +02:00
Emmanuel Garcia 2cf8213468
Break down flutter doctor validations and results (#34624) 2019-06-25 10:22:08 -07:00
Alexandre Ardhuin fecf99ff1e
enable lint avoid_bool_literals_in_conditional_expressions (#35055) 2019-06-25 17:40:05 +02:00
Jonah Williams 25b5656969
Reland: rename web device (#34885) 2019-06-24 11:09:07 -07:00
Danny Tuppeny 8dbfc82bc7
Tweak the display name of emulators (#34785) 2019-06-24 11:41:02 +01:00
Todd Volkert bb6c3f8131
Remove flutter_tools support for old AOT snapshotting (#34895)
Android now exclusively uses ELF shared libraries, and
iOS uses assembly.
2019-06-22 19:30:24 -07:00
Jonah Williams d644015620
Revert "set web device name to Chrome (#34856)" (#34884) 2019-06-21 15:04:44 -07:00
Jonah Williams 19d7925f1f
set web device name to Chrome (#34856) 2019-06-21 14:26:25 -07:00
Jonah Williams 25a3121dfd
Prefer ephemeral devices from command line run (#34802) 2019-06-20 14:33:58 -07:00
Jason Simmons 300e8f842b
Remove flags related to dynamic patching (#34736) 2019-06-20 12:06:30 -07:00
Jenn Magder 1b176c5df1
Update Xcode projects to recommended Xcode 10 project settings (#34738) 2019-06-20 08:48:19 -07:00
Jenn Magder fa491fc9fe
Close platform when tests are complete (dispose compiler and delete font files) (#34685) 2019-06-20 08:47:54 -07:00
Jonah Williams b9932d55e7
Add linux doctor implementation (#34755) 2019-06-20 08:20:57 -07:00
Jonah Williams d7e53d4816
move hack flag to common (#34754) 2019-06-19 16:29:11 -07:00
Jonah Williams 830fb38640
Revert "Add basic desktop linux checks (#31873)" (#34753)
This reverts commit f221ad1f92.
2019-06-19 16:03:05 -07:00
Jonah Williams f221ad1f92
Add basic desktop linux checks (#31873) 2019-06-19 15:51:21 -07:00
Jonah Williams d4d10dac61
Revert "Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable. (#34291)" (#34750)
This reverts commit 49449505b6.
2019-06-19 15:37:04 -07:00
Jonah Williams 0d9a1b201e
Remove environment variable guards for command line desktop and web (#33867) 2019-06-19 13:39:27 -07:00
Jonah Williams 5d3efbde80
unpin build daemon (#34686) 2019-06-19 11:43:38 -07:00
Jonah Williams 7851a75183
Fix NPE in flutter tools (#34725) 2019-06-19 11:43:06 -07:00
Jonah Williams 0d4f4bddb6
Don't crash on invalid .packages file in initial run(#34527) 2019-06-19 10:52:23 -07:00
Jonah Williams 49449505b6
Check whether FLUTTER_ROOT and FLUTTER_ROOT/bin are writable. (#34291) 2019-06-19 09:12:43 -07:00
Danny Tuppeny d9983e1be7
Add category/platformType to emulators (#34721) 2019-06-19 17:10:39 +01:00
Devon Carew 2b0c351880
fix a typo (#34584) 2019-06-19 07:26:10 -07:00
Emmanuel Garcia c50fa3d2bd Re-land config lib dependencies for flavors (#34668) 2019-06-18 22:37:42 -07:00
Jonah Williams 7472fad194
Remove most of the target logic for build web, cleanup rules (#34589) 2019-06-18 17:04:11 -07:00
Emmanuel Garcia 9dbc66979a
Revert "Config lib dependencies when using flavors (#34592)" (#34655)
This reverts commit 358b9bd381.
2019-06-18 15:30:59 -07:00
Jonah Williams 5c52498d4e
Add device category, ephemeral, platformType for daemon (#33990) 2019-06-18 15:23:14 -07:00
Jonah Williams 73330e1241
Remove compilation trace and dynamic support code (#34529) 2019-06-18 15:22:04 -07:00
Jenn Magder 8be46a0c4a
Kill compiler process when test does not exit cleanly (#34616) 2019-06-18 11:24:19 -07:00
stuartmorgan cc541e6724
Add missing pieces for 'driver' support on macOS (#34376)
- Adds desktop projects to ApplicationPackageStore
- Plumbs target overrides through the macOS build
2019-06-18 11:14:46 -07:00
Jason Simmons c19f78866d
Remove portions of the Gradle script related to dynamic patching (#34606) 2019-06-18 11:11:38 -07:00
Emmanuel Garcia 358b9bd381
Config lib dependencies when using flavors (#34592) 2019-06-17 15:05:16 -07:00
Jonah Williams a772d4d314
retry on HttpException (#34526) 2019-06-17 10:48:01 -07:00
Emmanuel Garcia 09c09bf14b
Add back ability to override the local engine in Gradle (#34460) 2019-06-16 21:52:44 -07:00
Josh Burton 07dc236237 Handles parsing APK manifests with additional namespaces or attributes (#34535) 2019-06-16 00:18:38 -07:00
Zachary Anderson dfecafa4ab
[flutter_tool,fuchsia] Update the install flow for packaging migration. (#34447) 2019-06-14 09:46:23 -07:00
Michael Thomsen 264de26572
Change API doc link to api.dart.dev (#34388) 2019-06-14 14:19:36 +02:00
Ian Hickson d310d31de3
Roll pub dependencies (#33677) 2019-06-13 18:07:16 -07:00
Todd Volkert 530824f423
Skip flaky test on Windows (#34464)
https://github.com/flutter/flutter/issues/34446
2019-06-13 17:56:07 -07:00
Jonah Williams f68bc1beb2
Dont depend on web SDK unless running tests on chrome (#34457) 2019-06-13 17:51:36 -07:00
Emmanuel Garcia 1c6cda9a0d
Refactor Gradle plugin (#34353) 2019-06-13 16:05:28 -07:00
Emmanuel Garcia 2488c38931
Remove unused flag --target-platform from flutter run (#34369) 2019-06-13 11:47:42 -07:00
Emmanuel Garcia afdc783ce5
Report commands that resulted in success or failure (#34288)
This is added as a dimension cd26
2019-06-13 10:27:23 -07:00
Zachary Anderson 3b42341aac
[flutter_tool,fuchsia] Prefetch tiles when starting an app (#34276) 2019-06-13 09:52:09 -07:00
Todd Volkert 8163c0aebb
Re-apply compressionState changes. (#34341)
This re-applies the changes that were made in #33697 and #33729,
but which were reverted in #33792 and #33790, respectively due to
the Dart SDK not having received the update within Google yet.
The SDK has now rolled, so these changes can be re-applied.

https://github.com/flutter/flutter/issues/32374
https://github.com/flutter/flutter/issues/33791
2019-06-12 13:47:47 -07:00
Jenn Magder c40d701e96
Change Xcode project developmentRegion to 'en' and plist CFBundleDevelopmentRegion to DEVELOPMENT_LANGUAGE (#34293) 2019-06-12 11:31:17 -07:00
Zachary Anderson 22ca3f96ca
[flutter_tool] Don't truncate verbose logs from _flutter.listViews (#34255) 2019-06-12 11:18:53 -07:00
Todd Volkert fb2f18e7e8
Prepare for Uint8List SDK breaking changes (#34295)
https://github.com/dart-lang/sdk/issues/36900
2019-06-12 10:22:50 -07:00
Emmanuel Garcia d9c1962973
Instrument usage of include_flutter.groovy and xcode_backend.sh (#34189)
This is done via `flutter build bundle`.   As a consequence, this PR introduces a new way to disable analytics via the `FLUTTER_SUPPRESS_ANALYTICS` env flag.
2019-06-11 14:46:00 -07:00
Jason Simmons 89d887f331
Strip debug symbols from ELF library snapshots (#34250)
AOT compiled code is now packaged as an ELF library for Android targets.
By default gen_snapshot's output contains debug symbols.  The symbols could
be stripped as a separate step, but that requires NDK tools that the user
may not have available.

This change passes a gen_snapshot flag that omits the symbols, and it filters
out a warning printed when that flag is used.
2019-06-11 13:34:24 -07:00
Ben Konyi e59d9a815d
Reland "Added --dart-flags option to flutter run (#33924)" (#34181)
Reland "Added --dart-flags option to flutter run (#33924)"

This reverts commit 587687eedf.
2019-06-11 11:37:47 -07:00
Jonah Williams ca14af6b92
Compatibility pass on flutter/rendering tests for JavaScript compilation. (5) (#33355) 2019-06-10 17:29:46 -07:00
Todd Volkert 1b3fc53595
Consider all non-interactive terminals to be bots (#34179) 2019-06-10 16:32:08 -07:00
Jonah Williams f530b809b6
Reland: More verification on flutter build web, add tests and cleanup (#34173) 2019-06-10 15:37:23 -07:00
Jenn Magder c8bf7abeee
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#34167)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-10 14:30:28 -07:00
Emmanuel Garcia 8627ff433b
Allow multi-abi shared libraries in APKs and App bundles (#34123)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
* `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-10 13:16:09 -07:00
Jonah Williams 71bfe3be9f
Revert "More verification on flutter build web, add tests and cleanup (#34090)" (#34166) 2019-06-10 12:01:14 -07:00
Jonah Williams 354ce1aa5a
More verification on flutter build web, add tests and cleanup (#34090) 2019-06-10 11:27:25 -07:00
Jonah Williams 392e825b24
Use product define for flutter web and remove extra asset server (#34159) 2019-06-10 09:54:02 -07:00
Alexander Aprelev d91797807e
Report async callback errors that currently go unreported. (#34081)
* Report async callback errors that currently go unreported.
* Add a test
2019-06-10 09:52:22 -07:00
Jonah Williams 7f7c00a4e9
Enable web foundation tests (#34032) 2019-06-09 11:03:46 -07:00
Jonah Williams f8f7b89976
Revert "Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)" (#34121) 2019-06-08 18:43:25 -07:00
Emmanuel Garcia 966b15b4a4
Generate ELF shared libraries and allow multi-abi libs in APKs and App bundles (#33696)
* Gradle generates ELF shared libraries instead of AOT snapshots.
* `flutter build apk/appbundle` supports multiple `--target-platform` and defaults to `android-arm` and `android-arm64`.
*  `flutter build apk` now has a flag called `--split-per-abi`.
2019-06-08 18:02:32 -07:00
Jonah Williams 587687eedf
Revert "Added --dart-flags option to flutter run (#33924)" (#34092) 2019-06-07 19:33:14 -07:00
Ben Konyi 67a529b895
Added --dart-flags option to flutter run (#33924) 2019-06-07 18:53:42 -07:00
Jonah Williams 8896f48c0f
make running on web spooky (#34084) 2019-06-07 18:17:04 -07:00
Jonah Williams 317e4cb013
don't warn on CHROME_EXECUTABLE missing if we've already located it. (#34079) 2019-06-07 18:16:54 -07:00
Josh Burton 9223a44b8a Adds the androidX flag to a modules pubspec.yaml template so it is se… (#34066)
This is a small follow up to the previous AndroidX PR: https://github.com/flutter/flutter/pull/31028

This fixes an issue mentioned [here](https://github.com/flutter/flutter/issues/28805) where the androidX flag for a module is not set when creating a new project:

`flutter create --androidx -t module my_flutter`
2019-06-07 16:09:21 -07:00
Christopher Fujino 10d8758b2f
add analytics fields for attached device os version & run mode (#34074)
Adds two new custom analytics dimensions: run_target_os_version and run_target_mode_name that are sent with each invocation of flutter run and show up in Google Analytics as "screens".
2019-06-07 16:03:53 -07:00
Zachary Anderson b847ba5a63
[flutter_tool] Send build timing to analytics (#34049) 2019-06-07 13:50:45 -07:00
Jonah Williams bd413bff1b
Add flutter create for the web (#34018) 2019-06-07 13:15:38 -07:00
Jonah Williams ef5fc1ae65
limit open files on macOS when copying assets (#34050) 2019-06-07 12:59:33 -07:00
Danny Tuppeny d2e6ab69a2
Increase daemon protocol version for getSupportedPlatforms (#33980) 2019-06-07 07:48:27 +01:00
Jonah Williams c91b657116
Codegen an entrypoint for flutter web applications (#33956) 2019-06-06 21:05:55 -07:00
stuartmorgan 17d6f6a072
Make plugins Swift-first on macOS (#33997)
Instead of sharing the iOS codepath that uses an ObjC generated plugin
registrant and expecting plugins to have an ObjC interface layer, switch
to generating a Swift registrant and expecting plugins to have a Swift
interface.

This means plugins on macOS that use Swift won't need an ObjC wrapper,
and plugins that use ObjC will need a Swift wrapper (inverting the
structure relative to iOS).
2019-06-06 15:49:24 -07:00
stuartmorgan fb8df82c06
Add 'doctor' support for Windows (#33872)
Moves the logic for finding vcvars64.bat to a new VisualStudio class
that encapsulates finding, and providing information about, VisualStudio
installations. Adds a validator for it, and runs it for Windows
workflows in doctor.
2019-06-06 14:02:27 -07:00
stuartmorgan 9751f3e537
Add use_frameworks to macOS Podfile template (#33987)
This wasn't included originally since it didn't seem to be necessary for
macOS in testing, but not having it breaks Swift plugins. This matches
the iOS Swift Podfile template.
2019-06-06 12:43:37 -07:00
Alexander Aprelev 30dbc4c767
Whitelist adb.exe heap corruption exit code. (#33951)
* Whitelist adb.exe heap corruption exit code.

In android platform tools 29.0.0 adb.exe shell seems to be exiting with heap corruption exit code, otherwise producing results as expected. This PR whitelists this exit code on Windows.

Fixes https://github.com/flutter/flutter/issues/33938.

* Fix condition

* Fix 'shell am start' command

* Fix stop command

* Refactor into runAdbMostlyChecked(Sync/Async)

* runAdbMostlyChecked -> runAdbChecked
2019-06-06 12:01:03 -07:00
Zachary Anderson 5555725fe3
[flutter_tool] Fix 'q' for Fuchsia profile/debug mode (#33846) 2019-06-06 11:16:19 -07:00
Zachary Anderson 5180201fe1
[flutter_tool] Track APK sha calculation time (#33923) 2019-06-05 15:28:19 -07:00
Jonah Williams b3382b9907
Reland support flutter test on platform chrome (#33859) 2019-06-05 15:27:49 -07:00
Jonah Williams 7548614350
Prevent windows web doctor from launching chrome (#33874) 2019-06-05 15:16:50 -07:00
Jonah Williams 50ea6f32d3
add benchmarks to track web size (#33892) 2019-06-05 12:40:21 -07:00
Jenn Magder 035e3d37d7
Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)" (#33882)
This reverts commit d053fe5cb3.
2019-06-04 15:35:35 -07:00
Kaushik Iska 92bfc99132
Added a benchmark for ImageCache (#33814)
* Add an image cache benchmark for a monochrome image
2019-06-04 12:32:52 -07:00
Jenn Magder d053fe5cb3
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33852)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-04 12:17:57 -07:00
Greg Spencer 387e2b0602
Add actions and keyboard shortcut map support (#33298)
This implements the keyboard shortcut handling and action invocation in order to provide a place in the infrastructure for keyboard events to trigger actions. This will allow binding of key events to actions like "move the focus to the next widget" and "activate button".
2019-06-04 11:30:24 -07:00
Jonah Williams 83986acbdb
Add a real-er web restart, doctor, workflow (#33786) 2019-06-03 23:19:42 -07:00
Jenn Magder 9734f4ed43 Revert "Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)"
This reverts commit ef792fc30d.
2019-06-03 17:19:53 -07:00
Jenn Magder ef792fc30d
Disable CocoaPods input and output paths in Xcode build phase and adopt new Xcode build system (#33684)
Updates the Podfile template to use the CocoaPod disable_input_output_paths installation option which prevents the [CP] Embed Pods Frameworks build phase from outputting the Flutter.framework files.
2019-06-03 16:11:33 -07:00
Todd Volkert 52fc807dd2
Remove references to HttpClientResponseCompressionState (#33792)
https://github.com/flutter/flutter/issues/33791
2019-06-03 14:53:43 -07:00
Todd Volkert b835b45a3c
Revert "Add capability to flutter test --platform=chrome" (#33800)
This reverts https://github.com/flutter/flutter/pull/33525
2019-06-03 14:53:01 -07:00
Dan Field 639c9935ae
wire in fuchsiaApp (#33781) 2019-06-03 14:31:56 -07:00
Zachary Anderson 590dbbd924
[flutter_tool] Log an Android X related failure to analytics (#33782) 2019-06-03 13:16:44 -07:00
Kate Lovett 89d4267299
Removing old golden checkout for integration test (#33676)
* Removing old golden checkout for integration test

* Removed unused import
2019-06-03 09:59:59 -07:00
Chris Bracken 264381a670
Default optional bool param to false (#33704)
In runTests, we previously now default the optional boolean `web`
parameter to false to ensure (or at least improve the odds) that the
conditional on line 70 evaluates to true or false.
2019-06-01 01:42:34 -07:00
Chris Bracken 98ea501995
Revert "Add real-er restart for web using webkit inspection protocol (#33629)" (#33703)
Revert "fix devicelab manfiest (#33698)"

This reverts commit 5a6a00dc54.
This reverts commit 0d79f0fc79.
2019-05-31 21:53:30 -07:00
Chris Bracken 2467c528f5
Roll engine 69ebe5fb28fc..a4b7d1c2895d (3 commits) (#33697)
69ebe5fb28..68a3ca46b4

git log 69ebe5fb28fca271b23010d43d4dc7f6e5286c4f..a4b7d1c2895d82228705a021cdb7fdb2f71ac2a5 --no-merges --oneline
4c6253cdd Copy the macOS podspec during builds (#9158)
68a3ca46b Roll src/third_party/dart 445a23a9bc..0e6b74543c (29 commits) (#9159)
1d1cff1fa Roll src/third_party/skia 3cd435eecf5e..09f5aedf2cc8 (3 commits) (#9160)

The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.
2019-05-31 21:17:43 -07:00
Josh Burton d0e45a2369 Adds support for generating projects that use AndroidX support libraries (#31028) 2019-05-31 18:33:02 -07:00
Jonah Williams 5a6a00dc54
Add real-er restart for web using webkit inspection protocol (#33629) 2019-05-31 17:37:01 -07:00
Jonah Williams 4db845fb6a
Add capability to flutter test --platform=chrome (#33525) 2019-05-31 15:55:51 -07:00
stuartmorgan 3ebebebb8d
Implement plugin tooling support for macOS (#33636)
Enables the CocoaPods-based plugin workflow for macOS. This allows a
macOS project to automatically fetch and add native plugin
implementations via CocoaPods for anything in pubspec.yaml, as is done
on iOS.
2019-05-31 13:19:44 -07:00
Jonah Williams 27876e09be
Revert "Devfs cleanup and testing (#33374)" (#33673)
This reverts commit 445505d6f2.
2019-05-31 13:17:12 -07:00
Jason Simmons b7bd5768c6
Change screenshot observatory port flag to a URI that can include the authentication code (#33666)
Fixes https://github.com/flutter/flutter/issues/32750
2019-05-31 13:15:49 -07:00
Jonah Williams 445505d6f2
Devfs cleanup and testing (#33374) 2019-05-30 16:13:46 -07:00
Jason Simmons e810512b32
Use Dart's new direct ELF generator to package AOT blobs as shared libraries in Android APKs (#33611)
This is a replacement for the old implementation of --build-shared-library
that emits an AOT assembly snapshot and feeds it to the Android NDK toolchain.
2019-05-30 16:07:22 -07:00
stuartmorgan 932200caea
Restructure macOS project files (#33608)
Rather than macos/Flutter containing a mixture of files that should and
shouldn't be checked in, create clear locations for:
- Files that are "owned" by Flutter, but should be checked in
  (Flutter/). This will contain files like the top-level Flutter
  xcconfigs, generated plugin registrants, etc.
- Files that are generated by Flutter on the fly, and should not be
  checked in (Flutter/ephemeral/). This will contain Flutter SDK caches,
  the generated xcconfig, etc.

Also adds Flutter-owned Debug and Release xcconfig variants, in
preparation for PodSpec tooling.
2019-05-30 13:43:31 -07:00
stuartmorgan 5f6f70e677
Pass local engine variables to Windows build (#33540)
The props file used in the Windows build didn't include the local engine
build flags when applicable.
2019-05-30 12:45:33 -07:00
Jonah Williams f38ee15286
add daemon command to enumerate supported platforms (#33472) 2019-05-30 10:14:23 -07:00
Jonah Williams 7263c127ed
Add local overrides to testbed and provide more defaults (#33264) 2019-05-29 22:49:53 -07:00
Jonah Williams da600bacfe
Reland - Wire up hot restart and incremental rebuilds for web (#33533) 2019-05-29 22:46:28 -07:00
Emmanuel Garcia 3bbdf017c4
Add to app measurement (#33458) 2019-05-29 20:56:28 -07:00
Jason Simmons 311cde98a6
Reland "Clean up some flutter_tools tests and roll dependencies" (#33225)
This relands flutter/flutter#33163 with a fix to the integration_ui test.
2019-05-29 19:04:35 -07:00
Zachary Anderson b84ac50dfe
[flutter_tool] Misc. fixes for Fuchsia (#33466) 2019-05-29 15:37:07 -07:00
stuartmorgan 79ae04d4ed
Build the solution on Windows (#33528)
Switch from building Runner.vcxproj to Runner.sln on Windows, to allow
for multiple-project builds (e.g., separate plugin projects).
2019-05-29 13:17:23 -07:00
Jonah Williams 925f5f1c53
Revert "Wire up hot restart and incremental rebuilds for web (#33197)" (#33529)
This reverts commit 52ae99682e.
2019-05-29 12:09:01 -07:00
Zachary Anderson 8139a368ea
[flutter_tool] Use product runner in Fuchsia release build (#33282) 2019-05-29 10:08:58 -07:00
Jonah Williams 52ae99682e
Wire up hot restart and incremental rebuilds for web (#33197) 2019-05-29 09:49:16 -07:00
stuartmorgan aecf053ee0
Use vswhere to find Visual Studio (#33448)
Rather than hard-coding a set of locations to check, use vswhere (which
is installed by VS 2017 and later), and construct the vcvars64.bat path
relative to that. This will allow Windows builds to work without special
configuration for people who have VS installed at a custom path.

Also adds error logging with different messages for each failure point,
so that rather than the not-very-informative 'failed to find
vcvars64.bat' message, the failure will provide feedback about what to
do.

This is an interim solution; later this will be replaced by a
VisualStudio class with associated validator to match the structure of
the other toolchains.

Fixes #33249
2019-05-29 09:17:17 -07:00
stuartmorgan e1a784ae3f
Wrap Windows build invocation in a batch script (#33443)
Invoking msbuild with runInShell makes handling path escaping more
error-prone, and substantially increases the chances of running into
maximum path limits. This replaces the direct call with a .bat wrapper
that calls vsvars64.bat then msbuild, and uses relative paths within the
script to keep command lengths short.

Fixes https://github.com/flutter/flutter/issues/32792
2019-05-28 21:53:03 -07:00
Jonah Williams c56b455180
ensure unpack declares required artifacts (#33454) 2019-05-28 17:35:05 -07:00
Jonah Williams d729e70e0c
correctly pin build_daemon (#33463) 2019-05-28 15:28:24 -07:00
Jason Simmons f9e28e7df7
Do not return null from IosProject.isSwift (#33450) 2019-05-28 14:27:38 -07:00
Jonah Williams 8e3e0a89f4
Revert "Instrument add to app flows (#33297)" (#33449)
This reverts commit faec4ca361.
2019-05-28 12:52:58 -07:00
Emmanuel Garcia faec4ca361
Instrument add to app flows (#33297) 2019-05-28 11:11:20 -07:00
Luiz Dubas 841e1cf0af Add mustRunAfter on mergeAssets task to force task ordering (#33272)
Co-authored-by: Miguel Lemos <miguelslemos@gmail.com>
2019-05-28 10:01:19 -07:00
Jonah Williams 75d75bfaec
fix relative paths and snapshot logic in tool (#33283) 2019-05-25 19:47:17 -07:00
Jonah Williams 582c5587cd
make sure we build test targets too (#33284) 2019-05-25 19:46:44 -07:00
stuartmorgan 81c38b22cb
Implement macOS support in flutter doctor (#33277)
Splits Xcode validation out of the iOS validator and into a stand-alone
validator, and groups the CocoaPods validator with that top-level
validator instead of the iOS validator. iOS now validates only the
iOS-specific tools (e.g., ideviceinstaller).

Reorganizes many of the associated clases so that those that are used by
both macOS and iOS live in macos/ rather than ios/. Moves some
validators to their own files as part of the restructuring.

This is the macOS portion of #31368
2019-05-24 22:51:02 -04:00
Chris Bracken 156b4220b4
Americanise spellings (#33323)
Updates documentation and non-public API to use American spellings for
consistency with the rest of the codebase.

No changes to behaviour... other than how it's spelt.
2019-05-24 19:13:02 -07:00
Chris Bracken 4d9923201b
Correct typos (#33322)
Corects a bnuch of typeos throuhgout teh Fluter codebsae.

Made use of the `misspell` tool:
https://github.com/client9/misspell
2019-05-24 19:12:45 -07:00
stuartmorgan 0f6e4e6190
Add macosPrefix to the pubspec schema for plugins (#33287)
Adds a new macosPrefix, which serves the same purpose as iosPrefix but
for macOS plugins.

It is not yet used by the tooling, but this allows for plugins to start
to be written using it in preparation for tooling support for plugins.

Part of #32718
2019-05-24 15:39:48 -04:00
Zachary Anderson f5827f0f07
[flutter_tool] Improve Fuchsia 'run' tests (#33263) 2019-05-24 07:48:41 -07:00
Jonah Williams 7ec9a6fa72
no longer necessary with ddc fix (#33271) 2019-05-23 23:49:41 -07:00
Emmanuel Garcia 12a0e475e2
Make paths absolute in settings.gradle (#33228) 2019-05-23 23:32:11 -07:00
Jonah Williams 1bd85dd6c2
disable flaky devfs test (#33285) 2019-05-23 17:05:29 -07:00
Todd Volkert c6129b4e85
Add cast to prepare for package:file update (#33268) 2019-05-23 12:33:24 -07:00
Devon Carew 0e8720e926
use the --disable-server-feature-completion cli arg to the analysis server (#33232) 2019-05-23 07:48:23 -07:00
stuartmorgan ef9866bf27
Build macOS via workspace, rather than project (#33198)
This is necesasry to integrate CocoaPods, since CocoaPods operates
primarily on the workspace rather than the project.
2019-05-22 19:58:29 -04:00
Jonah Williams a30ffb60ad
Revert "Clean up some flutter_tools tests and roll dependencies (#33163)" (#33206) 2019-05-22 12:20:02 -07:00
Emmanuel Garcia dc28ba8919
Remove colon from Gradle task name since it's deprecated (#33191) 2019-05-22 09:58:08 -07:00
Ian Hickson e5f81e1048
Clean up some flutter_tools tests and roll dependencies (#33163)
* Clean up some flutter_tools tests

* Remove arbitrary retry that happens even for fundamental errors, and generally clean up _DevFSHttpWriter.

* Update dependencies (requires fixes; see next commit)

* Fixes for new dependencies.
2019-05-22 09:31:37 -07:00
Zachary Anderson 2eee3f3283
[flutter_tool] Don't look for Fuchsia artifacts on Windows (#33146) 2019-05-21 16:12:27 -07:00
Christopher Fujino 041755faad
don't send crash reports if on a user branch (#33078)
* don't send crash reports if on a user branch.
* add test to test/crash_reporting_test.dart
2019-05-21 11:58:41 -07:00
Zachary Anderson 94ce956f0a
[flutter_tool] Adds support for 'run' for Fuchsia devices (#32849) 2019-05-21 08:49:43 -07:00
Michael Thomsen 7ae3caf309
Rename flutter packages to flutter pub (#33041) 2019-05-21 16:38:58 +02:00
Emmanuel Garcia 90f38907d7
Support ARM 32 and 64 bits in app bundles 2019-05-20 13:09:20 -07:00
Sam Rawlins c2a93bd545 Fix missing return statements on function literals (#33058) 2019-05-20 12:51:57 -07:00
Devon Carew 50a9c31f5e
reduce retry attempts for flutter creatte --list-samples (#32833) 2019-05-16 18:20:30 -07:00
Alexandre Ardhuin 4fa32df141
use null aware operators (#32711)
* use null aware operators

* rollback changes about null-aware operator

* disable lint prefer_is_not_empty
2019-05-16 22:25:51 +02:00
stuartmorgan f8b07e230a
Change the way macOS app names are located (#32706)
Instead of requiring a name_output.sh, expect a file called
.app_filename in the macos/Flutter directory containing just the name of
the application. The expectation is that the Xcode build will create
that file with a script.

This is not intended as a long-term solution, but it's a substantial
improvement over name_output.sh:
- name_output.sh required constructing the full build output path; this
  made sense when it was coupled with build.sh, but now that the
  decision for where build output goes lives in flutter_tool, that logic
  should as well.
- Changing the name of the application required also updating
  name_output.sh, which is error-prone. With .app_filename, it can be
  created using $PRODUCT_NAME, which means that the usual way of setting
  the application name will automatically update this flow as well.

Part of #30706
2019-05-16 11:00:05 -04:00
stuartmorgan 4e1bfca847
Streamline Windows build process (#32783)
Allows Windows builds to use the same structure and script as Linux
builds now use, calling into tool_backend to manage copying resources to
the project directory and building the bundle.

Also switches from expecting name_update.bat to expecting flutter\exe_filename
to be written during the build, as with the recent changes to the macOS build, to
reduce the amount of boilerplate needed in a windows\ project directory.
2019-05-15 19:32:47 -04:00
Greg Spencer bb3c660522
Implements focus handling and hover for Material buttons. (#31438)
This implements focus and hover handling for Material buttons. It inserts Focus widgets into the tree in order to allow buttons to be focusable via keyboard traversal (a.k.a. TAB traversal), and Listener widgets into the InkWell to allow the detection of hover states for widgets.

Addresses #11344, #1608, and #13264.
2019-05-14 20:48:29 -07:00
stuartmorgan 6722fb448c
Teach flutter msbuild for Windows (#32335)
Eliminates the need for a build.bat in the Windows build workflow, adding
preliminary support for building using msbuild. The handling of
vcvars64.bat may be refined in the future, but this serves as a starting point.
2019-05-14 19:24:40 -04:00
Zachary Anderson 8841afeb1f
[flutter_tool] Build a Fuchsia package (#32519) 2019-05-14 10:59:23 -07:00
Kate Lovett 054d9bb2f1
Updating dart.dev related links (#32641)
* Updating dart.dev related links

* Update packages/flutter_tools/lib/src/base/context.dart
2019-05-14 10:35:00 -07:00
Jason Simmons f5cf209a66
Remove appbundle build steps that are required for APKs but not AABs (#32515)
Some parts of the appbundle build process were based on the logic for building
APK packages.  However, these steps (copying to a directory shared by all
build variants, and calculating a SHA) are not necessary for an appbundle.
2019-05-13 15:36:47 -07:00
Danny Tuppeny b76a1e8312
Comment out .vscode/ in gitignore for templates (#32404) 2019-05-13 09:06:30 +01:00
stuartmorgan 710a0cb9a5
Adjust macOS build flow (#32538)
- Removes SYMROOT from the Generated.xcconfig. Having it causes current
  versions of Xcode to switch the project's build output to "Legacy",
  which causes anything not overridden to use a project-relative build
  directory instead of a shared directory in DerivedData, breaking
  anything with subprojects that it depends on.
  This means that `flutter run` and builds from Xcode will use
  completely different build directories, but that each should be
  internally consistent.
- Moves the FlutterMacOS.framework to $SRCROOT/Flutter. This is
  consistent with the approach we're moving to for all desktop
  platforms, and avoids issues finding it now that SYMROOT doesn't match
  for the two different build modes.

Fixes #32494
2019-05-11 21:12:42 -04:00
Jonah Williams 8b0243f413
Teach Linux to use local engine (#31631) 2019-05-11 00:08:29 -07:00
Kate Lovett 829bdeb426
Fixing accidental merge from WIP branch. (#32520)
Revert "Merge branch 'master' into master"

This reverts commit e3a03c04c4, reversing
changes made to 6474982649.
2019-05-10 15:53:41 -07:00
Kate Lovett e3a03c04c4
Merge branch 'master' into master 2019-05-10 15:16:40 -07:00
Sam Rawlins 9c77e8e8a0 Fix missing return statements on function literals (#31825) 2019-05-09 12:43:51 -07:00
Jonah Williams 4d3b51e284
Allow flutter web to be compiled with flutter (#32360) 2019-05-09 08:57:26 -07:00
stuartmorgan e8c5c98132
Fix assignment in macos_build_flutter_assets.sh (#32406)
Bash assignment doesn't have spaces around '='.

Fixes #32341
2019-05-09 10:16:30 -04:00
Matthew Lloyd 969c6ef1dc Add reference to Runner-Bridging-Header.h to iOS template's profile configuration (#32266) 2019-05-07 23:59:01 -07:00
Jonah Williams eb996afaa8
make hotfix use a plus instead of minus (#32060) 2019-05-07 10:11:00 -07:00
Emmanuel Garcia cc7ec6d624
Bump multicast_dns version 2019-05-06 11:14:41 -07:00
Zachary Anderson 61236c873e
[flutter_tool] In 'attach' use platform dill and patched sdk dir from the Fuchsia SDK (#32071) 2019-05-06 09:26:58 -07:00
Jonah Williams 99e7b0a0ff
dont NPE with empty pubspec (#32072) 2019-05-06 08:01:45 -07:00
Antti Ahti 526113db32 Fix tab indentation (#31798)
Code indentation was done with tabs in some places. Replaced with spaces.
2019-05-06 14:09:54 +02:00
Jonah Williams 6a250c8d65
update packages and unpin build (#32066) 2019-05-03 16:54:35 -07:00
Zachary Anderson 3d276cc6a8
[flutter_tool] Pull the right Fuchsia SDK for the platform (#31998) 2019-05-02 15:26:59 -07:00
Kate Lovett 4676c66b9a
Merge branch 'gold' into master 2019-05-02 15:01:35 -07:00
Jonah Williams 1d91bd2583
Revert "Start abstracting platform logic builds behind a shared interface (#31889)" (#32003)
This reverts commit e5459942c8.
2019-05-02 14:14:46 -07:00
Jonah Williams e5459942c8
Start abstracting platform logic builds behind a shared interface (#31889) 2019-05-02 13:31:00 -07:00
Jonas Termansen 8b9eb3e2b2 Report CompileTime metric in flutter build aot --report-timings. (#31895)
This is the correct metric to report for compilation time benchmarks rather
than RunTime. Rename the 'gen_snapshot' value to merely 'snapshot' for
backwards compatibility and overall simplicity.

This change simplifies Dart's benchmarking of Flutter by making it easier to
adopt --report-timings (made for Dart to use), which makes the benchmarks
much more robust.
2019-05-02 15:22:43 +02:00
Jonah Williams 83aa065f6a
Add commands to swap dart imports for local development (#31925) 2019-05-02 01:14:15 -07:00
Dan Field df669ab1ea
Avoid NPE for flutter attach mDNS (#31926) 2019-05-01 13:41:00 -07:00
Zachary Anderson 6a69f8c98c
[fuchsia] Add support for the 'device' command using the SDK (#31910) 2019-05-01 13:24:09 -07:00
Jacob Richman 63aa5b3647
Refactor core uses of FlutterError. (#30983)
Make FlutterError objects more structured so they can be displayed better in debugging tools such as Dart DevTools.
2019-05-01 11:20:12 -07:00
Todd Volkert 3d09f939ba
Make Gradle error message more specific (#31850) 2019-05-01 10:28:57 -07:00
Victor Maraccini 74c6237abc Fix bundle id on iOS launch using flutter run (#31039) 2019-05-01 10:21:43 -07:00
Emmanuel Garcia 3e65bb060f
Fix #31764: Show appropriate error message when fonts pubspec.yaml isn't iterable
Show appropriate error message when fonts isn't iterable
2019-05-01 09:49:39 -07:00
Dan Field a8504405a8
Revert "Handle notification errors (#31868)" (#31886)
This reverts commit c0d5fd23ab.
2019-04-30 23:27:30 -07:00
Jonah Williams c82fc132a8
add stderr to log processor for desktop (#31874) 2019-04-30 19:18:15 -07:00
chunhtai e2dfd73c2e
only build asset when there is asset declared in pubspec (#31804) 2019-04-30 16:03:47 -07:00
Dan Field c0d5fd23ab
Handle notification errors (#31868) 2019-04-30 15:42:22 -07:00
Jonah Williams 5e77d6508e
Initial sketch of tools testbed (#31765) 2019-04-30 15:42:16 -07:00
Jonah Williams 48936d9a95
Remove deprecated commands (#31759) 2019-04-30 14:43:03 -07:00
Keerti Parthasarathy eae67f05df
Make const available for classes that override AssetBundle (#31807) 2019-04-30 09:10:04 -07:00
Dan Field eac2104bc6
remove assert for Flutter Driver (#31815) 2019-04-29 17:03:25 -07:00
Jonah Williams 37e25238a8
Attempt to reduce usage of runtimeType (#31696) 2019-04-29 16:44:50 -07:00
Dan Field fe9512fa72
Re-enable const (#31600)
* Re-enable const
2019-04-29 16:02:42 -07:00
Jonah Williams c1c15dd702
Revert "update packages and unpin build (#31736)" (#31795) 2019-04-29 09:56:55 -07:00
Jonah Williams 41b18422df
update packages and unpin build (#31736) 2019-04-29 09:10:01 -07:00
Jonah Williams 4ff467191b
make FlutterProject synchronous (#31757) 2019-04-29 08:21:32 -07:00
Antti Ahti bf8262d85b Remove trailing whitespace from README template (#31762) 2019-04-29 13:04:55 +02:00
Danny Tuppeny fdcc8aafa7
Allow adb stdout to contain the port number without failing (#31491)
* Allow adb stdout to contain the port number without failing

* Add tests that port forwarder correctly responds to known ADB output
2019-04-26 21:03:25 +01:00
Jonah Williams 9d364043af
Refactor the test compiler into a separate library (#31642) 2019-04-26 12:33:41 -07:00
chunhtai d121df9987
fix 31511: Test performance has regressed (#31582) 2019-04-26 09:02:38 -07:00
Jonah Williams fdae7bb871
add check that xcode project configuration is not missing (#31621) 2019-04-25 15:51:25 -07:00
Jonah Williams 0acd3e6b04
refactor context to be implicit-downcast safe (#31622) 2019-04-25 15:51:08 -07:00
Jonah Williams 52415cb0a5
baby-steps to testing/refactoring flutter_platform (#31616) 2019-04-25 14:01:28 -07:00
Jonah Williams 6b191841f3
Allow filtering devices to only those supported by current project (#31446) 2019-04-25 12:25:12 -07:00
Dan Field 1db5d66932
Capture JSON RPC errors that presently get swallowed (#31584)
* Update packages
* Capture JSON RPC errors that presently get swallowed
2019-04-25 08:27:00 -07:00
Jonah Williams 482078387e
make sure we exit early if the Runner.xcodeproj file is missing (#31591) 2019-04-25 00:12:17 -07:00
Jonah Williams 9e51e13e91
add printError messages and tool exit to android device (#31400) 2019-04-24 19:30:39 -07:00
Kate Lovett 1fcd1b02de Changes for uploading baseline images. 2019-04-24 13:38:49 -07:00
Jonah Williams 37c73e77f1
Remove need for build/name scripts on Linux desktop (#31567) 2019-04-24 13:34:56 -07:00
Jonah Williams e4a1913e01
Support local engine and asset sync for macOS (#31515) 2019-04-23 17:20:22 -07:00
Jonah Williams 15ba39560a
replace no-op log reader with real implementation (#31526) 2019-04-23 17:19:47 -07:00
Jonah Williams 6a22f41239
add desktop artifacts to run/target_platform selectors (#31505) 2019-04-23 15:08:47 -07:00
Jonah Williams 661e0350fb
Disable all Dart fingerprinters (#31463) 2019-04-23 11:58:37 -07:00
Jonah Williams 15f271ef07
if there is no .ios or ios sub-project, don't attempt building for iOS (#31406) 2019-04-23 09:49:49 -07:00
Jonah Williams be73969657
Add more context to flutter create sample (#31434) 2019-04-22 22:22:46 -07:00
Jonah Williams abbb66ad79
Set SYMROOT as absolute in Generated.xcconfig for macOS (#31451) 2019-04-22 22:22:17 -07:00
Jonah Williams 096439b417
add ignorable track-widget-creation flag to build and remove --track-widget-creation from xcode backend aot build aot (#31399) 2019-04-22 16:21:17 -07:00
Jonah Williams a476a08e62
check if project exists before regenerating platform specific tooling (#31342) 2019-04-22 15:18:15 -07:00
Jonah Williams 7f959d8b78
Add Xcode build script for macOS target (#31329) 2019-04-22 13:51:00 -07:00
Stanislav Baranov e2a3c2ee45
Remove support for building dynamic patches on Android. (#31359) 2019-04-22 10:40:50 -07:00
Jonah Williams 18e294dbd7
throw toolExit instead of rethrowing on filesystem exceptions (#31404) 2019-04-22 09:56:14 -07:00
Danny Tuppeny 783d80d799
Add a note about events coming from the server (#31419) 2019-04-22 17:36:07 +01:00
Stanislav Baranov 08445c8a01
Stop precaching the artifacts for dynamic mode. (#31282) 2019-04-22 09:05:38 -07:00
Keerti Parthasarathy b593f5167b
Add track-widget-creation flag to attach command (#31262)
* Add track-widget-creation flag to attach command

* use the flag
2019-04-22 07:51:33 -07:00
Kate Lovett beebd5c4a7 Progress. 2019-04-19 15:00:13 -07:00
Kate Lovett 7e542fc334 Committing progress. 2019-04-19 14:33:49 -07:00
Ben Konyi 1459b1e91f
Fixed failing tests caused by introduction of authentication codes (#31315) 2019-04-19 11:45:53 -07:00
Christopher Fujino eaf058d81d
Add flutter attach documentation (#31279)
* add attach.md document
2019-04-19 08:50:30 -07:00
Ben Konyi 3764cb8515
Added support for authentication codes for the VM service. (#30857)
* Added support for authentication codes for the VM service.

Previously, a valid web socket connection would use the following URI:

`ws://127.0.0.1/ws`

Now, by default, the VM service requires a connection to be made with a
URI similar to the following:

`ws://127.0.0.1:8181/Ug_U0QVsqFs=/ws`

where `Ug_U0QVsqFs` is an authentication code generated and shared by
the
service.

This behavior can be disabled with the `--disable-service-auth-codes`
flag.
2019-04-18 21:01:50 -07:00
Devon Carew 086fd993c6
add daemon.log to the daemon spec (#31273)
* add daemon.log to the daemon spec

* mention use in flutter run --machine
2019-04-18 20:07:52 -07:00
stuartmorgan d9718aa4b9
Add desktop workflows to doctor (#31283)
The 'doctor' check to determine if any devices can be listed for the
device should consider desktop workflows as well.

This has no effect unless the environment variable to enable desktop
device listing is set.
2019-04-18 18:24:31 -07:00
Jonah Williams ac36e4423e
Add flutter run support for linux and windows (#31229) 2019-04-18 18:05:04 -07:00
Jonah Williams 65f45999a3
initial work on coverage generating script for tool (#29494) 2019-04-18 17:59:14 -07:00
Jonah Williams f5672b9316
add --force flag to precache (#31278) 2019-04-18 16:04:21 -07:00
chunhtai b275e11170
fix issue 12999: Make assets available during tests (#31207) 2019-04-18 15:31:47 -07:00
Jonah Williams e69a8a15b3
pass track widget creation flag through to build script (#31277) 2019-04-18 15:03:34 -07:00
Devon Carew d075d647c3
remove the unused hintMessage and hintId fields from the reload results (#31267) 2019-04-18 11:00:54 -07:00
Jonah Williams da92fc1109
Add run capability for macOS target (#31218) 2019-04-17 22:40:26 -07:00
Jonah Williams 3c8c630f01
Allow disabling all fingerprint caches via environment variable (#31171) 2019-04-17 17:27:50 -07:00