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 `flutter pub get` in the [outputDir]. 6 3 : Future<void> installDartPackages( 7 : Logger logger, 8 : Directory outputDir, 9 : ) async { 10 3 : final isFlutterInstalled = await Flutter.installed(logger: logger); 11 : if (isFlutterInstalled) { 12 3 : final installDependenciesProgress = logger.progress( 13 6 : 'Running "flutter pub get" in ${outputDir.path}', 14 : ); 15 6 : await Flutter.pubGet(cwd: outputDir.path, logger: logger); 16 3 : installDependenciesProgress.complete(); 17 : } 18 : } 19 : 20 : /// Runs `flutter packages get` in the [outputDir]. 21 3 : Future<void> installFlutterPackages( 22 : Logger logger, 23 : Directory outputDir, { 24 : bool recursive = false, 25 : }) async { 26 3 : final isFlutterInstalled = await Flutter.installed(logger: logger); 27 : if (isFlutterInstalled) { 28 3 : await Flutter.packagesGet( 29 3 : cwd: outputDir.path, 30 : recursive: recursive, 31 : logger: logger, 32 : ); 33 : } 34 : } 35 : 36 : /// Runs `dart fix --apply` in the [outputDir]. 37 6 : Future<void> applyDartFixes( 38 : Logger logger, 39 : Directory outputDir, { 40 : bool recursive = false, 41 : }) async { 42 6 : final isDartInstalled = await Dart.installed(logger: logger); 43 : if (isDartInstalled) { 44 6 : final applyFixesProgress = logger.progress( 45 12 : 'Running "dart fix --apply" in ${outputDir.path}', 46 : ); 47 6 : await Dart.applyFixes( 48 6 : cwd: outputDir.path, 49 : recursive: recursive, 50 : logger: logger, 51 : ); 52 6 : applyFixesProgress.complete(); 53 : } 54 : }