diff --git a/lib/src/util.dart b/lib/src/util.dart new file mode 100644 index 0000000..94fd18b --- /dev/null +++ b/lib/src/util.dart @@ -0,0 +1,21 @@ +import 'dart:ffi'; +import 'dart:io'; +import 'bindings/libgit2_bindings.dart'; + +DynamicLibrary loadLibrary() { + if (Platform.isLinux || Platform.isAndroid || Platform.isFuchsia) { + return DynamicLibrary.open( + '${Directory.current.path}/libgit2-1.1.0/libgit2.so'); + } + if (Platform.isMacOS) { + return DynamicLibrary.open( + '${Directory.current.path}/libgit2-1.1.0/libgit2.dylib'); + } + if (Platform.isWindows) { + return DynamicLibrary.open( + '${Directory.current.path}/libgit2-1.1.0/libgit2.dll'); + } + throw Exception('Platform not implemented'); +} + +final libgit2 = Libgit2(loadLibrary());