import 'dart:io'; import 'package:chalkdart/chalk.dart'; import 'package:path/path.dart' as path; import 'package:pubspec_parse/pubspec_parse.dart'; bool _isFlutter(File pubpsec) { String contents = pubpsec.readAsStringSync(); final parsedPubspec = Pubspec.parse(contents); final deps = parsedPubspec.dependencies; return deps['flutter'] != null; } void runPubGetInDir(String dir) { // Get pubspec.yaml String pubspecPath = path.join(dir, 'pubspec.yaml'); final pubspec = File(pubspecPath); if (!pubspec.existsSync()) { print( "Skipping 'pub get' in directory: $dir because no pubspec.yaml file was found"); return; } bool isFlutter = _isFlutter(pubspec); List arguments = []; String exe = "dart"; if (isFlutter) { exe = "flutter"; arguments.add("--no-version-check"); arguments.add("--suppress-analytics"); arguments.addAll(["pub", "get"]); } else { arguments.add("pub"); arguments.add("--suppress-analytics"); arguments.add("get"); } final res = Process.runSync(exe, arguments, workingDirectory: dir); if (res.exitCode != 0) { print(chalk .red("Failed to get dependencies of package. Error: ${res.stderr}")); } }