generateFullProject method

Future<bool> generateFullProject()

Implementation

Future<bool> generateFullProject() async {

  final foundPath = await findProjPath();


  if (foundPath == null) {
    print('❌ Could not locate Template folder in parent directories.');
    return false;
  }

  final templateLib = path.join(foundPath, 'lib');
  final targetLib = path.normalize(path.absolute('lib'));

  // Check if target lib directory exists and remove it first
  final libDir = Directory(targetLib);
  if (libDir.existsSync()) {
    try {
      libDir.deleteSync(recursive: true);
      print('🔄 Removed existing lib directory');
    } catch (e) {
      print('❌ Failed to remove existing lib directory: $e');
      return false;
    }
  }
  // Copy lib directory
  final libResult =
      copyDirectory(Directory(templateLib), Directory(targetLib));

  // Copy pubspec.yaml file
  final templatePubspec = File(path.join(foundPath, 'pubspec.yaml'));
  final targetPubspec = File(path.normalize(path.absolute('pubspec.yaml')));
  final pubspecResult = copyPubspecFile(templatePubspec, targetPubspec);

  return libResult && pubspecResult;
}