From 4c057f8d5ba03b19c7e3abd3b792e70f6c2ea853 Mon Sep 17 00:00:00 2001 From: Sam Rawlins Date: Thu, 12 Sep 2024 10:52:06 -0700 Subject: [PATCH] Add output-size info to the '--stats' flag on various tasks. 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. --- tool/task.dart | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tool/task.dart b/tool/task.dart index 3b394a5291..5e7f8a0f5e 100644 --- a/tool/task.dart +++ b/tool/task.dart @@ -566,7 +566,7 @@ Future>> _docSdk({ var launcher = SubprocessLauncher('build-sdk-docs'); await launcher .runStreamedDartCommand(['pub', 'get'], workingDirectory: dartdocPath); - return await launcher.runStreamedDartCommand( + var output = await launcher.runStreamedDartCommand( [ '--enable-asserts', path.join('bin', 'dartdoc.dart'), @@ -587,6 +587,19 @@ Future>> _docSdk({ workingDirectory: dartdocPath, withStats: withStats, ); + if (withStats && (Platform.isLinux || Platform.isMacOS)) { + var diskUsageResult = Process.runSync('du', ['-sh', sdkDocsPath]); + // Output looks like + // 146M /var/folders/72/ltck4q353hsg3bn8kpkg7f84005w15/T/sdkdocsHcquiB + var diskUsageNumber = + (diskUsageResult.stdout as String).trim().split(RegExp('\\s+')).first; + + // Prints all files in `sdkDocsPath`, newline-separated. + var findResult = Process.runSync('find', [sdkDocsPath, '-type', 'f']); + var fileCount = (findResult.stdout as String).split('\n').length; + print('Generated $fileCount files amounting to $diskUsageNumber.'); + } + return output; } /// Creates a clean version of dartdoc (based on the current directory, assumed