@@ -19,8 +19,10 @@ import 'package:flutter_tools/src/build_info.dart';
1919import 'package:flutter_tools/src/build_system/tools/scene_importer.dart' ;
2020import 'package:flutter_tools/src/build_system/tools/shader_compiler.dart' ;
2121import 'package:flutter_tools/src/compile.dart' ;
22+ import 'package:flutter_tools/src/dart/pub.dart' ;
2223import 'package:flutter_tools/src/devfs.dart' ;
2324import 'package:flutter_tools/src/device.dart' ;
25+ import 'package:flutter_tools/src/features.dart' ;
2426import 'package:flutter_tools/src/globals.dart' as globals;
2527import 'package:flutter_tools/src/isolated/devfs_web.dart' ;
2628import 'package:flutter_tools/src/isolated/resident_web_runner.dart' ;
@@ -41,6 +43,7 @@ import 'package:webkit_inspection_protocol/webkit_inspection_protocol.dart';
4143import '../src/common.dart' ;
4244import '../src/context.dart' ;
4345import '../src/fake_process_manager.dart' ;
46+ import '../src/fake_pub_deps.dart' ;
4447import '../src/fake_vm_services.dart' ;
4548import '../src/fakes.dart' as test_fakes;
4649
@@ -110,6 +113,14 @@ void main() {
110113 late TestUsage testUsage;
111114 late FakeAnalytics fakeAnalytics;
112115
116+ // TODO(matanlurey): Remove after `explicit-package-dependencies` is enabled by default.
117+ // See https://github.com/flutter/flutter/issues/160257 for details.
118+ FeatureFlags enableExplicitPackageDependencies () {
119+ return test_fakes.TestFeatureFlags (
120+ isExplicitPackageDependenciesEnabled: true ,
121+ );
122+ }
123+
113124 setUp (() {
114125 testUsage = TestUsage ();
115126 fileSystem = MemoryFileSystem .test ();
@@ -266,6 +277,8 @@ void main() {
266277 }, overrides: < Type , Generator > {
267278 FileSystem : () => fileSystem,
268279 ProcessManager : () => processManager,
280+ FeatureFlags : enableExplicitPackageDependencies,
281+ Pub : FakePubWithPrimedDeps .new ,
269282 });
270283
271284 testUsingContext ('WebRunner copies compiled app.dill to cache during startup' ,
@@ -297,6 +310,8 @@ void main() {
297310 }, overrides: < Type , Generator > {
298311 FileSystem : () => fileSystem,
299312 ProcessManager : () => processManager,
313+ FeatureFlags : enableExplicitPackageDependencies,
314+ Pub : FakePubWithPrimedDeps .new ,
300315 });
301316
302317 testUsingContext (
@@ -325,6 +340,8 @@ void main() {
325340 }, overrides: < Type , Generator > {
326341 FileSystem : () => fileSystem,
327342 ProcessManager : () => processManager,
343+ FeatureFlags : enableExplicitPackageDependencies,
344+ Pub : FakePubWithPrimedDeps .new ,
328345 });
329346
330347 // Regression test for https://github.com/flutter/flutter/issues/60613
@@ -346,6 +363,8 @@ void main() {
346363 }, overrides: < Type , Generator > {
347364 FileSystem : () => fileSystem,
348365 ProcessManager : () => processManager,
366+ FeatureFlags : enableExplicitPackageDependencies,
367+ Pub : FakePubWithPrimedDeps .new ,
349368 });
350369
351370 testUsingContext (
@@ -376,6 +395,8 @@ void main() {
376395 }, overrides: < Type , Generator > {
377396 FileSystem : () => fileSystem,
378397 ProcessManager : () => processManager,
398+ FeatureFlags : enableExplicitPackageDependencies,
399+ Pub : FakePubWithPrimedDeps .new ,
379400 });
380401
381402 testUsingContext ('Can successfully run and disconnect with --no-resident' ,
@@ -401,6 +422,8 @@ void main() {
401422 }, overrides: < Type , Generator > {
402423 FileSystem : () => fileSystem,
403424 ProcessManager : () => processManager,
425+ FeatureFlags : enableExplicitPackageDependencies,
426+ Pub : FakePubWithPrimedDeps .new ,
404427 });
405428
406429 testUsingContext ('Listens to stdout and stderr streams before running main' ,
@@ -439,6 +462,8 @@ void main() {
439462 }, overrides: < Type , Generator > {
440463 FileSystem : () => fileSystem,
441464 ProcessManager : () => processManager,
465+ FeatureFlags : enableExplicitPackageDependencies,
466+ Pub : FakePubWithPrimedDeps .new ,
442467 });
443468
444469 testUsingContext ('Listens to extension events with structured errors' ,
@@ -581,6 +606,8 @@ void main() {
581606 }, overrides: < Type , Generator > {
582607 FileSystem : () => fileSystem,
583608 ProcessManager : () => processManager,
609+ FeatureFlags : enableExplicitPackageDependencies,
610+ Pub : FakePubWithPrimedDeps .new ,
584611 });
585612
586613 testUsingContext ('Does not run main with --start-paused' , () async {
@@ -612,6 +639,8 @@ void main() {
612639 }, overrides: < Type , Generator > {
613640 FileSystem : () => fileSystem,
614641 ProcessManager : () => processManager,
642+ FeatureFlags : enableExplicitPackageDependencies,
643+ Pub : FakePubWithPrimedDeps .new ,
615644 });
616645
617646 testUsingContext ('Can hot reload after attaching' , () async {
@@ -707,6 +736,8 @@ void main() {
707736 Analytics : () => fakeAnalytics,
708737 FileSystem : () => fileSystem,
709738 ProcessManager : () => processManager,
739+ FeatureFlags : enableExplicitPackageDependencies,
740+ Pub : FakePubWithPrimedDeps .new ,
710741 });
711742
712743 testUsingContext ('Can hot restart after attaching' , () async {
@@ -800,6 +831,8 @@ void main() {
800831 Analytics : () => fakeAnalytics,
801832 FileSystem : () => fileSystem,
802833 ProcessManager : () => processManager,
834+ FeatureFlags : enableExplicitPackageDependencies,
835+ Pub : FakePubWithPrimedDeps .new ,
803836 });
804837
805838 testUsingContext ('Can hot restart after attaching with web-server device' ,
@@ -836,6 +869,8 @@ void main() {
836869 Analytics : () => fakeAnalytics,
837870 FileSystem : () => fileSystem,
838871 ProcessManager : () => processManager,
872+ FeatureFlags : enableExplicitPackageDependencies,
873+ Pub : FakePubWithPrimedDeps .new ,
839874 });
840875
841876 testUsingContext ('web resident runner is debuggable' , () {
@@ -870,6 +905,8 @@ void main() {
870905 Analytics : () => fakeAnalytics,
871906 FileSystem : () => fileSystem,
872907 ProcessManager : () => processManager,
908+ FeatureFlags : enableExplicitPackageDependencies,
909+ Pub : FakePubWithPrimedDeps .new ,
873910 });
874911
875912 testUsingContext (
@@ -909,6 +946,8 @@ void main() {
909946 }, overrides: < Type , Generator > {
910947 FileSystem : () => fileSystem,
911948 ProcessManager : () => processManager,
949+ FeatureFlags : enableExplicitPackageDependencies,
950+ Pub : FakePubWithPrimedDeps .new ,
912951 });
913952
914953 testUsingContext ('Fails on compilation errors in hot restart' , () async {
@@ -937,6 +976,8 @@ void main() {
937976 Analytics : () => fakeAnalytics,
938977 FileSystem : () => fileSystem,
939978 ProcessManager : () => processManager,
979+ FeatureFlags : enableExplicitPackageDependencies,
980+ Pub : FakePubWithPrimedDeps .new ,
940981 });
941982
942983 testUsingContext (
@@ -966,6 +1007,8 @@ void main() {
9661007 }, overrides: < Type , Generator > {
9671008 FileSystem : () => fileSystem,
9681009 ProcessManager : () => processManager,
1010+ FeatureFlags : enableExplicitPackageDependencies,
1011+ Pub : FakePubWithPrimedDeps .new ,
9691012 });
9701013
9711014 testUsingContext ('Fails fatally on Vm Service error response' , () async {
@@ -995,6 +1038,8 @@ void main() {
9951038 }, overrides: < Type , Generator > {
9961039 FileSystem : () => fileSystem,
9971040 ProcessManager : () => processManager,
1041+ FeatureFlags : enableExplicitPackageDependencies,
1042+ Pub : FakePubWithPrimedDeps .new ,
9981043 });
9991044
10001045 testUsingContext ('printHelp without details shows hot restart help message' ,
@@ -1034,6 +1079,8 @@ void main() {
10341079 }, overrides: < Type , Generator > {
10351080 FileSystem : () => fileSystem,
10361081 ProcessManager : () => processManager,
1082+ FeatureFlags : enableExplicitPackageDependencies,
1083+ Pub : FakePubWithPrimedDeps .new ,
10371084 });
10381085
10391086 testUsingContext ('cleans up Chrome if tab is closed' , () async {
@@ -1055,6 +1102,8 @@ void main() {
10551102 }, overrides: < Type , Generator > {
10561103 FileSystem : () => fileSystem,
10571104 ProcessManager : () => processManager,
1105+ FeatureFlags : enableExplicitPackageDependencies,
1106+ Pub : FakePubWithPrimedDeps .new ,
10581107 });
10591108
10601109 testUsingContext ('Prints target and device name on run' , () async {
@@ -1083,6 +1132,8 @@ void main() {
10831132 }, overrides: < Type , Generator > {
10841133 FileSystem : () => fileSystem,
10851134 ProcessManager : () => processManager,
1135+ FeatureFlags : enableExplicitPackageDependencies,
1136+ Pub : FakePubWithPrimedDeps .new ,
10861137 });
10871138
10881139 testUsingContext ('Sends launched app.webLaunchUrl event for Chrome device' ,
@@ -1148,6 +1199,8 @@ void main() {
11481199 }, overrides: < Type , Generator > {
11491200 FileSystem : () => fileSystem,
11501201 ProcessManager : () => processManager,
1202+ FeatureFlags : enableExplicitPackageDependencies,
1203+ Pub : FakePubWithPrimedDeps .new ,
11511204 });
11521205
11531206 testUsingContext (
@@ -1197,6 +1250,8 @@ void main() {
11971250 }, overrides: < Type , Generator > {
11981251 FileSystem : () => fileSystem,
11991252 ProcessManager : () => processManager,
1253+ FeatureFlags : enableExplicitPackageDependencies,
1254+ Pub : FakePubWithPrimedDeps .new ,
12001255 });
12011256
12021257 testUsingContext ('ResidentWebRunner generates files when l10n.yaml exists' , () async {
@@ -1261,6 +1316,8 @@ flutter:
12611316 }, overrides: < Type , Generator > {
12621317 FileSystem : () => fileSystem,
12631318 ProcessManager : () => processManager,
1319+ FeatureFlags : enableExplicitPackageDependencies,
1320+ Pub : FakePubWithPrimedDeps .new ,
12641321 });
12651322
12661323 // While this file should be ignored on web, generating it here will cause a
@@ -1321,6 +1378,8 @@ flutter:
13211378 }, overrides: < Type , Generator > {
13221379 FileSystem : () => fileSystem,
13231380 ProcessManager : () => processManager,
1381+ FeatureFlags : enableExplicitPackageDependencies,
1382+ Pub : FakePubWithPrimedDeps .new ,
13241383 });
13251384
13261385 testUsingContext ('Turns HttpException from ChromeTab::connect into ToolExit' , () async {
@@ -1374,6 +1433,8 @@ flutter:
13741433 }, overrides: < Type , Generator > {
13751434 FileSystem : () => fileSystem,
13761435 ProcessManager : () => processManager,
1436+ FeatureFlags : enableExplicitPackageDependencies,
1437+ Pub : FakePubWithPrimedDeps .new ,
13771438 });
13781439
13791440 testUsingContext ('Successfully turns AppConnectionException into ToolExit' ,
@@ -1388,6 +1449,8 @@ flutter:
13881449 }, overrides: < Type , Generator > {
13891450 FileSystem : () => fileSystem,
13901451 ProcessManager : () => processManager,
1452+ FeatureFlags : enableExplicitPackageDependencies,
1453+ Pub : FakePubWithPrimedDeps .new ,
13911454 });
13921455
13931456 testUsingContext ('Successfully turns ChromeDebugError into ToolExit' ,
@@ -1405,6 +1468,8 @@ flutter:
14051468 }, overrides: < Type , Generator > {
14061469 FileSystem : () => fileSystem,
14071470 ProcessManager : () => processManager,
1471+ FeatureFlags : enableExplicitPackageDependencies,
1472+ Pub : FakePubWithPrimedDeps .new ,
14081473 });
14091474
14101475 testUsingContext ('Rethrows unknown Exception type from dwds' , () async {
@@ -1418,6 +1483,8 @@ flutter:
14181483 }, overrides: < Type , Generator > {
14191484 FileSystem : () => fileSystem,
14201485 ProcessManager : () => processManager,
1486+ FeatureFlags : enableExplicitPackageDependencies,
1487+ Pub : FakePubWithPrimedDeps .new ,
14211488 });
14221489
14231490 testUsingContext ('Rethrows unknown Error type from dwds tooling' , () async {
@@ -1433,6 +1500,8 @@ flutter:
14331500 }, overrides: < Type , Generator > {
14341501 FileSystem : () => fileSystem,
14351502 ProcessManager : () => processManager,
1503+ FeatureFlags : enableExplicitPackageDependencies,
1504+ Pub : FakePubWithPrimedDeps .new ,
14361505 });
14371506
14381507 testUsingContext ('throws when port is an integer outside the valid TCP range' , () async {
0 commit comments