263 Commits

Author SHA1 Message Date
Jenn Magder
410d9921bc
Migrate emulators, packages, upgrade, and downgrade to null safety (#95712) 2022-01-05 16:50:19 -08:00
Christopher Fujino
b0810bc939
Fix analysis throwing string (#91435) 2021-10-29 17:02:05 -07:00
Christopher Fujino
f753168cb6
[flutter_tools] add working directory to ProcessException when pub get fails (#91436) 2021-10-07 18:08:04 -07:00
Greg Spencer
01af8e5987
Make flutter update-packages run in parallel (#91006)
This modifies the flutter update-packages and flutter update-packages --force-upgrade commands so that the many invocations of "dart pub get" in each repo project run in parallel instead of in series.
2021-09-30 10:26:31 -07:00
Jason Simmons
cd19bc6007
Do not retry if pub get is run in offline mode (#90394) 2021-09-27 08:18:06 -07:00
Sigurd Meldgaard
bce366203a
Stop calling top level pub (#89032)
* Use `dart __deprecated_pub` instead of `pub` to invoke pub from tools

The top level `pub` commmand has been deprecated and will print
a message. It is however implemented via the __deprecated_pub command
that prints no message.
2021-08-30 10:40:10 -07:00
Zachary Anderson
b4e0472b04
Revert "Use dart pub instead of pub to invoke pub from tools (#88509)" (#88792)
This reverts commit 7c24ff2c5bfeff34991dba5e7ee210a1085a1e22.
2021-08-24 09:00:22 -07:00
Sigurd Meldgaard
7c24ff2c5b
Use dart pub instead of pub to invoke pub from tools (#88509)
Top level `pub` is being deprecated.
2021-08-24 15:51:08 +02:00
Jonah Williams
fa0782b696
reassign jonahwilliams todos (#88707) 2021-08-23 12:27:07 -07:00
Remi Rousselet
1995da2c0c
Disable the automatic "pub get" if the project is using a third-party tool for linking dependencies. (#86177) 2021-07-19 08:06:03 -07:00
Greg Spencer
88f3811055
Turn on avoid_dynamic_calls lint, except packages/flutter tests, make appropriate changes. (#84476)
This adds avoid_dynamic_calls to the list of lints, and fixes all instances where it was violated.

Importantly, this lint is NOT turned on for flutter/packages/test, because those changes are happening in another PR: #84478
2021-06-14 14:16:57 -07:00
Jenn Magder
2bf0627dea
Migrate localizations and generate_synthetic_packages to null safety (#83310) 2021-05-25 11:09:02 -07:00
Jonah Williams
302e992ca7
[flutter_tools] throw a tool exit if pub cannot be run (#83293) 2021-05-24 14:34:02 -07:00
Michael Goderbauer
f7bcfa8e95
Be more helpful when l10n generation fails (#83134) 2021-05-21 17:19:02 -07:00
Abhishek Ghaskata
b554f893bd
Enable unnecessary_null_checks lint (#82084) 2021-05-14 10:44:03 -07:00
Jenn Magder
8d5f08fe02
Migrate pub in flutter_tools to null safety (#80548) 2021-04-16 17:23:00 -07:00
Jenn Magder
ec14cef060
Migrate more tool unit tests to null safety (#80002) 2021-04-08 15:18:52 -07:00
Jonah Williams
304448af8c
[flutter_tools] consume package:process exceptions (#79657) 2021-04-02 12:08:29 -07:00
Jenn Magder
bc4bda021f
Migrate analysis to null safety (#79525) 2021-04-01 18:29:32 -07:00
Jonah Williams
35bd77bb08
[flutter_tools] separate concept of null safe language version from current language version (#79052) 2021-03-25 17:14:34 -07:00
Konstantin Scheglov
e31064978a
Add '--protocol-traffic-log' option to 'analyze' command. (#78674) 2021-03-25 15:09:05 -07:00
Jenn Magder
5398c34cfe
Migrate flutter_project_metadata to null safety (#78944) 2021-03-24 15:21:23 -07:00
Jenn Magder
8a0cc1bef7
Make launguage_version in flutter_tool null safe (#78843) 2021-03-23 10:11:07 -07:00
Perqin
131f59f17e
[flutter_tools] Avoid duplicated calls to l10n generation (#76066) 2021-02-25 12:11:03 -08:00
Jonah Williams
021311ed8a
Revert "[flutter_tools] move process manager into tool (#75350)" (#75639)
This reverts commit 8b6baae44c8661d548643ced73493e6a66862622.
2021-02-08 09:21:46 -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
dcd061c70b
[flutter_tools] experiment with skipping process resolution (#74447) 2021-02-03 10:56:22 -08:00
Jonah Williams
deb5e40f53
[flutter_tools] handle null package (#75336) 2021-02-03 10:53:30 -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
Sigurd Meldgaard
178c87cc27
Avoid relative paths in .dart_tool/package_config.json when generate:true (#73944)
Instead of using package:package_config to write the .dart_tool/package_config the original json is modified and rewritten.

The .dart_tool/package_config.json file is read twice to simplify control flow.

This also avoids the issue of package:package_config writing directly to local filesystem.
2021-01-20 14:53:49 +01:00
Jonas Finnemann Jensen
bf89943d94
Fix pub upgrade to work with new arguments (#74060) 2021-01-15 17:39:56 -08:00
Jonah Williams
d4f0c08261
[flutter_tools] do not crash if target file cannot be read for language version (#73879) 2021-01-13 14:24:04 -08:00
Shi-Hao Hong
94ca7b4ad2
[gen-l10n] NNBD generated code (#70415)
* NNBD gen-l10n generated code
2020-11-18 10:14:38 +08:00
Jonah Williams
a40ee8a3fb
[flutter_tools] migrate .packages to package_config, partial (#70200) 2020-11-11 13:50:41 -08:00
Jonah Williams
fb28ee2860
[flutter_tools] reland: cache pub invocations (#70180)
Disabled caching of pub invocations on flutter drive.
2020-11-10 13:56:36 -08:00
Jonah Williams
1c4b50ecf1
Revert "[flutter_tools] restore pub caching functionality (#70133)" (#70144)
This reverts commit ff953e4f83d0e9bc5a5468a7e910a7b1506a2ca5.
2020-11-09 16:38:07 -08:00
Jonah Williams
3fb389c75a
[null-safety] implement null-safe autodetection for the web (#70126)
Fixes #69416
Fixes #70121
2020-11-09 16:13:38 -08:00
Jonah Williams
ff953e4f83
[flutter_tools] restore pub caching functionality (#70133)
Necessary to work around #70013 (this looks like it will be fixed, but should protect us in the future)

Restores some notion of skipping pub, with differences from the prior implementation:

Off by default, and only used by the flutter command automatic pub get
A single check parameter. Uses the framework version cached per-project instead of a timestamp of the tool, to avoid cases where downloading a prebuilt framework would cause this check to no longer work.
2020-11-09 16:11:55 -08:00
Jonah Williams
f1cdf2e6f3
Revert "[flutter_tools] restore pub caching functionality on run/test (#70056)" (#70132)
This reverts commit 6e5845f0253f5574c0bd059808650b2d419260bb.
2020-11-09 13:31:01 -08:00
Jonah Williams
6e5845f025
[flutter_tools] restore pub caching functionality on run/test (#70056) 2020-11-09 12:52:22 -08:00
Devon Carew
5ba2d79ad2
remove the use of the analysis server --enable-experiments flag from flutter analyze (#69966) 2020-11-06 10:56:34 -08:00
Jonah Williams
cb67513f29
[flutter_tools] Reland: simplify pub cache logic (#67589)
There have been some more additional reports of a missing 'package:characters' import after upgrading flutter. This has me concerned that our pub caching logic is incorrect. Instead of the tool attempting to guess when pub should be run, always delegate to pub.

Also takes an opportunity to fix the kernel snapshot depending on the .packages or package_config. Due to the generated: date field this causes extra rebuilds. Instead when pub get is run, write out an additional file with just the package contents and version.

Fixes #66777
Fixes #65723
2020-10-23 10:00:56 -07:00
Jonah Williams
9e70180f63
[flutter_tools] do not measure progress timeout (#67959)
Remove "This is taking a long time" progress timeout and TimeoutConfiguration.
2020-10-13 13:05:47 -07:00
Jonah Williams
a4e0e2a8ee
Revert "[flutter_tools] remove all pub caching logic (#66776)" (#67572)
This reverts commit 76cbc462d21cf3e0399bccbac043b003c7efc888.
2020-10-07 15:30:46 -07:00
Jonah Williams
76cbc462d2
[flutter_tools] remove all pub caching logic (#66776)
There have been some more additional reports of a missing 'package:characters' import after upgrading flutter, as well as problems with detecting the correct language version. This has me concerned that our pub caching logic is incorrect. Instead of the tool attempting to guess when pub should be run, always delegate to pub.
2020-10-07 13:11:07 -07:00
Jonah Williams
13bf341584
[flutter_tools] update build rules to depend on subset of package_config contents (#67165)
Split from #66776

Even if pub does not change the packge_config contents, it will still update a timestamp in one of the fields. This causes unnecessary rebuilds. To fix this, generate an additional file when running pub get that only contains the relevant fields and then update the KernelSnapshot rule to depend on it only.
2020-10-07 08:46:11 -07:00
includecmath
f1013e6873
[flutter_tools] According to AnalysisSeverity return exit code detailed proposal (#61589)
No matter what level(error, warning, info) issues flutter analyze always return fatal exit code(1). CI/CD environment receive 1(!0). This may leads to e.g. Jenkins Build step 'Execute shell' marked build as failure.
I propose according to AnalysisSeverity level return fatal(1) or success(0) exit code.
2020-10-01 18:50:33 -07:00
Jonah Williams
3e838da96a
[flutter_tools] use flutter tool handler for dwds resources and precache tool pub dependencies (#65814)
If the tool is downloaded from a precompiled snapshot, or if the backing source files in the pub cache are deleted, the dwds debugging functionality will break as the client.js file cannot be located. Instead use the PackageConfig to verify that package location, downloading if it is missing.

Override the dwds middleware to avoid Isolate.resolvePackageUri

Fixes #53644
Fixes #65475
2020-09-17 15:22:06 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Shi-Hao Hong
fd22fc3e35
[gen_l10n] Synthetic package generation by default (#62395)
* synthetic packages by default in gen_l10n tool

* Refactor default path for synthetic package

* Remove unused import

* Code cleanup

* Further improvements to help text

* Refactor synthetic package path

* Remove newlines

* Test cleanup

* clean up logic in inputs and outputs list function

* Update l10n.yaml usage

* only add option if value is non-null

* Update stocks app as proof of concept for synthetic package usage

* Address nits

* print pubspec contents

* add print statements

* Do not allow null value for useSyntheticPackage

* +

* +

* +

* +

* Cleanup

* Add test

* Fix text

* Dont parse pubspec directly

* Test using context

* WIP: generate synthetic packages on pub get -- needs tests

* Allow null value

* Update null handling

* Refactor to properly handle null case

* Fix yamlMap condition

* Fix yaml node for real

* WIP: struggling to write tests

* WIP - take absolute path as an option

* Add tests

* Use environment project directory for synthetic package generation pathway

* Fix typo

* Improve help text

* Update defaults

* Remove unauthorized path import

* Fix pathing issues at synthetic package generation

* Fix typo in test

* Use path.join so projectDir matches up based on OS

* Fix Windows pathing in test

* Remove unnecessary replaceApp code for projectDir.path

* Use globals.fs.currentDirectory.path in resident_runner_test.dart

* Fix merge conflict

* Add test to ensure that synthetic package is generated on pub get

* Fix resident_runner_test.dart tests

* Fix tests

* Use package:file instead of dart:io

* WIP - exploration

* Remove synthetic package use from stocks example

* Update integration test to not use synthetic packages

* Remove trailing whitespace

* flutter pub get runs synth package generation

* Remove more print statements

* Add license header

* WIP - minimally working pub.get

* Use own MockBuildSystem

* Modify test and implementation to be a little cleaner

* Fix flutter pub get invocation

* Use synthetic packages in stocks app

* Revert "Use synthetic packages in stocks app"

This reverts commit 45bf24903c3d4a2a5fd5481d7d6bc36c4a348703.

* Add environment and buildSystem params to flutter test

* Address code review feedback

* +

* Isolate codegen into its own API

* Fix imports

* Slight refactor

* Add one more test for no l10n.yaml file

* Remove unneeded mock class and import in pub_get_test.dart

* More code review feedback

* Remove unnecessary imports

* Remove `return await`s that I missed

* use arrow functions instead
2020-08-31 13:19:41 +08:00