Заказать мобильную разработку: https://amiga.ru//?utm_source=tg
Заказать рекламу в канале @amiga_agency_bot
Новости Flutter-разработки, дайджесты мероприятий, личный опыт.
Post #444
2.33K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead в Amiga. Сегодня мы продолжим говорить про Git Hooks, а именно рассмотрим, как их можно делать на Dart.
В этом нам поможет библиотека git_hooks. Ее нужно активировать глобально.
Далее создать место, где будут храниться наши хуки внутри нашего проекта.
Потом необходимо создать файл
И выполнить команду, которая все для нас подготовит
После чего мы можем приступить к написанию нашего хука. Заполним наш файл
Теперь наш хук должен заработать.
На самом деле, такое решение вполне применимо, но лучше использовать стандартные хуки на Bash.
Делитесь в чате, попробовали ли бы использовать такие хуки?
В этом нам поможет библиотека git_hooks. Ее нужно активировать глобально.
dart pub global activate git_hooks
Далее создать место, где будут храниться наши хуки внутри нашего проекта.
git_hooks create bin/git_hooks.dart
Потом необходимо создать файл
bin/main.dart со следующим содержанием:void main() async{
GitHooks.init(targetPath: "bin/git_hooks.dart");
}И выполнить команду, которая все для нас подготовит
dart bin/main.dart
После чего мы можем приступить к написанию нашего хука. Заполним наш файл
git_hooks.dart:void main(List arguments) {
Map<Git, UserBackFun> params = {
Git.preCommit: _formatCode,
};
GitHooks.call(arguments, params);
}
Future<bool> _formatCode() async {
try {
print(‘Running dart format’);
ProcessResult result = await Process.run(‘dart format .’, [‘bin’]);
print(result.stdout);
if (result.exitCode != 0) return false;
} catch (e) {
return false;
}
return true;
}Теперь наш хук должен заработать.
На самом деле, такое решение вполне применимо, но лучше использовать стандартные хуки на Bash.
Делитесь в чате, попробовали ли бы использовать такие хуки?
- 🔥 3
- ❤ 2
- 👍 2


















