Merge pull request 'ci(main): code metrix added' (#14) from apoloz/eatvio_app:main into main

Reviewed-on: http://10.55.5.123:3000/eatvio/eatvio_app/pulls/14
This commit is contained in:
apoloz
2024-02-27 13:16:45 +00:00
4 changed files with 100 additions and 15 deletions

View File

@@ -0,0 +1,48 @@
name: Android Release
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install jq
run: |
apt update
apt-get install -y jq
- uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: "12.x"
cache: "gradle"
- uses: actions/flutter-action@v2
with:
channel: "stable"
flutter-version: "3.19.0"
cache: true
cache-key: "flutter-:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
pub-cache-key: "flutter-pub:os:-:channel:-:version:-:arch:-:hash:" # optional, change this to force refresh cache of dart pub get dependencies
pub-cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:" # optional, change this to specify the cache path
- name: fix dir permissions
run: |
git config --global --add safe.directory /opt/hostedtoolcache/flutter/stable-3.19.0-x64
flutter --version
- name: Get dependencies
run: flutter pub get
- name: Run Code Metrics
run: flutter pub run dart_code_metrics:metrics lib --disable-sunset-warning --fatal-warnings --fatal-performance
# - name: Build apk
# run: flutter build apk
# Runs a set of commands using the runners shell
# - name: Start release build
# run: flutter build appbundle

View File

@@ -2,7 +2,7 @@
# eatvio_app
### Системные требования
- Flutter (Channel stable, 3.16.4, on Ubuntu 22.04.3 LTS 6.2.0-39-generic, locale en_US.UTF-8)
- Flutter (Channel stable, 3.19.0, on Ubuntu 22.04.3 LTS 6.2.0-39-generic, locale en_US.UTF-8)
- Android Studio (version 2023.1)
- VS Code (version 1.85.0)
- Android SDK (version 34.0.0) - устанавливается из Android Studio (Tools->SDK Manager->Android Command Line Tools)
@@ -32,26 +32,27 @@
Для тестирования на устройствах Android в корневой папке проекта выполните команду
flutter build apk
`# flutter build apk`
после чего .apk файл скомпилируется в директории build/app/outputs/flutter-apk/app-release.apk
после чего `.apk` файл скомпилируется в директории `build/app/outputs/flutter-apk/app-release.apk`
Данный файл установит приложение на устройство с актуальной версией OS
### Библиотеки и инструменты
flutter_bloc - контроль состояний
cached_network_image - кеширование картинок из веба
flutter_svg - работа с изображениями
equatable - сравнение без оператора "=="
validators - валидация
hive - локальная бд (1)
hive_flutter - локальная бд (2)
isar_flutter_libs - локальная бд (3)
path_provider - динамичкские пути до файлов
fl_chart - построение графиков
flutter_spinkit - прелоадеры
flutter_dotenv - переменные окружения
- **flutter_bloc** - контроль состояний
- **cached_network_image** - кеширование картинок из веба
- **flutter_svg** - работа с изображениями
- **equatable** - сравнение без оператора "=="
- **validators** - валидация
- **hive** - локальная бд (1)
- **hive_flutter** - локальная бд (2)
- **isar_flutter_libs** - локальная бд (3)
- **path_provider** - динамичкские пути до файлов
- **fl_chart** - построение графиков
- **flutter_spinkit** - прелоадеры
- **flutter_dotenv** - переменные окружения
### Поддержка

34
analysis_options.yaml Normal file
View File

@@ -0,0 +1,34 @@
analyzer:
plugins:
- dart_code_metrics
dart_code_metrics:
extends:
- package:dart_code_metrics_presets/flutter_all.yaml
- package:dart_code_metrics_presets/bloc.yaml
metrics:
cyclomatic-complexity: 20
lines-of-executable-code: 50
number-of-parameters: 4
maximum-nesting-level: 5
metrics-exclude:
- test/**
# extends:
# - recommended
# anti-patterns:
# - long-method
# - long-parameter-list
# metrics:
# cyclomatic-complexity: 20
# lines-of-executable-code: 50
# number-of-parameters: 4
# maximum-nesting-level: 5
# metrics-exclude:
# - test/**
# rules:
# - newline-before-return
# - no-boolean-literal-compare
# - no-empty-block
# - prefer-trailing-comma
# - prefer-conditional-expressions
# - no-equal-then-else

View File

@@ -25,6 +25,8 @@ dependencies:
carousel_slider: ^4.2.1
dev_dependencies:
dart_code_metrics: ^5.7.6
dart_code_metrics_presets: ^1.8.0
flutter_test:
sdk: flutter
flutter: