Commit Graph

286 Commits

Author SHA1 Message Date
Michael Goderbauer
240825a555
Enable private field promotion for flutter_tools (#134474)
New feature in upcoming Dart 3.2. See https://github.com/dart-lang/language/issues/2020. Feature is enabled by bumping the min SDK version to 3.2.

Part of https://github.com/flutter/flutter/issues/134476.
2023-09-12 20:20:04 +00:00
Zachary Anderson
118c2df776
Allows adding a storage 'realm' to the storage base URL (#131951)
Context: https://github.com/flutter/flutter/issues/131862

This PR injects a "realm" component to the storage base URL when the contents of the file `bin/internal/engine.realm` is non-empty.

As documented in the PR, when the realm is `flutter_archives_v2`, and `bin/internal/engine.version` contains the commit hash for a commit in a `flutter/engine` PR, then the artifacts pulled by the tool will be the artifacts built by the presubmit checks for the PR.

This works for everything but the following two cases:
1. Fuchsia artifacts are not uploaded to CIPD by the Fuchsia presubmit builds.
2. Web artifacts are not uploaded to gstatic by the web engine presubmit builds.

For (1), the flutter/flutter presubmit `fuchsia_precache` is driven by a shell script outside of the repo. It will fail when the `engine.version` and `engine.realm` don't point to a post-submit engine commit.

For (2), the flutter/flutter web presubmit tests that refer to artifacts in gstatic hang when the artifacts aren't found, so this PR skips them.
2023-08-09 23:26:05 +00:00
William Hesse
0d39f6466d
[testing] Make the FLUTTER_STORAGE_BASE_URL warning non-fatal (#128335)
Presubmit testing and CI testing of Flutter using a custom storage location for engine artifacts must be able to use the --fatal-warnings flag without failing due to the custom artifact location.

This change adds an option that makes this warning non-fatal. The new --no-fatal-storage-url-warning flag makes the --fatal-warnings flag ignore the warning that a custom artifact download URL is being used by setting the environment variable FLUTTER_STORAGE_BASE_URL.

Bug: #127683

- [X ] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [X ] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [X ] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
- [X ] I signed the [CLA].
- [X ] I listed at least one issue that this PR fixes in the description above.
- [X ] I updated/added relevant documentation (doc comments with `///`).
2023-06-09 11:06:13 +00:00
Phil Quitslund
5bf6318688
Update collection-fors to prefer final (as per updated prefer_final_in_for_each) (#127511)
The newly updated lint will soon flag for-each in collections.

See discussion: https://github.com/dart-lang/linter/pull/4383

/cc @goderbauer
2023-05-26 23:34:36 +00:00
Christopher Fujino
7e1a0d4086
[flutter_tools] delete entitlements files after copying to macos build dir (#126875)
Fixes https://github.com/flutter/flutter/issues/126705
2023-05-22 20:00:39 +00:00
Kevin Moore
f9d455134a
tool: replace top-level functions with enum properties (#126167) 2023-05-05 19:10:07 +00:00
Nabeel Parkar
e5a382ec92
Migrate activation issue template to Github form issues (#119916)
Migrate activation issue template to Github form issues
2023-02-28 08:08:01 +00:00
Ian Hickson
d29668ddb2
Improve network resources doctor check (#120417)
...and various other minor cleanup:

* Moved "FLUTTER_STORAGE_BASE_URL" into a constant throughout the code. There are other strings that we should do that to but this one was relevant to the code I was changing.

* Fixed the logger's handling of slow warnings. Previously it deleted too much text. Fixed the test for that to actually verify it entirely, too.

* Made the logger delete the slow warning when it's finished.

* Fixed 'Please choose one (To quit, press "q/Q")' message to be the cleaner 'Please choose one (or "q" to quit)'.

* Added a debug toString to ValidationResult for debugging purposes (not used).

* In http_host_validator:

  - Shortened constant names to be clearer (e.g. kPubDevHttpHost -> kPubDev).
  - Added GitHub as a tested host since when you run `flutter` we hit that immediately.
  - Renamed the check "Network resources".
  - Updated the `slowWarning` of the check to say which hosts are pending.
  - Removed all timeout logic. Timeouts violate our style guide.
  - Removed `int.parse(... ?? '10')`; passing a constant to `int.parse` is inefficient.
  - Replaced the `_HostValidationResult` class with `String?` for simplicity.
  - Improved the error messages to be more detailed.
  - Removed all checks that dependened on the stringification of exceptions. That's very brittle.
  - Added a warning specifically for HandshakeException that talks about the implications (MITM attacks).
  - Replaced exception-message-parsing logic with just calling `Uri.tryParse` and validating the result.
  - Replaced a lot of list-filtering logic with just a single for loop to check the results.
  - Replaced code that added a constant to a known-empty list with just returning a constant list.
  - Revamped the logic for deciding which hosts to check to just use a single chain of if/else blocks instead of getters, lists literals with `if` expressions, `??`, functions, etc spread over multiple places in the code.
2023-02-15 00:02:09 +00:00
Jesús S Guerrero
f767f860eb
check if directory exists before listing content (#119748) 2023-02-02 03:02:11 +00:00
Alex Li
8d0af36798
🥅 Produce warning instead of error for storage base url overrides (#119595)
* 🥅 Only log warning for storage base url

*  Add test

*  Add the link to the test

*  Remove the test

*  Remove the extra import
2023-02-01 03:49:31 +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
Jonah Williams
db829c1e20
[flutter_tools] migrate more unit tests to null safety (#106153) 2022-06-17 21:34:27 -07:00
Christopher Fujino
589dd8028b
[flutter_tools] print override storage warning to STDERR instead of STDOUT (#106068) 2022-06-15 23:22:06 +00: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
Greg Spencer
23e7449a07
Warm cache with all transitive dependencies in flutter update-packages command (#96258) 2022-01-10 10:35:13 -08:00
Yegor
48a5cf9225
[tool] verify download URLs; docs for base URLs (#94178) 2021-12-02 10:11:36 -08:00
Yegor
a2a888ec13
make CIPD url customizable using FLUTTER_STORAGE_BASE_URL (#94137) 2021-11-24 07:53:03 -08:00
Kenzie (Schmoll) Davisson
7748731903
Add DevTools version to flutter --version and flutter doctor -v output. (#93065)
* Add DevTools version to `flutter --version` output.

* review comments

* fix test

* add explanatory comment

* dummy commit to kick bots

Co-authored-by: Christopher Fujino <christopherfujino@gmail.com>
2021-11-11 14:40:22 -08:00
Greg Spencer
52ae102f18
Adds tool warning log level and command line options to fail on warning/error output (#92031) 2021-11-10 16:13:04 -08:00
Jenn Magder
8474f41e90
Migrate xcdevice and ios devices to null safety (#92056) 2021-10-19 12:23:03 -07:00
Jenn Magder
a82c50f1f6
Revert "Migrate xcdevice and ios devices to null safety (#91704)" (#91912)
This reverts commit 0065873670.
2021-10-15 09:48:08 -07:00
Jenn Magder
0065873670
Migrate xcdevice and ios devices to null safety (#91704) 2021-10-14 22:28:02 -07:00
Ian Hickson
f25b833f27
Enable avoid_print lint. (#91444) 2021-10-07 16:48:04 -07:00
Mouad Debbar
c2ea78d231
Revert "Enable avoid_print lint. (#91332)" (#91438)
This reverts commit cb378edc9e.
2021-10-07 16:16:17 -04:00
Ian Hickson
cb378edc9e
Enable avoid_print lint. (#91332) 2021-10-07 09:53:03 -07:00
Michael Thomsen
b889915997
Change min Dart SDK constraint to track actual version (#88743) 2021-09-14 14:08:36 +02:00
Jenn Magder
e6535f6da1
Changed tool cached properties to late finals (#88923) 2021-08-26 14:01:05 -07:00
Greg Spencer
0bab3604b0
Make the startup lock message print to stderr. (#86520)
This changes the "Waiting for another flutter command to release the startup lock..." message output so that it appears on stderr instead of stdout. When it appears on stdout, it can mess up collection of the output. For instance, if you run flutter --version --machine and you're expecting JSON output, then you'll get non-JSON output even though the lock is released and you eventually would get what you're asking for.
2021-07-28 15:12:03 -07:00
Ahmed Ashour
a3dc90c4f5
Add space before curly parentheses. (#85306) 2021-07-01 13:51:05 -07:00
Alexandre Ardhuin
e467018d06
alignment of doc comments and annotations (#84256) 2021-06-09 07:54:02 -07:00
Alexandre Ardhuin
34059eec2c
enable lint prefer_interpolation_to_compose_strings (#83407) 2021-06-01 11:14:06 -07:00
Alexandre Ardhuin
c03e7488b4
remove noop primitive operations (#82297) 2021-05-12 00:04:02 -07:00
Jonah Williams
be2c68c85c
[flutter_tools] cache for UWP artifacts (#80069) 2021-04-09 10:59:01 -07:00
Jonah Williams
0a59698ebe
[flutter_tools] migrate cache to null safety (#79864) 2021-04-06 14:44:02 -07:00
Jonah Williams
26b9a01531
[flutter_tools] split cache into API and implementation (#79580) 2021-04-05 14:26:02 -07:00
Jonah Williams
975fb0f06c
[flutter_tool] fix deletion of gradle wrapper artifacts in cache (#78911) 2021-03-23 21:33:05 -07:00
Jenn Magder
a7f7687a2e
Delete unzipped FlutterMacOS.framework before replacing artifact (#77316) 2021-03-04 19:36:21 -08:00
Michael Goderbauer
fc99e7c0d7
Enable missing_whitespace_between_adjacent_strings (#77027) 2021-03-01 18:30:17 -08:00
Jonah Williams
75470a0051
[flutter_tools] unify gradle/android sdk reinitialize checks in cache.dart (#76342) 2021-02-19 13:47:12 -08:00
Jonah Williams
93e7d34dc4
[flutter_tools] Remove globals/mocks from GradleUtils (#76020) 2021-02-17 14:26:57 -08:00
Hidenori Matsubayashi
4cc0ab2d19
[flutter_tools] Add ARM64 Linux host and cross-building option support (#61221) 2021-02-12 14:25:30 -08:00
Jonah Williams
b05d6ec8d3
[flutter_tools] catch error 32 in cache (#75719) 2021-02-10 17:04:32 -08:00
Jonah Williams
021311ed8a
Revert "[flutter_tools] move process manager into tool (#75350)" (#75639)
This reverts commit 8b6baae44c.
2021-02-08 09:21:46 -08:00
godofredoc
da6528cda6
Point to a new artifacts location. (#70673)
This is in preparation to move the flutter artifacts to a more secure
location.

Bug:
  go/fxb/64576
2021-02-04 18:44:47 -08:00
Jonah Williams
8b6baae44c
[flutter_tools] move process manager into tool (#75350)
Our current top crasher is an unclear error when ProcessManager fails to resolve an executable path. To fix this, we'd like to being adjusting the process resolution logic and adding more instrumentation to track failures. In order to begin the process, the ProcessManager has been folded back into the flutter tool
2021-02-04 13:19:11 -08:00
Jonah Williams
74bd7b6f6d
[flutter_tools] opt all flutter tool libraries and tests out of null safety. (#74832)
* opt out the flutter tool

* oops EOF

* fix import

* Update tool_backend.dart

* Update daemon_client.dart

* fix more
2021-01-27 15:17:53 -08:00
Jonah Williams
91437a0641
[flutter_tools] delete old directories when unzipping ontop of them (#74818)
Fixes #74772

stale files from previous SDKs were getting left in the cache, confusing the analyzer.
2021-01-27 12:56:21 -08:00
Jonah Williams
851ff68788
[flutter_tools] throwToolExit from archive failure (#74259) 2021-01-20 15:17:58 -08:00
Jonah Williams
bf4a5484aa
[flutter_tools] no-op maven artifacts if Android SDK is absent (#73957) 2021-01-14 12:09:06 -08:00