Eliminate uses of pub executable in docs publishing and sample analysis. (#89181)
diff --git a/dartdoc_options.yaml b/dartdoc_options.yaml
index d82f23c..f73d457 100644
--- a/dartdoc_options.yaml
+++ b/dartdoc_options.yaml
@@ -5,13 +5,13 @@
# The dev/bots/docs.sh script does this automatically.
tools:
snippet:
- command: ["bin/cache/dart-sdk/bin/pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=snippet"]
+ command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=snippet"]
description: "Creates sample code documentation output from embedded documentation samples."
sample:
- command: ["bin/cache/dart-sdk/bin/pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=sample"]
+ command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=sample"]
description: "Creates full application sample code documentation output from embedded documentation samples."
dartpad:
- command: ["bin/cache/dart-sdk/bin/pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=dartpad"]
+ command: ["bin/cache/dart-sdk/bin/dart", "pub", "global", "run", "snippets", "--output-directory=doc/snippets", "--type=dartpad"]
description: "Creates full application sample code documentation output from embedded documentation samples and displays it in an embedded DartPad."
errors:
# Default errors of dartdoc:
diff --git a/dev/bots/analyze_sample_code.dart b/dev/bots/analyze_sample_code.dart
index c9e38f8..1102b34 100644
--- a/dev/bots/analyze_sample_code.dart
+++ b/dev/bots/analyze_sample_code.dart
@@ -26,13 +26,6 @@
final String _defaultDartUiLocation = path.join(_flutterRoot, 'bin', 'cache', 'pkg', 'sky_engine', 'lib', 'ui');
final String _flutter = path.join(_flutterRoot, 'bin', Platform.isWindows ? 'flutter.bat' : 'flutter');
-/// Finds the location of the pub executable, with the assumption that it is
-/// in the same location as the Dart executable used to run this script.
-String get _pubExecutable {
- final File dartExecutable = File(Platform.resolvedExecutable);
- return path.join(path.dirname(dartExecutable.absolute.path), Platform.isWindows ? 'pub.exe' : 'pub');
-}
-
Future<void> main(List<String> arguments) async {
final ArgParser argParser = ArgParser();
argParser.addOption(
@@ -129,8 +122,9 @@
if (parsedArguments['global-activate-snippets']! as bool) {
try {
Process.runSync(
- _pubExecutable,
+ Platform.resolvedExecutable,
<String>[
+ 'pub',
'global',
'activate',
'snippets',
@@ -449,8 +443,9 @@
_flutterVersion = versionResult.stdout as String? ?? '';
}
return Process.run(
- _pubExecutable,
+ Platform.resolvedExecutable,
<String>[
+ 'pub',
'global',
'run',
'snippets',
diff --git a/dev/bots/docs.sh b/dev/bots/docs.sh
index 111b666..ce79dc4 100755
--- a/dev/bots/docs.sh
+++ b/dev/bots/docs.sh
@@ -20,18 +20,18 @@
# Install and activate dartdoc.
# NOTE: When updating to a new dartdoc version, please also update
# `dartdoc_options.yaml` to include newly introduced error and warning types.
- "$PUB" global activate dartdoc 2.0.0
+ "$DART" pub global activate dartdoc 2.0.0
# Install and activate the snippets tool, which resides in the
# assets-for-api-docs repo:
# https://github.com/flutter/assets-for-api-docs/tree/master/packages/snippets
# >>> If you update this version, also update it in dev/bots/analyze_sample_code.dart <<<
- "$PUB" global activate snippets 0.2.3
+ "$DART" pub global activate snippets 0.2.3
# This script generates a unified doc set, and creates
# a custom index.html, placing everything into dev/docs/doc.
(cd "$FLUTTER_ROOT/dev/tools" && "$FLUTTER" pub get)
- (cd "$FLUTTER_ROOT/dev/tools" && "$PUB" get)
+ (cd "$FLUTTER_ROOT/dev/tools" && "$DART" pub get)
(cd "$FLUTTER_ROOT" && "$DART" --disable-dart-dev --enable-asserts "$FLUTTER_ROOT/dev/tools/dartdoc.dart")
(cd "$FLUTTER_ROOT" && "$DART" --disable-dart-dev --enable-asserts "$FLUTTER_ROOT/dev/tools/java_and_objc_doc.dart")
}
@@ -128,7 +128,6 @@
DART_BIN="$FLUTTER_ROOT/bin/cache/dart-sdk/bin"
FLUTTER="$FLUTTER_BIN/flutter"
DART="$DART_BIN/dart"
-PUB="$DART_BIN/pub"
export PATH="$FLUTTER_BIN:$DART_BIN:$PATH"
# Make sure dart is installed by invoking Flutter to download it.