Line data Source code
1 : import 'package:mason/mason.dart'; 2 : import 'package:universal_io/io.dart'; 3 : import 'package:very_good_cli/src/cli/cli.dart'; 4 : 5 : /// Runs `dart pub get` in the [outputDir]. 6 1 : Future<bool> installDartPackages( 7 : Logger logger, 8 : Directory outputDir, { 9 : bool recursive = false, 10 : }) async { 11 1 : final isDartInstalled = await Dart.installed(logger: logger); 12 : if (isDartInstalled) { 13 1 : return Dart.pubGet( 14 1 : cwd: outputDir.path, 15 : recursive: recursive, 16 : logger: logger, 17 : ); 18 : } 19 : return false; 20 : } 21 : 22 : /// Runs `flutter pub get` in the [outputDir]. 23 1 : Future<bool> installFlutterPackages( 24 : Logger logger, 25 : Directory outputDir, { 26 : bool recursive = false, 27 : }) async { 28 1 : final isFlutterInstalled = await Flutter.installed(logger: logger); 29 : if (isFlutterInstalled) { 30 1 : return Flutter.pubGet( 31 1 : cwd: outputDir.path, 32 : recursive: recursive, 33 : logger: logger, 34 : ); 35 : } 36 : return false; 37 : } 38 : 39 : /// Runs `dart fix --apply` in the [outputDir]. 40 1 : Future<void> applyDartFixes( 41 : Logger logger, 42 : Directory outputDir, { 43 : bool recursive = false, 44 : }) async { 45 1 : final isDartInstalled = await Dart.installed(logger: logger); 46 : if (isDartInstalled) { 47 1 : final applyFixesProgress = logger.progress( 48 2 : 'Running "dart fix --apply" in ${outputDir.path}', 49 : ); 50 1 : await Dart.applyFixes( 51 1 : cwd: outputDir.path, 52 : recursive: recursive, 53 : logger: logger, 54 : ); 55 1 : applyFixesProgress.complete(); 56 : } 57 : }