generateDocsBase method
Implementation
@visibleForTesting
Future<DartdocResults> generateDocsBase() async {
var stopwatch = Stopwatch()..start();
runtimeStats.startPerfTask('buildPackageGraph');
var packageGraph = await packageBuilder.buildPackageGraph();
runtimeStats.endPerfTask();
if (packageBuilder.includeExternalsWasSpecified) {
packageGraph.defaultPackage.warn(
PackageWarning.deprecated,
message:
"The '--include-externals' option is deprecated, and will soon be "
'removed.',
);
}
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) {
runtimeStats.startPerfTask('validateLinks');
Validator(packageGraph, config, _outputDir.path, writtenFiles,
_onCheckProgress)
.validateLinks();
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);
}