mirror of
https://github.com/SkinnyMind/libgit2dart.git
synced 2025-05-05 04:39:07 -04:00
refactor(setup): simplify setup for flutter applications (#12)
This commit is contained in:
parent
c8895524be
commit
678f6208f6
9 changed files with 119 additions and 139 deletions
34
lib/src/libgit2.dart
Normal file
34
lib/src/libgit2.dart
Normal file
|
@ -0,0 +1,34 @@
|
|||
import 'dart:ffi';
|
||||
|
||||
import 'package:ffi/ffi.dart';
|
||||
import 'package:libgit2dart/libgit2dart.dart';
|
||||
import 'package:libgit2dart/src/util.dart';
|
||||
|
||||
class Libgit2 {
|
||||
/// Returns libgit2 version number.
|
||||
static String get version {
|
||||
libgit2.git_libgit2_init();
|
||||
|
||||
final major = calloc<Int32>();
|
||||
final minor = calloc<Int32>();
|
||||
final rev = calloc<Int32>();
|
||||
libgit2.git_libgit2_version(major, minor, rev);
|
||||
|
||||
final version = '${major.value}.${minor.value}.${rev.value}';
|
||||
|
||||
calloc.free(major);
|
||||
calloc.free(minor);
|
||||
calloc.free(rev);
|
||||
|
||||
return version;
|
||||
}
|
||||
|
||||
/// Returns list of options libgit2 was compiled with.
|
||||
static Set<GitFeature> get features {
|
||||
libgit2.git_libgit2_init();
|
||||
final featuresInt = libgit2.git_libgit2_features();
|
||||
return GitFeature.values
|
||||
.where((e) => featuresInt & e.value == e.value)
|
||||
.toSet();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue