generateDocsBase method
Implementation
@visibleForTesting
Future<DartdocResults> generateDocsBase() async {
var stopwatch = Stopwatch()..start();
runtimeStats.startPerfTask('buildPackageGraph');
var packageGraph = await packageBuilder.buildPackageGraph();
runtimeStats.endPerfTask();
var libs = packageGraph.libraryCount;
logInfo("Initialized dartdoc with $libs librar${libs == 1 ? 'y' : 'ies'}");
runtimeStats.startPerfTask('generator.generate');
await generator.generate(packageGraph);
runtimeStats.endPerfTask();
var writtenFiles = generator.writtenFiles;
if (config.validateLinks &&
writtenFiles.isNotEmpty &&
generator.supportsLinkValidation) {
runtimeStats.startPerfTask('validateLinks');
await generator.validateGeneratedLinks(
packageGraph,
config,
_outputDir.path,
_onCheckProgress,
);
runtimeStats.endPerfTask();
}
var warnings = packageGraph.packageWarningCounter.warningCount;
var errors = packageGraph.packageWarningCounter.errorCount;
logWarning(
"Found $warnings ${pluralize('warning', warnings)} "
"and $errors ${pluralize('error', errors)}.",
);
var seconds = stopwatch.elapsedMilliseconds / 1000.0;
libs = packageGraph.localPublicLibraries.length;
logInfo(
"Documented $libs public librar${libs == 1 ? 'y' : 'ies'} "
'in ${seconds.toStringAsFixed(1)} seconds',
);
if (config.showStats) {
logInfo(runtimeStats.buildReport());
}
return DartdocResults(config.topLevelPackageMeta, packageGraph, _outputDir);
}