diff --git a/.github/workflows/flutter_test.yaml b/.github/workflows/flutter_test.yaml index dfd29ba..9e42ccd 100644 --- a/.github/workflows/flutter_test.yaml +++ b/.github/workflows/flutter_test.yaml @@ -9,7 +9,9 @@ name: Flutter_Test on: pull_request: - types: [opened, synchronize] + branches: + - main + - develop push: branches: - main diff --git a/.gitignore b/.gitignore index 9d532b1..86ca5ad 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ app.*.symbols # Obfuscation related app.*.map.json +/coverage/ diff --git a/README.md b/README.md index a97bd65..ed21079 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ A sample Todo App with Provider This project uses Git-Flow +## version +1.3.1 + ## DEMO ![Screenshot showing TODOAppSample-Flutter for TodoList](docs/images/demo_todo_list.png "Demo Todo List") ![Screenshot showing TODOAppSample-Flutter for TodoDetail](docs/images/demo_todo_detail.png "Demo Todo Detail") @@ -10,6 +13,11 @@ This project uses Git-Flow ## Diagram ![todoapp_flutter_class_diagram](docs/images/todosample-flutter_class_diagramm.jpg "diagram") +## Testing +To test on MacOS, execute the following command +> flutter test --coverage +> genhtml coverage/lcov.info -o coverage/html + ## Libraries - provider: ^4.3.2+2 - sqflite: ^1.3.2+1 diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index 6138350..0000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,302 +0,0 @@ -SF:lib\domain\todo_item.dart -DA:9,3 -DA:25,2 -DA:26,3 -DA:27,3 -DA:28,2 -DA:29,2 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,3 -DA:37,3 -DA:38,1 -DA:42,2 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,3 -DA:47,3 -DA:48,2 -DA:51,1 -DA:53,4 -LF:23 -LH:23 -end_of_record -SF:lib\presentation\todo_item_detail\todo_item_detail_model.dart -DA:13,1 -DA:22,1 -DA:23,3 -DA:26,3 -DA:27,1 -DA:28,3 -DA:29,1 -DA:30,1 -DA:32,1 -DA:35,1 -DA:36,1 -DA:38,3 -DA:39,3 -DA:40,1 -DA:42,3 -DA:43,1 -LF:16 -LH:16 -end_of_record -SF:lib\presentation\todo_list\todo_list_model.dart -DA:14,1 -DA:19,1 -DA:20,3 -DA:28,1 -DA:29,4 -DA:30,1 -DA:31,1 -DA:34,1 -DA:35,3 -DA:36,1 -DA:39,1 -DA:40,3 -DA:41,1 -DA:44,1 -DA:46,1 -DA:47,1 -DA:49,0 -DA:50,0 -DA:53,3 -DA:54,2 -DA:57,1 -DA:58,3 -DA:61,2 -DA:62,1 -LF:24 -LH:22 -end_of_record -SF:lib\presentation\main.dart -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:23,0 -DA:24,0 -DA:27,0 -DA:33,0 -DA:35,0 -DA:37,0 -LF:12 -LH:0 -end_of_record -SF:lib\common\database_provider.dart -DA:20,0 -DA:22,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:32,0 -DA:33,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -LF:19 -LH:0 -end_of_record -SF:lib\common\persistence_storage_provider.dart -DA:11,0 -DA:13,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:23,0 -DA:24,0 -LF:8 -LH:0 -end_of_record -SF:lib\infrastructure\storage_repository_impl.dart -DA:16,0 -DA:17,0 -DA:18,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:28,0 -DA:29,0 -DA:30,0 -LF:9 -LH:0 -end_of_record -SF:lib\infrastructure\todo_item_repository_impl.dart -DA:15,0 -DA:18,0 -DA:20,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:31,0 -DA:32,0 -DA:40,0 -DA:41,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:66,0 -DA:67,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:84,0 -DA:85,0 -LF:39 -LH:0 -end_of_record -SF:lib\presentation\todo_list\todo_list_page.dart -DA:22,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:34,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:40,0 -DA:41,0 -DA:42,0 -DA:43,0 -DA:46,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:65,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:73,0 -DA:74,0 -DA:76,0 -DA:77,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:84,0 -DA:85,0 -DA:86,0 -DA:87,0 -DA:89,0 -DA:91,0 -DA:92,0 -DA:93,0 -DA:95,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:107,0 -DA:113,0 -DA:114,0 -DA:115,0 -DA:116,0 -DA:118,0 -DA:125,0 -DA:127,0 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:136,0 -LF:68 -LH:0 -end_of_record -SF:lib\presentation\todo_item_detail\todo_item_detail_page.dart -DA:15,0 -DA:18,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:24,0 -DA:25,0 -DA:26,0 -DA:27,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:33,0 -DA:34,0 -DA:35,0 -DA:36,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:41,0 -DA:45,0 -DA:46,0 -DA:50,0 -DA:53,0 -DA:54,0 -DA:58,0 -DA:59,0 -DA:63,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:71,0 -DA:72,0 -DA:73,0 -DA:75,0 -DA:77,0 -DA:78,0 -DA:79,0 -DA:80,0 -DA:81,0 -DA:82,0 -DA:83,0 -DA:85,0 -LF:44 -LH:0 -end_of_record diff --git a/ios/Flutter/Debug.xcconfig b/ios/Flutter/Debug.xcconfig index 592ceee..e8efba1 100644 --- a/ios/Flutter/Debug.xcconfig +++ b/ios/Flutter/Debug.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Flutter/Release.xcconfig b/ios/Flutter/Release.xcconfig index 592ceee..399e934 100644 --- a/ios/Flutter/Release.xcconfig +++ b/ios/Flutter/Release.xcconfig @@ -1 +1,2 @@ +#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/ios/Podfile b/ios/Podfile new file mode 100644 index 0000000..1e8c3c9 --- /dev/null +++ b/ios/Podfile @@ -0,0 +1,41 @@ +# Uncomment this line to define a global platform for your project +# platform :ios, '9.0' + +# CocoaPods analytics sends network stats synchronously affecting flutter build latency. +ENV['COCOAPODS_DISABLE_STATS'] = 'true' + +project 'Runner', { + 'Debug' => :debug, + 'Profile' => :release, + 'Release' => :release, +} + +def flutter_root + generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) + unless File.exist?(generated_xcode_build_settings_path) + raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first" + end + + File.foreach(generated_xcode_build_settings_path) do |line| + matches = line.match(/FLUTTER_ROOT\=(.*)/) + return matches[1].strip if matches + end + raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get" +end + +require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root) + +flutter_ios_podfile_setup + +target 'Runner' do + use_frameworks! + use_modular_headers! + + flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) +end + +post_install do |installer| + installer.pods_project.targets.each do |target| + flutter_additional_ios_build_settings(target) + end +end