Be more quiet when doing implicit pub get (#3847)
diff --git a/lib/pub.dart b/lib/pub.dart index b1239f7..0dd0e90 100644 --- a/lib/pub.dart +++ b/lib/pub.dart
@@ -32,15 +32,25 @@ /// .dart_tool/package_config.json are up-to-date and all packages are /// downloaded to the cache. /// -/// Will attempt +/// Will compare file timestamps to see if full resolution can be skipped. +/// +/// If [summaryOnly] is `true` (the default) only a short summary is shown of +/// the solve. +/// +/// If [onlyOutputWhenTerminal] is `true` (the default) there will be no +/// output if no terminal is attached. Future<void> ensurePubspecResolved( String dir, { PubAnalytics? analytics, bool isOffline = false, bool checkForSdkUpdate = false, + bool summaryOnly = true, + bool onlyOutputWhenTerminal = true, }) async { await Entrypoint(dir, SystemCache(isOffline: isOffline)).ensureUpToDate( analytics: analytics, checkForSdkUpdate: checkForSdkUpdate, + summaryOnly: summaryOnly, + onlyOutputWhenTerminal: onlyOutputWhenTerminal, ); }
diff --git a/lib/src/entrypoint.dart b/lib/src/entrypoint.dart index f92ff26..c4cf03e 100644 --- a/lib/src/entrypoint.dart +++ b/lib/src/entrypoint.dart
@@ -603,18 +603,40 @@ } } - /// Does a fast-pass check to see if the resolution is up-to-date ([_isUpToDate]). - /// If not, run a resolution with `pub get` semantics. + /// Does a fast-pass check to see if the resolution is up-to-date + /// ([_isUpToDate]). If not, run a resolution with `pub get` semantics. /// /// If [checkForSdkUpdate] is `true`, the resolution is considered outdated if /// the package_config.json was created by a different sdk. See /// [_isPackageConfigGeneratedBySameDartSdk]. + /// + /// If [summaryOnly] is `true` (the default) only a short summary is shown of + /// the solve. + /// + /// If [onlyOutputWhenTerminal] is `true` (the default) there will be no + /// output if no terminal is attached. Future<void> ensureUpToDate({ bool checkForSdkUpdate = false, PubAnalytics? analytics, + bool summaryOnly = true, + bool onlyOutputWhenTerminal = true, }) async { if (!_isUpToDate(checkForSdkUpdate: checkForSdkUpdate)) { - await acquireDependencies(SolveType.get, analytics: analytics); + if (onlyOutputWhenTerminal) { + await log.errorsOnlyUnlessTerminal(() async { + await acquireDependencies( + SolveType.get, + analytics: analytics, + summaryOnly: summaryOnly, + ); + }); + } else { + await acquireDependencies( + SolveType.get, + analytics: analytics, + summaryOnly: summaryOnly, + ); + } } else { log.fine('Package Config up to date.'); }
diff --git a/test/embedding/embedding_test.dart b/test/embedding/embedding_test.dart index 4b8e7ac..480acae 100644 --- a/test/embedding/embedding_test.dart +++ b/test/embedding/embedding_test.dart
@@ -394,7 +394,6 @@ buffer.toString(), allOf( contains('Resolving dependencies'), - contains('+ foo 1.0.0'), contains('42'), ), );