Commit Graph

719 Commits

Author SHA1 Message Date
Jonah Williams
ef15eac821 [flutter_tools] Remove context from Xcode and most of Xcodeproj (#48661) 2020-01-23 15:03:03 -08:00
Alexandre Ardhuin
3800bb7b10 fix missing spaces in adjacent strings (#49159) 2020-01-21 16:43:03 -08:00
Zachary Anderson
29490887e0
Reland: [flutter_tools] File system utilities (#48757)
* Reland: [flutter_tools] File system utilities

* Remove unused imports
2020-01-14 09:40:39 -08:00
Zachary Anderson
ef62092b9b
Revert "[flutter_tools] File system utilities (#48738)" (#48755)
This reverts commit 0349660622.
2020-01-13 14:30:37 -08:00
Zachary Anderson
0349660622
[flutter_tools] File system utilities (#48738) 2020-01-13 13:17:45 -08:00
Jonah Williams
749589d896
[flutter_tools] Remove context usage from status and clean up test cases (#48446) 2020-01-10 09:36:49 -08:00
Jonah Williams
f7b8d62cbc
[flutter_tool] Refactor Logger and Terminal to (mostly) no longer depend directly on context (#47269) 2020-01-08 12:35:12 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Jonah Williams
ee7a37f1d3
[flutter_tools] Ensure that global variables are easily identifiable (#47398) 2020-01-06 11:04:20 -08:00
Jenn Magder
85e9be36bf
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266)" (#47568)
This reverts commit 648a5d8a1e.
2019-12-20 17:45:16 -08:00
Jenn Magder
648a5d8a1e
Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#47266) 2019-12-19 14:18:10 -08:00
Jenn Magder
65ad8d805a
Revert "Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928)" (#47264)
This reverts commit e54e301d50.
2019-12-17 17:20:57 -08:00
Jenn Magder
e54e301d50 Check Xcode build setting FULL_PRODUCT_NAME for the name of the built app during flutter run (#46928) 2019-12-17 16:13:01 -08:00
Jenn Magder
dfa6eb31a0
Revert "flutter run FULL_PRODUCT_NAME (#46838)" (#46925) 2019-12-12 17:34:54 -08:00
Jenn Magder
7a7e2bb247 flutter run FULL_PRODUCT_NAME (#46838) 2019-12-12 17:03:01 -08:00
Jonah Williams
8ca55605c8
[flutter_tool] forward device-vmservice-port to iOS device launch arguments (#46822) 2019-12-12 13:55:42 -08:00
Amr Yousef
237c478683 Update iOS build signing error message (#45835) 2019-12-06 10:41:06 -08:00
Zachary Anderson
99684ce159 [flutter_tool] Make Device.dispose() abstract (#46006) 2019-12-05 08:48:00 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* 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
2019-11-27 15:04:02 -08:00
Jonah Williams
598f2ab0fb
Cleanups to resident runner and flutter device classes (#45673) 2019-11-27 13:11:04 -08:00
Danny Tuppeny
4741e9c3fe
Retry Xcode builds if they fail due to concurrent builds running (#45608)
* Retry Xcode builds if they fail due to concurrent builds running

Fixes #40576.

* Add tests for concurrent iOS launches

* Increase number of retries to account for the initial build being slow
2019-11-27 09:44:05 +00:00
Greg Spencer
a60bf8e23a
Spell check of Flutter docs (#45200)
No code changes, just comments: I spell-checked all the comments in the repo.
2019-11-22 08:43:55 -08:00
Alexandre Ardhuin
adc7351046
implicit-casts:false on flutter_tools/lib (#44447)
* implicit-casts:false on flutter_tools/lib

* address review comments

* use castStringKeyedMap

* introduce {bool,string,strings}Arg

* fix ci
2019-11-19 07:57:42 +01:00
Christopher Fujino
ff84b3e66d catch IOSDeviceNotFoundError in IOSDevice.startApp() (#45011) 2019-11-18 13:53:55 -08:00
Jonah Williams
e3cb2c3fcf
Reland: Allow specifying device-vmservice-port and host-vmservice-port (#44853) 2019-11-13 16:02:46 -08:00
Jonah Williams
985da83139
Revert "Allow specifying device-vmservice-port and host-vmservice-port (#44027)" (#44843)
This reverts commit c0af77bf87.
2019-11-13 14:35:07 -08:00
Jonah Williams
c0af77bf87
Allow specifying device-vmservice-port and host-vmservice-port (#44027) 2019-11-13 13:01:41 -08:00
xster
d2e87a5d2c
Build ios framework (#44065) 2019-11-06 14:54:15 -08:00
Jonah Williams
df0501c7d3
remove services code (#44052) 2019-11-04 09:08:57 -08:00
Jenn Magder
2e7d9130b2
Observe logging from VM service on iOS 13 (#43915) 2019-11-01 14:37:17 -07:00
Jonah Williams
79323f7c13
Ensure target platform is passed is always passed to assemble (#43862) 2019-10-30 19:40:19 -07:00
Jenn Magder
01dc19b93f
Pass environment variables through to xcodebuild (#43553) 2019-10-28 19:58:06 -07:00
knaeckeKami
ccfdf95c4a Use PRODUCT_BUNDLE_IDENTIFIER from buildSettings to find correct bundle id on iOS when using flavors (#42964) 2019-10-28 15:33:27 -07:00
liyuqian
31cb44825c
Add --cache-sksl flag to drive and run (#42353)
So we can test SkSL precompile using the command line tools.
See https://github.com/flutter/engine/pull/12412.
2019-10-15 14:28:55 -07:00
Ryan Macnak
b7773da37b
Pass build mode-specific bytecode generation options to frontend_server. (#42471)
Fixes various Flutter framework test failures when bytecode is enabled.
2019-10-14 15:26:14 -07:00
Christopher Fujino
ed482c3e09
Stop leaking iproxy processes (#42026) 2019-10-09 16:30:27 -07:00
Alexandre Ardhuin
890b939401
indent formal parameters correctly (#41644) 2019-10-04 11:00:18 +02:00
Alexandre Ardhuin
f0553ba58e
Missing trailing commas (#41473)
* add missing trailing commas

* add more missing trailing commas

* add more and more missing trailing commas
2019-09-30 18:48:23 +02:00
Zachary Anderson
feaaa5d738
[flutter_tool] Add analytics events for ios-mdns fallback success/failure (#41482) 2019-09-27 12:18:59 -07:00
Zachary Anderson
bb7e3f6045
[flutter_tools] Report iOS mDNS lookup failures to analytics (#41384) 2019-09-26 13:41:11 -07:00
Alexandre Ardhuin
89427d672d
add missing trailing commas in flutter_tools (#40968) 2019-09-24 08:06:09 +02:00
Jenn Magder
d95adf999c
Move build info checks from generating files to the xcode build (#40792) 2019-09-18 16:57:31 -07:00
Christopher Fujino
0b24a5a2ff
Implement mdns for flutter run (#40447) 2019-09-18 11:01:08 -07:00
Jenn Magder
9a68b0df3e
Warn when build number and version can't be parsed on iOS (#40611) 2019-09-17 17:07:41 -07:00
Alexandre Ardhuin
df4bf453ab
more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
Zachary Anderson
8a33d2446d
[flutter_tool] Remove the synchronous -showBuildSettings (#40435) 2019-09-16 07:51:50 -07:00
Zachary Anderson
e2340c641d
[flutter_tool] Use curly braces around single statment control structures (#40446) 2019-09-13 14:51:35 -07:00
stuartmorgan
72888c7f75
Harden macOS build use of Xcode project getInfo (#40375)
- Makes build_macos.dart handle the case where there is only one Xcode
  project in the macos/ directory, but it's not called Runner.xcodeproj
- Makes getInfo throw a tool exit when trying to get project info and it
  can't find a project, since that is a configuration error by the user
  rather than a tool bug.
2019-09-12 16:03:02 -07:00
Zachary Anderson
73c10e8ced
[flutter_tool] process.dart cleanup (#39899) 2019-09-11 18:20:42 -07:00
Christopher Fujino
f945079c65
remove fallback code for ios/usb artifacts (#39585) 2019-09-06 14:23:20 -07:00
stuartmorgan
3948e8759e
Allow specifying a project for Xcode getInfo (#39782)
Avoids unnecessarily breaking projects that have another .xcodeproj in
their macos/ directory, which worked until the addition of the getInfo
call.
2019-09-05 10:07:03 -07:00
Zachary Anderson
0f2af976a2
[flutter_tools] Add a timeout to another showBuildSettings command (#39579) 2019-09-05 09:50:46 -07:00
Zachary Anderson
b7c714e84c
[flutter_tool] Use a timeout for xcode showBuildSettings (#39280) 2019-08-28 10:03:53 -07:00
Jonah Williams
6f71ce26d6
Place terminalUi flag on terminal interface (#39214) 2019-08-27 14:20:51 -07:00
Jenn Magder
892d62f03a
Clean Xcode workspace during flutter clean (#38992) 2019-08-21 18:42:56 -07:00
Zachary Anderson
398ac1f6c8
[flutter_tool] Remove some async file io (#38654) 2019-08-20 13:15:08 -07:00
Jenn Magder
198c4f190a
Show process error when iOS install fails (#38712) 2019-08-20 10:29:49 -07:00
Todd Volkert
c22ce95e15
Change from using defaults to plutil for Plist parsing (#38662)
We were using the `defaults` command-line utility to parse
Plist files, but it was never supported by Apple, and it
appears that in an upcoming OS release, it will be less likely
to work:

> WARNING: The defaults command will be changed in an upcoming
> major release to only operate on preferences domains. General
> plist manipulation utilities will be folded into a different
> command-line program.

Fixes https://github.com/flutter/flutter/issues/37701
2019-08-16 17:10:07 -07:00
Andri Jasinski
267b858561 Disable xcode indexing in CI via COMPILER_INDEX_STORE_ENABLE=NO argument (#37378) 2019-08-16 08:29:45 -07:00
Todd Volkert
1d8deb1bb8
Handle case of a connected unpaired iOS device (#38629)
Fixes https://github.com/flutter/flutter/issues/36789
Fixes https://github.com/flutter/flutter/issues/37000

https://github.com/flutter/flutter/issues/36524
https://github.com/flutter/flutter/issues/24600
2019-08-15 17:59:37 -07:00
Jonah Williams
1df165ea13
Rename iOS arch for macOS release mode (macOS release mode 2 of 3) (#38645) 2019-08-15 17:38:35 -07:00
Zachary Anderson
a40ab895cf
[flutter_tool] Observatory connection error handling cleanup (#38353) 2019-08-15 12:13:03 -07:00
Jonah Williams
ca5411e3aa
Fix type error hidden by implicit downcasts (#38102) 2019-08-12 15:21:28 -07:00
Jonah Williams
2185825338
Catch FormatException caused by bad simctl output (#37958) 2019-08-10 00:57:23 -07:00
Christopher Fujino
39a04dcd7f
Support macOS Catalina-style signing certificate names (#37733) 2019-08-07 09:18:11 -07:00
sjindel-google
0564f0a812
Tests for Engine ensuring debug-mode apps are attached on iOS. (#37043)
This PR contains the tests for flutter/engine#10186.
2019-08-06 20:08:09 +02:00
Jonah Williams
2ab469952b
Flutter assemble for macos take 2! (#36987) 2019-07-31 16:19:22 -07:00
Jenn Magder
dd1fb3bcb7
Build number (part after +) is documented as optional, use entire app version if not present (#37036) 2019-07-31 16:18:09 -07:00
Jenn Magder
bd47a31e32
Vend Flutter module App.framework as a local CocoaPod pod to be installed by a host app (#36793) 2019-07-30 09:58:39 -07:00
Zachary Anderson
ef146f63bb
[flutter_tool] Clean up usage events and custom dimensions (#36785) 2019-07-29 07:24:02 -07:00
Christopher Fujino
9bd2e4000b
Throw exception if instantiating IOSDevice on non-mac os platform (#36288) 2019-07-19 12:20:45 -07:00
Dan Field
c953cd19d2
Enable bitcode compilation for AOT (#36471) 2019-07-18 22:42:47 -07:00
Emmanuel Garcia
5a34e7981e
Catch exceptions thrown by runChecked* when possible (#36109) 2019-07-18 10:45:37 -07:00
Christopher Fujino
42a9c031e5
Fix invocations of ideviceinstaller not passing DYLD_LIBRARY_PATH (#36327)
* add failing tests

* fix tests

* be more specific with try-catch

* add further mocking to get tests to pass again

* fix analyzer failure
2019-07-17 13:44:49 -07:00
Todd Volkert
aa9a115181
Move reporting files to reporting/ (#36017)
Slight cleanup of file locations in flutter_tools
to make it easier to see which files are responsible
for data reporting.
2019-07-16 13:21:06 -07:00
Christopher Fujino
540c747656
Revert "Keep LLDB connection to iOS device alive while running from CLI. (#36194)" (#36293)
This reverts commit 5501a1c1e7.
2019-07-16 12:34:49 -07:00
sjindel-google
5501a1c1e7
Keep LLDB connection to iOS device alive while running from CLI. (#36194)
## Description

Instead of detaching from the spawned App process on the device immediately, keep the LLDB client connection open (in autopilot mode) until the App quits or the server connection is lost.

This replicates the behavior of Xcode, which also keeps a debugger attached to the App after launching it.

## Tests

This change will be covered by all running benchmarks (which are launched via "flutter run"/"flutter drive"), and probably be covered by all tests as well.

I also tested the workflow locally -- including cases where the App or Flutter CLI is terminated first.

## Breaking Change

I don't believe this should introduce any breaking changes. The LLDB client automatically exits when the app dies or the device is disconnected, so there shouldn't even be any user-visible changes to the behavior of the tool (besides the output of "-v").
2019-07-16 19:15:15 +02:00
Christopher Fujino
102ab1e6d9
Reland bundle ios deps (#36093)
This updates the flutter tool cache to download binary files for ideviceinstaller, ios-deploy, libimobiledevice, and dynamically linked dependencies from Flutter's GCP bucket.
2019-07-15 09:22:29 -07:00
Alexandre Ardhuin
758009ba70
more ui-as-code (#35393)
* more ui-as-code

* address review comments
2019-07-02 21:11:56 +02: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
Danny Tuppeny
8dbfc82bc7
Tweak the display name of emulators (#34785) 2019-06-24 11:41:02 +01:00
Danny Tuppeny
d9983e1be7
Add category/platformType to emulators (#34721) 2019-06-19 17:10:39 +01:00
Jonah Williams
5c52498d4e
Add device category, ephemeral, platformType for daemon (#33990) 2019-06-18 15:23:14 -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
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
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
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
Zachary Anderson
b847ba5a63
[flutter_tool] Send build timing to analytics (#34049) 2019-06-07 13:50:45 -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
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
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
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
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
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