in lib/src/sdk_env.dart [393:441]
Future<DartdocResult> dartdoc(
String packageDir,
String outputDir, {
String? hostedUrl,
String? canonicalPrefix,
bool validateLinks = true,
bool linkToRemote = false,
Duration? timeout,
List<String>? excludedLibs,
}) async {
ProcessResult pr;
final args = [
'--output',
outputDir,
];
if (excludedLibs != null && excludedLibs.isNotEmpty) {
args.addAll(['--exclude', excludedLibs.join(',')]);
}
if (hostedUrl != null) {
args.addAll(['--hosted-url', hostedUrl]);
}
if (canonicalPrefix != null) {
args.addAll(['--rel-canonical-prefix', canonicalPrefix]);
}
if (!validateLinks) {
args.add('--no-validate-links');
}
if (linkToRemote) {
args.add('--link-to-remote');
}
if (_useGlobalDartdoc) {
pr = await runProc(
[..._pubCmd, 'global', 'run', 'dartdoc', ...args],
workingDirectory: packageDir,
environment: _globalDartdocEnv(),
timeout: timeout,
);
} else {
pr = await runProc(
[..._dartdocCmd, ...args],
workingDirectory: packageDir,
environment: _environment,
timeout: timeout,
);
}
final hasIndexHtml = await File(p.join(outputDir, 'index.html')).exists();
final hasIndexJson = await File(p.join(outputDir, 'index.json')).exists();
return DartdocResult(pr, pr.exitCode == 15, hasIndexHtml, hasIndexJson);
}