Skip to content

Commit 98dd9da

Browse files
authored
Add output-size info to the '--stats' flag on various tasks. (#3879)
The '--stats' flag currently wraps commands with a call to `time`, and passes a flag to `dartdoc.dart`. This adds a call to `du` in order to report how many MB are generated by dartdoc.
1 parent 090b05b commit 98dd9da

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

tool/task.dart

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -566,7 +566,7 @@ Future<Iterable<Map<String, Object?>>> _docSdk({
566566
var launcher = SubprocessLauncher('build-sdk-docs');
567567
await launcher
568568
.runStreamedDartCommand(['pub', 'get'], workingDirectory: dartdocPath);
569-
return await launcher.runStreamedDartCommand(
569+
var output = await launcher.runStreamedDartCommand(
570570
[
571571
'--enable-asserts',
572572
path.join('bin', 'dartdoc.dart'),
@@ -587,6 +587,19 @@ Future<Iterable<Map<String, Object?>>> _docSdk({
587587
workingDirectory: dartdocPath,
588588
withStats: withStats,
589589
);
590+
if (withStats && (Platform.isLinux || Platform.isMacOS)) {
591+
var diskUsageResult = Process.runSync('du', ['-sh', sdkDocsPath]);
592+
// Output looks like
593+
// 146M /var/folders/72/ltck4q353hsg3bn8kpkg7f84005w15/T/sdkdocsHcquiB
594+
var diskUsageNumber =
595+
(diskUsageResult.stdout as String).trim().split(RegExp('\\s+')).first;
596+
597+
// Prints all files in `sdkDocsPath`, newline-separated.
598+
var findResult = Process.runSync('find', [sdkDocsPath, '-type', 'f']);
599+
var fileCount = (findResult.stdout as String).split('\n').length;
600+
print('Generated $fileCount files amounting to $diskUsageNumber.');
601+
}
602+
return output;
590603
}
591604

592605
/// Creates a clean version of dartdoc (based on the current directory, assumed

0 commit comments

Comments
 (0)