fetchNativeLibs function

Future<void> fetchNativeLibs()

Implementation

Future<void> fetchNativeLibs() async {
  final packageName = 'dart_lmdb2';
  final destPackageName = 'flutter_lmdb2';

  final sourceDir = resolveNativeDir(packageName);
  if (sourceDir == null) {
    print('Error: Could not resolve native directory in package $packageName');
    exit(1);
  }

  var targetDir = resolveNativeDir(destPackageName);
  if (targetDir == null) {
    print('Warning: Could not resolve package directory of $destPackageName');
    targetDir = Directory('lib/src/native');
    print('Warning: using $targetDir instead');
  }

  try {
    // Perform the copy operation
    print('Copying native library files');
    print('  Source: ${sourceDir.path}');
    print('  Target: ${targetDir.path}');
    await copyDirectory(sourceDir, targetDir);
  } catch (e) {
    print('Error during copy operation: $e');
    exit(1);
  }
}