refactor(setup): simplify setup for flutter applications (#12)

This commit is contained in:
Aleksey Kulikov 2021-11-01 19:05:55 +03:00 committed by GitHub
parent c8895524be
commit 678f6208f6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 119 additions and 139 deletions

34
lib/src/libgit2.dart Normal file
View 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();
}
}