Commit Graph

651 Commits

Author SHA1 Message Date
Greg Spencer
c2f5bf99f1 Add macos project auto migration code for FlutterApplication (#122336)
Add macos project auto migration code for FlutterApplication
2023-03-16 01:01:03 +00:00
Victoria Ashworth
27248d4b64 Separate attached and wireless devices (#122615)
Separate attached and wireless devices
2023-03-15 16:35:05 +00:00
Victoria Ashworth
ee42a302ec Move target devices logic to its own classes and file (#121903)
Move target devices logic to its own classes and file
2023-03-13 16:14:21 +00:00
Reid Baker
fe9e819143 Create configOnly flag for android (#121904)
Create configOnly flag for android
2023-03-08 19:46:52 +00:00
Victoria Ashworth
cc26a1aa0c Update device filtering and introduce isConnected and connectionInterface (#121359)
Update device filtering and introduce isConnected and connectionInterface
2023-03-03 18:06:16 +00:00
Kevin Moore
a8cc95e36d flutter_tool: only enable wasm compile in master channel (#121755)
flutter_tool: only enable wasm compile in master channel
2023-03-02 22:21:50 +00:00
Enguerrand ARMINJON
6259b690f6 feature/clean-a-specific-scheme: Add this-scheme new flag for clean command (#116733)
Co-authored-by: Enguerrand_ARMINJON_MAC_2 <earminjon@sqli.com>
2023-02-21 17:35:13 +00:00
Michael Goderbauer
38630b6bd1 Remove unnecessary null checks in flutter_tool (#118857)
* dart fix --apply

* manual fixes

* fix after merge conflicts

* review
2023-01-23 21:43:08 +00:00
Andrew Kolos
ee1c59d462 reduce pub output from flutter create (#118285)
* reduce pub output from flutter create

* fix fake Pub implementations

* fix tests

* Update pub.dart

* replace enum with simpler boolean

* fix tests

* Revert "fix tests"

This reverts commit 8a3182d3b95d4f2bf337343cdb76e88c2f428ca8.

* Revert "replace enum with simpler boolean"

This reverts commit 445dbc443db4eb5ce284f76749f60e81208b8783.

* go back to using an enum
2023-01-12 21:42:02 +00:00
Sigurd Meldgaard
b7881e5b64 Align flutter pub get/upgrade/add/remove/downgrade (#117896)
* Align `flutter pub get/upgrade/add/remove/downgrade`

* Add final . to command description

* Remove trailing whitespace

* Don't print message that command is being run

* Update expectations

* Use relative path

* Remove duplicated line

* Improve function dartdoc
2023-01-10 23:29:09 +00:00
Jenn Magder
ada4460502 Audit covariant usage in tool (#116930) 2022-12-15 11:59:34 -08:00
Jackson Gardner
5201856805 Use file:/// style uris when passing platform to the compiler. (#116553)
* Use file:/// style uris when passing platform to the compiler.

* License header.

* Use BufferLogger.

* Don't unadvertently convert strings to regexes for matching purposes.

* Fix formatting.

* More formatting.
2022-12-06 02:27:21 +00:00
Jesús S Guerrero
530324d232 Build command dependency injection (#114383)
* update flutter build command

* update tests

* fix analyze suggestions
2022-11-08 23:38:10 +00:00
Jenn Magder
35afe1bdac Stop embedding bitcode for iOS in tool (#112831) 2022-10-04 01:41:23 +00:00
Lau Ching Jun
2a73ce9b50 Refactor DeviceManager.findTargetDevices() and FlutterCommand.findAllTargetDevices(), and add a flag to not show prompt. (#112223) 2022-09-23 21:10:35 +00:00
Sigurd Meldgaard
d80e994a62 Reland: Show output from pub get in flutter pub get (#110851) 2022-09-08 15:13:23 +02:00
Pierre-Louis
0c2f7bc2a2 Remove errant double spaces (#110758) 2022-09-02 04:00:58 +00:00
Zachary Anderson
0e195e9d46 Revert "Show output from pub get in flutter pub get (#106300)" (#110478)
This reverts commit 3802eb627e.
2022-08-29 08:02:50 -07:00
Sigurd Meldgaard
3802eb627e Show output from pub get in flutter pub get (#106300) 2022-08-29 07:37:19 +00:00
jensjoha
981bdf5476 [flutter_tools] Make flutter test -v print timing of different phases (#108864) 2022-08-18 16:26:56 +00:00
Christopher Fujino
b035ef1352 [flutter_tools] Remove more shuffles (#107759) 2022-07-26 05:43:05 +00:00
Rich Kadel
549f70c914 Remove outdated Fuchsia concepts (#107335)
Fuchsia will soon remove all support for Component Framework version 1
components (recognized by component manifests ending in `.cmx`).
Notably, some of the `flutter` tool commands for Fuchsia devices--
notably, but not limited to, those related to CFv1--are outdated, and
either do not work today or soon won't work.

This PR removes the outdated components and commands, replacing some
with the newer version, or simply removing the non-working features,
in some cases.
2022-07-22 16:42:48 -07:00
Alexandre Ardhuin
ccd33631e3 enable combinators_ordering (#107847) 2022-07-18 22:04:07 +00:00
Jonah Williams
2c15e3cae4 [flutter_tools] update test/src to null safety (#106064) 2022-06-16 16:48:03 -07:00
Jesús S Guerrero
32b22b85de parse build version on xcodeproj (#105908) 2022-06-16 22:26:06 +00:00
Jonah Williams
92034482f9 [flutter_tool] partial null safety migration of tool source code (#105798) 2022-06-15 20:02:07 +00:00
Christopher Fujino
8bea63287a [flutter_tools] add shuffle to hermetic run_tests (#105462) 2022-06-09 12:53:09 -07:00
Michael Goderbauer
3fa355c97d Remove dead code in tools tests (#104567) 2022-05-25 12:48:17 -07:00
Jenn Magder
09987dc00a Migrate create command to null safety (#104484) 2022-05-24 18:48:10 -07:00
Jenn Magder
a56c5e51ae Migrate some test files to null safety (#104469) 2022-05-24 16:53:08 -07:00
Chris Bracken
f9765c136f [tool] Add tests for FakeProcessManager (#104456)
Adds a bit more clarifying documentation to the implementation of the
outputFollowsExit case, and adds tests that verify the behaviour of
stderr, stdout of processes launched via FakeProcessManager.

Specifically:
* Verifies that stderr, stdout are not emitted immediately after process
  exit if outputFollowsExit is true. They must be emitted at least one
  turn through the event loop later.
* Verifies that ProcessResult.stderr, stdout have the type documented
  according to the encoding passted to Process.run/runSync:
  * List<int> if null is passed as the encoding.
  * String (in the default system encoding) if no encoding is specified.
  * String (in the specified encoding) if an encoding is specified.

This is additional testing relating to refactoring landed in:
https://github.com/flutter/flutter/pull/103947

Issue: https://github.com/flutter/flutter/issues/102451
2022-05-23 22:57:34 -07:00
Jenn Magder
c5d046c00c continue->next in Ruby script (#104296) 2022-05-23 18:43:05 -07:00
Chris Bracken
9d9e272e70 [tool] Add tests for FakeProcess (#104013)
Because this class has some subtle behaviour with regards to control of
exit timing and when and how it streams data to stderr and stdout, it's
worth adding unit tests for this class directly, as well as (in a
followup patch) for FakeProcessManager.

This is additional testing relating to refactoring landed in:
https://github.com/flutter/flutter/pull/103947

Issue: https://github.com/flutter/flutter/issues/102451
2022-05-17 16:54:08 -07:00
Chris Bracken
928bb1229b [tool] Consistent FakeProcessManager.run/runSync (#103947)
`FakeProcessManager` is a test-oriented implementation of `ProcessManager`
that simulates launching processes and returning `ProcessResult` objects
whose `exitCode`, `stdout`, `stderr` can be used to write platform-portable,
hermetic tests that don't rely on actually launching processes from
executables on disk. Its `run` and `runSync` methods provide asynchronous and
synchronous variants of this functionality.

Previously, the behaviour of `run` and `runSync` were inconsistent with
regards to the treatment of the `stdoutEncoding` (similarly,
`stderrEncoding`) parameters:

`run`:
* if the encoding was null, `ProcessResult.stdout` was returned as a
  String in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a raw
  `List<int>` should be returned.
* If the encoding was unspecified, `ProcessResult.stdout` was returned as
  a `String` in the `io.systemEncoding` encoding. This was correct.
* If the encoding was non-null, `ProcessResult.stdout` was returned as a
  `String` in the specified encoding. This was correct.

`runSync`:
* if the encoding was null, `ProcessResult.stdout` was returned as a
  `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a raw
  `List<int>` should be returned.
* If the encoding was unspecified, `ProcessResult.stdout` was returned as
  `List<int>` in UTF-8 encoding. This was incorrect. The behaviour as
  specified in `ProcessResult.stdout` is that in this case, a String a
  `String` in the `io.systemEncoding` encoding should be returned.
* if the encoding was non-null, `ProcessResult.stdout` was returned as a
  `String` in unknown (but probably UTF-8) encoding. This was incorrect.
  The behaviour as specified in `ProcessResult.stdout` is that in this
  case, a `String` in the specified encoding should be returned.

`_FakeProcess`, from which we obtain the fake stdout and stderr values now
holds these fields as raw `List<int>` of bytes rather than as `String`s. It
is up to the user to supply values that can be decoded with the encoding
passed to `run`/`runAsync`.

`run` and `runAsync` have been updated to set stdout (likewise, stderr) as
specified in the `ProcessResult` documentation.

This is pre-factoring for #102451, in which the tool throws an exception
when processing the JSON output from stdout of the `vswhere.exe` tool,
whose output was found to include the `U+FFFD` Unicode replacement
character during UTF-8 decoding, which triggers a `toolExit` exception
when decoded using our [Utf8Decoder][decoder] configured with `reportErrors` =
true. Because `FakeProcessManager.runAsync` did not previously invoke
`utf8.decode` on its output (behaviour which differs from the non-fake
implementation), it was impossible to write tests to verify the fix.

Ref: https://api.flutter.dev/flutter/dart-io/ProcessResult/stdout.html

Issue: https://github.com/flutter/flutter/issues/102451

[decoder]: fd312f1ccf/packages/flutter_tools/lib/src/convert.dart (L51-L60)
2022-05-17 11:15:54 -07:00
Jenn Magder
c6ced845e3 Remove custom unawaited, prefer dart:async version (#103212) 2022-05-07 08:49:04 -07:00
Alexandre Ardhuin
07f1c20474 add missing trailing commas in list/set/map literals (#102585) 2022-04-27 09:15:35 +02:00
Jonah Williams
944fcda67f [flutter_tools] remove UWP tooling (#102174) 2022-04-26 11:19:07 -07:00
Jesús S Guerrero
3394fb4a58 [flutter_tools] fix flutter create --offline (#100941)
Co-authored-by: Christopher Fujino <christopherfujino@gmail.com>
2022-04-07 17:05:49 -07:00
Michael Goderbauer
dcde8163ce migrate to super params (#100509) 2022-03-31 11:46:47 -07:00
Brian Quinlan
f6c4c3df19 Remove unnecessary ignore: override_on_non_overriding_member (#99793) 2022-03-16 19:10:17 -07:00
Jenn Magder
dd97133df2 Remove tool crash git.io link shortener (#99574) 2022-03-08 17:00:06 -08:00
Jenn Magder
8f360c977a Update minimum required version to Xcode 13 (#97746) 2022-03-01 16:26:11 -08:00
Danny Tuppeny
76758ef960 [dap] Don't use --start-paused when running in Profile/Release mode (#98926) 2022-02-24 17:06:24 -08:00
Brian Quinlan
76855aa893 Add keyLog and connectionFactory to HttpClient implementations (#98045) 2022-02-11 00:35:16 -08:00
Lau Ching Jun
d7688ca093 Change all instance of throwing strings to throw specific error classes. (#97325) 2022-02-02 10:45:18 -08:00
Jenn Magder
a599c23b2b Disallow running on unsupported devices (#97338) 2022-02-01 16:13:03 -08:00
Daco Harkes
0e2f51dfd0 FFI plugins (#96225) 2022-01-26 23:44:45 +01:00
Lau Ching Jun
1065826686 ProxiedDevice, connection to a remotely connected device via flutter daemon. (#95738)
Also allow daemon commands to pass binary streams
2022-01-25 23:46:14 -08:00
Zachary Anderson
65c6e88223 Revert "FFI plugins (#94101)" (#96122)
This reverts commit 5257f0290c.
2022-01-04 08:09:12 -08:00
Daco Harkes
5257f0290c FFI plugins (#94101)
* Building shared C source code as part of the native build for platforms Android, iOS, Linux desktop, MacOS desktop, and Windows desktop.
* Sample code doing a synchronous FFI call.
* Sample code doing a long running synchronous FFI call on a helper isolate.
* Use of `package:ffigen` to generate the bindings.
2022-01-04 10:14:27 +01:00