dartdoc method
Implementation
Future<PanaProcessResult> dartdoc(
String packageDir,
String outputDir, {
Duration? timeout,
required bool usesFlutter,
}) async {
final sdkDir = usesFlutter
? _flutterSdk._dartSdk._config.rootPath
: _dartSdk._config.rootPath;
final args = [
'--output',
outputDir,
'--sanitize-html',
'--max-file-count',
'$_defaultMaxFileCount',
'--max-total-size',
'$_defaultMaxTotalLengthBytes',
'--no-validate-links',
if (sdkDir != null) ...['--sdk-dir', sdkDir],
];
if (_dartdocVersion == 'sdk') {
final command =
usesFlutter ? _flutterSdk._dartSdk.dartCmd : _dartSdk.dartCmd;
return await runConstrained(
[...command, 'doc', ...args],
workingDirectory: packageDir,
environment: _dartSdk.environment,
timeout: timeout,
);
} else {
if (!_globalDartdocActivated) {
await runConstrained(
[
..._dartSdk.dartCmd,
'pub',
'global',
'activate',
'dartdoc',
if (_dartdocVersion != null) _dartdocVersion!,
],
environment: {
..._dartSdk.environment,
'PUB_HOSTED_URL': 'https://pub.dev',
},
throwOnError: true,
);
_globalDartdocActivated = true;
}
final command = usesFlutter ? _flutterSdk.flutterCmd : _dartSdk.dartCmd;
return await runConstrained(
[...command, 'pub', 'global', 'run', 'dartdoc', ...args],
workingDirectory: packageDir,
environment:
usesFlutter ? _flutterSdk.environment : _dartSdk.environment,
timeout: timeout,
);
}
}