runPubGet function

ProcessResult runPubGet(
  1. String packagePath, {
  2. String? sdkPath,
  3. String? flutterRoot,
  4. List<String> additionalArgs = const [],
})

Runs pub get (routing to flutter pub get or dart pub get) for the package at packagePath.

Implementation

ProcessResult runPubGet(
  String packagePath, {
  String? sdkPath,
  String? flutterRoot,
  List<String> additionalArgs = const [],
}) {
  final isFlutter = isFlutterPackage(packagePath);
  final String executable;
  final List<String> args;

  if (isFlutter) {
    final flutterExe = findFlutterExecutable(flutterRoot: flutterRoot);
    if (flutterExe == null) {
      throw const SdkDiscoveryException(
        'Cannot locate flutter executable to resolve dependencies. Set '
        'FLUTTER_ROOT or ensure flutter is on PATH.',
      );
    }
    executable = flutterExe;
    args = ['pub', 'get', ...additionalArgs];
  } else {
    executable = findDartExecutable(sdkPath: sdkPath) ?? 'dart';
    args = ['pub', 'get', ...additionalArgs];
  }

  return Process.runSync(executable, args, workingDirectory: packagePath);
}