From b407797ee88576c596a14ac60db8e858b25b1565 Mon Sep 17 00:00:00 2001 From: Hugo Pointcheval Date: Fri, 10 Feb 2023 09:47:42 +0100 Subject: [PATCH] chore: remove deprecated bricks --- apps/wyatt_clean_code/.gitignore | 47 - apps/wyatt_clean_code/.metadata | 30 - apps/wyatt_clean_code/.vscode/launch.json | 125 -- apps/wyatt_clean_code/.vscode/settings.json | 14 - apps/wyatt_clean_code/Makefile | 54 - apps/wyatt_clean_code/README.md | 16 - apps/wyatt_clean_code/analysis_options.yaml | 35 - apps/wyatt_clean_code/android/.gitignore | 13 - .../wyatt_clean_code/android/app/build.gradle | 117 -- .../android/app/src/debug/AndroidManifest.xml | 8 - .../android/app/src/main/AndroidManifest.xml | 34 - .../example/wyatt_clean_code/MainActivity.kt | 6 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 8 - apps/wyatt_clean_code/android/build.gradle | 31 - .../android/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 6 - apps/wyatt_clean_code/android/settings.gradle | 11 - apps/wyatt_clean_code/assets/colors.xml | 61 - apps/wyatt_clean_code/assets/fonts/.gitkeep | 1 - .../assets/images/wyatt-studio-logo.png | Bin 11611 -> 0 bytes apps/wyatt_clean_code/assets/l10n/intl_fr.arb | 20 - apps/wyatt_clean_code/generate.sh | 22 - apps/wyatt_clean_code/ios/.gitignore | 34 - .../ios/Flutter/AppFrameworkInfo.plist | 26 - .../ios/Flutter/Debug.xcconfig | 1 - .../ios/Flutter/Release.xcconfig | 1 - .../ios/Runner.xcodeproj/project.pbxproj | 1174 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 87 -- .../xcschemes/development.xcscheme | 78 -- .../xcschemes/production.xcscheme | 78 -- .../xcshareddata/xcschemes/staging.xcscheme | 78 -- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../ios/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 -- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../ios/Runner/Base.lproj/Main.storyboard | 26 - apps/wyatt_clean_code/ios/Runner/Info.plist | 49 - .../ios/Runner/Runner-Bridging-Header.h | 1 - apps/wyatt_clean_code/l10n.yaml | 4 - apps/wyatt_clean_code/lib/bootstrap.dart | 46 - .../lib/core/constants/.gitkeep | 1 - .../lib/core/dependency_injection/get_it.dart | 15 - .../lib/core/design_system/colors.dart | 2 - .../lib/core/design_system/sizing.dart | 235 ---- .../lib/core/design_system/theme.dart | 240 ---- .../lib/core/design_system/typography.dart | 115 -- .../lib/core/enums/exception_type.dart | 7 - .../lib/core/enums/flavor.dart | 12 - .../lib/core/errors/exceptions.dart | 29 - .../extensions/build_context_extension.dart | 8 - .../lib/core/extensions/num_extension.dart | 9 - .../lib/core/extensions/object_extension.dart | 32 - .../lib/core/flavors/flavor_settings.dart | 64 - .../lib/core/mixins/local_data_source.dart | 6 - .../lib/core/mixins/remote_data_source.dart | 6 - .../lib/core/routes/router.dart | 37 - .../lib/core/usecases/usecase.dart | 13 - .../lib/core/utils/app_bloc_observer.dart | 56 - .../lib/core/utils/screen_util.dart | 107 -- .../lib/core/utils/wyatt_printer.dart | 43 - .../lib/data/data_sources/local/.gitkeep | 1 - .../lib/data/data_sources/remote/.gitkeep | 1 - .../wyatt_clean_code/lib/data/models/.gitkeep | 1 - .../repositories/counter_repository_impl.dart | 24 - .../domain/data_sources/base_data_source.dart | 1 - .../local/base_local_data_source.dart | 3 - .../remote/base_remote_data_source.dart | 3 - .../lib/domain/entities/.gitkeep | 1 - .../domain/repositories/base_repository.dart | 1 - .../repositories/counter_repository.dart | 8 - .../usecases/counter/decrement_counter.dart | 16 - .../usecases/counter/increment_counter.dart | 16 - apps/wyatt_clean_code/lib/gen/assets.gen.dart | 87 -- apps/wyatt_clean_code/lib/gen/colors.gen.dart | 195 --- .../lib/main_development.dart | 8 - .../wyatt_clean_code/lib/main_production.dart | 8 - apps/wyatt_clean_code/lib/main_staging.dart | 8 - .../lib/presentation/features/app/app.dart | 71 - .../features/counter/blocs/counter_cubit.dart | 39 - .../features/counter/counter_page.dart | 11 - .../counter_page_provider.dart | 31 - .../counter_text_consumer.dart | 11 - .../counter/widgets/counter_base.dart | 54 - .../counter/widgets/counter_text.dart | 18 - .../features/initial/initial_page.dart | 32 - .../shared/layouts/app_default_scaffold.dart | 27 - .../shared/state_management/.gitkeep | 1 - apps/wyatt_clean_code/pubspec.yaml | 125 -- apps/wyatt_clean_code/web/favicon.png | Bin 917 -> 0 bytes apps/wyatt_clean_code/web/icons/Icon-192.png | Bin 5292 -> 0 bytes apps/wyatt_clean_code/web/icons/Icon-512.png | Bin 8252 -> 0 bytes .../web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes apps/wyatt_clean_code/web/index.html | 58 - apps/wyatt_clean_code/web/manifest.json | 35 - bricks/core_app_brick/CHANGELOG.md | 3 - bricks/core_app_brick/LICENSE | 674 ---------- bricks/core_app_brick/README.md | 5 - bricks/core_app_brick/__brick__/.gitignore | 127 -- bricks/core_app_brick/__brick__/.metadata | 10 - .../__brick__/.vscode/launch.json | 18 - bricks/core_app_brick/__brick__/LICENSE | 674 ---------- bricks/core_app_brick/__brick__/Makefile | 50 - bricks/core_app_brick/__brick__/README.md | 148 --- .../__brick__/analysis_options.yaml | 5 - .../__brick__/assets/l10n/arb/app_fr.arb | 7 - .../__brick__/assets/l10n/l10n.dart | 8 - bricks/core_app_brick/__brick__/l10n.yaml | 4 - .../core_app_brick/__brick__/lib/app/app.dart | 1 - .../__brick__/lib/app/view/app.dart | 26 - .../__brick__/lib/bootstrap.dart | 35 - .../__brick__/lib/counter/counter.dart | 2 - .../lib/counter/cubit/counter_cubit.dart | 8 - .../lib/counter/view/counter_page.dart | 55 - bricks/core_app_brick/__brick__/lib/main.dart | 6 - bricks/core_app_brick/__brick__/pubspec.yaml | 45 - .../__brick__/test/app/view/app_test.dart | 12 - .../counter/cubit/counter_cubit_test.dart | 26 - .../test/counter/view/counter_page_test.dart | 68 - .../__brick__/test/helpers/helpers.dart | 1 - .../__brick__/test/helpers/pump_app.dart | 19 - bricks/core_app_brick/brick.yaml | 22 - bricks/wyatt_clean_code/CHANGELOG.md | 3 - bricks/wyatt_clean_code/LICENSE | 674 ---------- bricks/wyatt_clean_code/README.md | 89 -- bricks/wyatt_clean_code/__brick__/.gitignore | 47 - bricks/wyatt_clean_code/__brick__/.metadata | 30 - .../__brick__/.vscode/launch.json | 125 -- .../__brick__/.vscode/settings.json | 15 - bricks/wyatt_clean_code/__brick__/Makefile | 54 - bricks/wyatt_clean_code/__brick__/README.md | 16 - .../__brick__/analysis_options.yaml | 35 - .../__brick__/assets/colors.xml | 61 - .../__brick__/assets/fonts/.gitkeep | 1 - .../assets/images/wyatt-studio-logo.png | Bin 11611 -> 0 bytes .../__brick__/assets/l10n/intl_fr.arb | 20 - bricks/wyatt_clean_code/__brick__/l10n.yaml | 4 - .../__brick__/lib/bootstrap.dart | 46 - .../__brick__/lib/core/constants/.gitkeep | 1 - .../lib/core/dependency_injection/get_it.dart | 15 - .../lib/core/design_system/colors.dart | 2 - .../lib/core/design_system/sizing.dart | 235 ---- .../lib/core/design_system/theme.dart | 240 ---- .../lib/core/design_system/typography.dart | 115 -- .../lib/core/enums/exception_type.dart | 7 - .../__brick__/lib/core/enums/flavor.dart | 12 - .../__brick__/lib/core/errors/exceptions.dart | 29 - .../extensions/build_context_extension.dart | 8 - .../lib/core/extensions/num_extension.dart | 9 - .../lib/core/extensions/object_extension.dart | 32 - .../lib/core/flavors/flavor_settings.dart | 64 - .../lib/core/mixins/local_data_source.dart | 6 - .../lib/core/mixins/remote_data_source.dart | 6 - .../__brick__/lib/core/routes/router.dart | 37 - .../__brick__/lib/core/usecases/usecase.dart | 13 - .../lib/core/utils/app_bloc_observer.dart | 56 - .../__brick__/lib/core/utils/screen_util.dart | 107 -- .../lib/core/utils/wyatt_printer.dart | 43 - .../lib/data/data_sources/local/.gitkeep | 1 - .../lib/data/data_sources/remote/.gitkeep | 1 - .../__brick__/lib/data/models/.gitkeep | 1 - .../repositories/counter_repository_impl.dart | 24 - .../domain/data_sources/base_data_source.dart | 1 - .../local/base_local_data_source.dart | 3 - .../remote/base_remote_data_source.dart | 3 - .../__brick__/lib/domain/entities/.gitkeep | 1 - .../domain/repositories/base_repository.dart | 1 - .../repositories/counter_repository.dart | 8 - .../usecases/counter/decrement_counter.dart | 16 - .../usecases/counter/increment_counter.dart | 16 - .../__brick__/lib/gen/assets.gen.dart | 87 -- .../__brick__/lib/gen/colors.gen.dart | 195 --- .../__brick__/lib/main_development.dart | 8 - .../__brick__/lib/main_production.dart | 8 - .../__brick__/lib/main_staging.dart | 8 - .../lib/presentation/features/app/app.dart | 71 - .../features/counter/blocs/counter_cubit.dart | 39 - .../features/counter/counter_page.dart | 11 - .../counter_page_provider.dart | 31 - .../counter_text_consumer.dart | 11 - .../counter/widgets/counter_base.dart | 54 - .../counter/widgets/counter_text.dart | 18 - .../features/initial/initial_page.dart | 32 - .../shared/layouts/app_default_scaffold.dart | 27 - .../shared/state_management/.gitkeep | 1 - .../wyatt_clean_code/__brick__/pubspec.yaml | 125 -- .../enable_android}}/.gitignore | 13 - .../enable_android}}/app/build.gradle | 117 -- .../app/src/debug/AndroidManifest.xml | 8 - .../app/src/main/AndroidManifest.xml | 34 - .../pathCase}}/MainActivity.kt | 6 - .../res/drawable-v21/launch_background.xml | 12 - .../main/res/drawable/launch_background.xml | 12 - .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 544 -> 0 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 442 -> 0 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 721 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 1031 -> 0 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 1443 -> 0 bytes .../app/src/main/res/values-night/styles.xml | 18 - .../app/src/main/res/values/styles.xml | 18 - .../app/src/profile/AndroidManifest.xml | 8 - .../enable_android}}/build.gradle | 31 - .../enable_android}}/gradle.properties | 3 - .../gradle/wrapper/gradle-wrapper.properties | 6 - .../enable_android}}/settings.gradle | 11 - .../enable_ios}}/.gitignore | 34 - .../Flutter/AppFrameworkInfo.plist | 26 - .../enable_ios}}/Flutter/Debug.xcconfig | 1 - .../enable_ios}}/Flutter/Release.xcconfig | 1 - .../Runner.xcodeproj/project.pbxproj | 1174 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../xcshareddata/xcschemes/Runner.xcscheme | 87 -- .../xcschemes/development.xcscheme | 78 -- .../xcschemes/production.xcscheme | 78 -- .../xcshareddata/xcschemes/staging.xcscheme | 78 -- .../contents.xcworkspacedata | 7 - .../xcshareddata/IDEWorkspaceChecks.plist | 8 - .../xcshareddata/WorkspaceSettings.xcsettings | 8 - .../enable_ios}}/Runner/AppDelegate.swift | 13 - .../AppIcon.appiconset/Contents.json | 122 -- .../Icon-App-1024x1024@1x.png | Bin 10932 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin 564 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 1588 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin 1025 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin 1716 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 1920 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin 1283 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin 1895 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 2665 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 3831 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin 1888 -> 0 bytes .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin 3294 -> 0 bytes .../Icon-App-83.5x83.5@2x.png | Bin 3612 -> 0 bytes .../LaunchImage.imageset/Contents.json | 23 - .../LaunchImage.imageset/LaunchImage.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@2x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/LaunchImage@3x.png | Bin 68 -> 0 bytes .../LaunchImage.imageset/README.md | 5 - .../Runner/Base.lproj/LaunchScreen.storyboard | 37 - .../Runner/Base.lproj/Main.storyboard | 26 - .../enable_ios}}/Runner/Info.plist | 49 - .../Runner/Runner-Bridging-Header.h | 1 - .../enable_web}}/favicon.png | Bin 917 -> 0 bytes .../enable_web}}/icons/Icon-192.png | Bin 5292 -> 0 bytes .../enable_web}}/icons/Icon-512.png | Bin 8252 -> 0 bytes .../enable_web}}/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../enable_web}}/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes .../enable_web}}/index.html | 58 - .../enable_web}}/manifest.json | 35 - bricks/wyatt_clean_code/brick.yaml | 52 - bricks/wyatt_clean_code/hooks/post_gen.dart | 30 - bricks/wyatt_clean_code/hooks/pre_gen.dart | 40 - bricks/wyatt_clean_code/hooks/pubspec.yaml | 7 - bricks/wyatt_package/CHANGELOG.md | 3 - bricks/wyatt_package/LICENSE | 674 ---------- bricks/wyatt_package/README.md | 24 - bricks/wyatt_package/__brick__/.gitignore | 133 -- .../__brick__/.vscode/extensions.json | 24 - .../__brick__/.vscode/launch.json | 16 - .../__brick__/.vscode/settings.json | 71 - bricks/wyatt_package/__brick__/AUTHORS | 8 - bricks/wyatt_package/__brick__/CHANGELOG.md | 3 - bricks/wyatt_package/__brick__/LICENSE | 674 ---------- bricks/wyatt_package/__brick__/README.md | 54 - .../__brick__/analysis_options.yaml | 22 - .../__brick__/example/lib/main.dart | 52 - .../__brick__/example/pubspec.yaml | 92 -- .../__brick__/example/test/widget_test.dart | 15 - .../__brick__/example/web/favicon.png | Bin 917 -> 0 bytes .../__brick__/example/web/icons/Icon-192.png | Bin 5292 -> 0 bytes .../__brick__/example/web/icons/Icon-512.png | Bin 8252 -> 0 bytes .../example/web/icons/Icon-maskable-192.png | Bin 5594 -> 0 bytes .../example/web/icons/Icon-maskable-512.png | Bin 20998 -> 0 bytes .../__brick__/example/web/index.html | 58 - .../__brick__/example/web/manifest.json | 35 - .../__brick__/lib/src/package.dart | 17 - .../wyatt_package/__brick__/lib/src/src.dart | 17 - .../wyatt_{{package_name.snakeCase()}}.dart | 20 - bricks/wyatt_package/__brick__/pubspec.yaml | 26 - ...att_{{package_name.snakeCase()}}_test.dart | 17 - bricks/wyatt_package/brick.yaml | 40 - bricks/wyatt_package/hooks/pre_gen.dart | 21 - bricks/wyatt_package/hooks/pubspec.yaml | 7 - mason.yaml | 6 - 322 files changed, 14228 deletions(-) delete mode 100644 apps/wyatt_clean_code/.gitignore delete mode 100644 apps/wyatt_clean_code/.metadata delete mode 100644 apps/wyatt_clean_code/.vscode/launch.json delete mode 100644 apps/wyatt_clean_code/.vscode/settings.json delete mode 100644 apps/wyatt_clean_code/Makefile delete mode 100644 apps/wyatt_clean_code/README.md delete mode 100644 apps/wyatt_clean_code/analysis_options.yaml delete mode 100644 apps/wyatt_clean_code/android/.gitignore delete mode 100644 apps/wyatt_clean_code/android/app/build.gradle delete mode 100644 apps/wyatt_clean_code/android/app/src/debug/AndroidManifest.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/main/AndroidManifest.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/main/kotlin/com/example/wyatt_clean_code/MainActivity.kt delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/drawable/launch_background.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/values-night/styles.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/main/res/values/styles.xml delete mode 100644 apps/wyatt_clean_code/android/app/src/profile/AndroidManifest.xml delete mode 100644 apps/wyatt_clean_code/android/build.gradle delete mode 100644 apps/wyatt_clean_code/android/gradle.properties delete mode 100644 apps/wyatt_clean_code/android/gradle/wrapper/gradle-wrapper.properties delete mode 100644 apps/wyatt_clean_code/android/settings.gradle delete mode 100644 apps/wyatt_clean_code/assets/colors.xml delete mode 100644 apps/wyatt_clean_code/assets/fonts/.gitkeep delete mode 100644 apps/wyatt_clean_code/assets/images/wyatt-studio-logo.png delete mode 100644 apps/wyatt_clean_code/assets/l10n/intl_fr.arb delete mode 100755 apps/wyatt_clean_code/generate.sh delete mode 100644 apps/wyatt_clean_code/ios/.gitignore delete mode 100644 apps/wyatt_clean_code/ios/Flutter/AppFrameworkInfo.plist delete mode 100644 apps/wyatt_clean_code/ios/Flutter/Debug.xcconfig delete mode 100644 apps/wyatt_clean_code/ios/Flutter/Release.xcconfig delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/project.pbxproj delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 apps/wyatt_clean_code/ios/Runner/AppDelegate.swift delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 apps/wyatt_clean_code/ios/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 apps/wyatt_clean_code/ios/Runner/Base.lproj/Main.storyboard delete mode 100644 apps/wyatt_clean_code/ios/Runner/Info.plist delete mode 100644 apps/wyatt_clean_code/ios/Runner/Runner-Bridging-Header.h delete mode 100644 apps/wyatt_clean_code/l10n.yaml delete mode 100644 apps/wyatt_clean_code/lib/bootstrap.dart delete mode 100644 apps/wyatt_clean_code/lib/core/constants/.gitkeep delete mode 100644 apps/wyatt_clean_code/lib/core/dependency_injection/get_it.dart delete mode 100644 apps/wyatt_clean_code/lib/core/design_system/colors.dart delete mode 100644 apps/wyatt_clean_code/lib/core/design_system/sizing.dart delete mode 100644 apps/wyatt_clean_code/lib/core/design_system/theme.dart delete mode 100644 apps/wyatt_clean_code/lib/core/design_system/typography.dart delete mode 100644 apps/wyatt_clean_code/lib/core/enums/exception_type.dart delete mode 100644 apps/wyatt_clean_code/lib/core/enums/flavor.dart delete mode 100644 apps/wyatt_clean_code/lib/core/errors/exceptions.dart delete mode 100644 apps/wyatt_clean_code/lib/core/extensions/build_context_extension.dart delete mode 100644 apps/wyatt_clean_code/lib/core/extensions/num_extension.dart delete mode 100644 apps/wyatt_clean_code/lib/core/extensions/object_extension.dart delete mode 100644 apps/wyatt_clean_code/lib/core/flavors/flavor_settings.dart delete mode 100644 apps/wyatt_clean_code/lib/core/mixins/local_data_source.dart delete mode 100644 apps/wyatt_clean_code/lib/core/mixins/remote_data_source.dart delete mode 100644 apps/wyatt_clean_code/lib/core/routes/router.dart delete mode 100644 apps/wyatt_clean_code/lib/core/usecases/usecase.dart delete mode 100644 apps/wyatt_clean_code/lib/core/utils/app_bloc_observer.dart delete mode 100644 apps/wyatt_clean_code/lib/core/utils/screen_util.dart delete mode 100644 apps/wyatt_clean_code/lib/core/utils/wyatt_printer.dart delete mode 100644 apps/wyatt_clean_code/lib/data/data_sources/local/.gitkeep delete mode 100644 apps/wyatt_clean_code/lib/data/data_sources/remote/.gitkeep delete mode 100644 apps/wyatt_clean_code/lib/data/models/.gitkeep delete mode 100644 apps/wyatt_clean_code/lib/data/repositories/counter_repository_impl.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/data_sources/base_data_source.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/data_sources/local/base_local_data_source.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/data_sources/remote/base_remote_data_source.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/entities/.gitkeep delete mode 100644 apps/wyatt_clean_code/lib/domain/repositories/base_repository.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/repositories/counter_repository.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/usecases/counter/decrement_counter.dart delete mode 100644 apps/wyatt_clean_code/lib/domain/usecases/counter/increment_counter.dart delete mode 100644 apps/wyatt_clean_code/lib/gen/assets.gen.dart delete mode 100644 apps/wyatt_clean_code/lib/gen/colors.gen.dart delete mode 100644 apps/wyatt_clean_code/lib/main_development.dart delete mode 100644 apps/wyatt_clean_code/lib/main_production.dart delete mode 100644 apps/wyatt_clean_code/lib/main_staging.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/app/app.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/blocs/counter_cubit.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/counter_page.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_page_provider.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_text_consumer.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_base.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_text.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/features/initial/initial_page.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/shared/layouts/app_default_scaffold.dart delete mode 100644 apps/wyatt_clean_code/lib/presentation/shared/state_management/.gitkeep delete mode 100644 apps/wyatt_clean_code/pubspec.yaml delete mode 100644 apps/wyatt_clean_code/web/favicon.png delete mode 100644 apps/wyatt_clean_code/web/icons/Icon-192.png delete mode 100644 apps/wyatt_clean_code/web/icons/Icon-512.png delete mode 100644 apps/wyatt_clean_code/web/icons/Icon-maskable-192.png delete mode 100644 apps/wyatt_clean_code/web/icons/Icon-maskable-512.png delete mode 100644 apps/wyatt_clean_code/web/index.html delete mode 100644 apps/wyatt_clean_code/web/manifest.json delete mode 100644 bricks/core_app_brick/CHANGELOG.md delete mode 100644 bricks/core_app_brick/LICENSE delete mode 100644 bricks/core_app_brick/README.md delete mode 100644 bricks/core_app_brick/__brick__/.gitignore delete mode 100644 bricks/core_app_brick/__brick__/.metadata delete mode 100644 bricks/core_app_brick/__brick__/.vscode/launch.json delete mode 100644 bricks/core_app_brick/__brick__/LICENSE delete mode 100644 bricks/core_app_brick/__brick__/Makefile delete mode 100644 bricks/core_app_brick/__brick__/README.md delete mode 100644 bricks/core_app_brick/__brick__/analysis_options.yaml delete mode 100644 bricks/core_app_brick/__brick__/assets/l10n/arb/app_fr.arb delete mode 100644 bricks/core_app_brick/__brick__/assets/l10n/l10n.dart delete mode 100644 bricks/core_app_brick/__brick__/l10n.yaml delete mode 100644 bricks/core_app_brick/__brick__/lib/app/app.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/app/view/app.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/bootstrap.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/counter/counter.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/counter/cubit/counter_cubit.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/counter/view/counter_page.dart delete mode 100644 bricks/core_app_brick/__brick__/lib/main.dart delete mode 100644 bricks/core_app_brick/__brick__/pubspec.yaml delete mode 100644 bricks/core_app_brick/__brick__/test/app/view/app_test.dart delete mode 100644 bricks/core_app_brick/__brick__/test/counter/cubit/counter_cubit_test.dart delete mode 100644 bricks/core_app_brick/__brick__/test/counter/view/counter_page_test.dart delete mode 100644 bricks/core_app_brick/__brick__/test/helpers/helpers.dart delete mode 100644 bricks/core_app_brick/__brick__/test/helpers/pump_app.dart delete mode 100644 bricks/core_app_brick/brick.yaml delete mode 100644 bricks/wyatt_clean_code/CHANGELOG.md delete mode 100644 bricks/wyatt_clean_code/LICENSE delete mode 100644 bricks/wyatt_clean_code/README.md delete mode 100644 bricks/wyatt_clean_code/__brick__/.gitignore delete mode 100644 bricks/wyatt_clean_code/__brick__/.metadata delete mode 100644 bricks/wyatt_clean_code/__brick__/.vscode/launch.json delete mode 100644 bricks/wyatt_clean_code/__brick__/.vscode/settings.json delete mode 100644 bricks/wyatt_clean_code/__brick__/Makefile delete mode 100644 bricks/wyatt_clean_code/__brick__/README.md delete mode 100644 bricks/wyatt_clean_code/__brick__/analysis_options.yaml delete mode 100644 bricks/wyatt_clean_code/__brick__/assets/colors.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/assets/fonts/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/assets/images/wyatt-studio-logo.png delete mode 100644 bricks/wyatt_clean_code/__brick__/assets/l10n/intl_fr.arb delete mode 100644 bricks/wyatt_clean_code/__brick__/l10n.yaml delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/bootstrap.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/constants/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/dependency_injection/get_it.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/design_system/colors.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/design_system/sizing.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/design_system/theme.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/design_system/typography.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/enums/exception_type.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/enums/flavor.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/errors/exceptions.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/extensions/build_context_extension.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/extensions/num_extension.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/extensions/object_extension.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/flavors/flavor_settings.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/mixins/local_data_source.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/mixins/remote_data_source.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/routes/router.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/usecases/usecase.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/utils/app_bloc_observer.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/utils/screen_util.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/core/utils/wyatt_printer.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/data/data_sources/local/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/data/data_sources/remote/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/data/models/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/data/repositories/counter_repository_impl.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/base_data_source.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/local/base_local_data_source.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/remote/base_remote_data_source.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/entities/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/repositories/base_repository.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/repositories/counter_repository.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/decrement_counter.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/increment_counter.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/gen/assets.gen.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/gen/colors.gen.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/main_development.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/main_production.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/main_staging.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/app/app.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/blocs/counter_cubit.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/counter_page.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_page_provider.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_text_consumer.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_base.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_text.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/features/initial/initial_page.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/shared/layouts/app_default_scaffold.dart delete mode 100644 bricks/wyatt_clean_code/__brick__/lib/presentation/shared/state_management/.gitkeep delete mode 100644 bricks/wyatt_clean_code/__brick__/pubspec.yaml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/.gitignore delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/build.gradle delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/debug/AndroidManifest.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/AndroidManifest.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/kotlin/{{#pathCase}}{{org_name}}{{/pathCase}}/MainActivity.kt delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable-v21/launch_background.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable/launch_background.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-hdpi/ic_launcher.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-mdpi/ic_launcher.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values-night/styles.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values/styles.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/profile/AndroidManifest.xml delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/build.gradle delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle.properties delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle/wrapper/gradle-wrapper.properties delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/settings.gradle delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/.gitignore delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/AppFrameworkInfo.plist delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Debug.xcconfig delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Release.xcconfig delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.pbxproj delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/contents.xcworkspacedata delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/AppDelegate.swift delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/README.md delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/LaunchScreen.storyboard delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/Main.storyboard delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Info.plist delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Runner-Bridging-Header.h delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/favicon.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-192.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-512.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-192.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-512.png delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/index.html delete mode 100644 bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/manifest.json delete mode 100644 bricks/wyatt_clean_code/brick.yaml delete mode 100644 bricks/wyatt_clean_code/hooks/post_gen.dart delete mode 100644 bricks/wyatt_clean_code/hooks/pre_gen.dart delete mode 100644 bricks/wyatt_clean_code/hooks/pubspec.yaml delete mode 100644 bricks/wyatt_package/CHANGELOG.md delete mode 100644 bricks/wyatt_package/LICENSE delete mode 100644 bricks/wyatt_package/README.md delete mode 100644 bricks/wyatt_package/__brick__/.gitignore delete mode 100644 bricks/wyatt_package/__brick__/.vscode/extensions.json delete mode 100644 bricks/wyatt_package/__brick__/.vscode/launch.json delete mode 100644 bricks/wyatt_package/__brick__/.vscode/settings.json delete mode 100644 bricks/wyatt_package/__brick__/AUTHORS delete mode 100644 bricks/wyatt_package/__brick__/CHANGELOG.md delete mode 100644 bricks/wyatt_package/__brick__/LICENSE delete mode 100644 bricks/wyatt_package/__brick__/README.md delete mode 100644 bricks/wyatt_package/__brick__/analysis_options.yaml delete mode 100644 bricks/wyatt_package/__brick__/example/lib/main.dart delete mode 100644 bricks/wyatt_package/__brick__/example/pubspec.yaml delete mode 100644 bricks/wyatt_package/__brick__/example/test/widget_test.dart delete mode 100644 bricks/wyatt_package/__brick__/example/web/favicon.png delete mode 100644 bricks/wyatt_package/__brick__/example/web/icons/Icon-192.png delete mode 100644 bricks/wyatt_package/__brick__/example/web/icons/Icon-512.png delete mode 100644 bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-192.png delete mode 100644 bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-512.png delete mode 100644 bricks/wyatt_package/__brick__/example/web/index.html delete mode 100644 bricks/wyatt_package/__brick__/example/web/manifest.json delete mode 100644 bricks/wyatt_package/__brick__/lib/src/package.dart delete mode 100644 bricks/wyatt_package/__brick__/lib/src/src.dart delete mode 100644 bricks/wyatt_package/__brick__/lib/wyatt_{{package_name.snakeCase()}}.dart delete mode 100644 bricks/wyatt_package/__brick__/pubspec.yaml delete mode 100644 bricks/wyatt_package/__brick__/test/wyatt_{{package_name.snakeCase()}}_test.dart delete mode 100644 bricks/wyatt_package/brick.yaml delete mode 100644 bricks/wyatt_package/hooks/pre_gen.dart delete mode 100644 bricks/wyatt_package/hooks/pubspec.yaml diff --git a/apps/wyatt_clean_code/.gitignore b/apps/wyatt_clean_code/.gitignore deleted file mode 100644 index a8e938c..0000000 --- a/apps/wyatt_clean_code/.gitignore +++ /dev/null @@ -1,47 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/apps/wyatt_clean_code/.metadata b/apps/wyatt_clean_code/.metadata deleted file mode 100644 index 2112298..0000000 --- a/apps/wyatt_clean_code/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled. - -version: - revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - channel: stable - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - platform: web - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/apps/wyatt_clean_code/.vscode/launch.json b/apps/wyatt_clean_code/.vscode/launch.json deleted file mode 100644 index 40a2104..0000000 --- a/apps/wyatt_clean_code/.vscode/launch.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch development", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch development in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch development in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "release" - }, - { - "name": "Launch staging", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch staging in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch staging in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "release" - }, - { - "name": "Launch production", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch production in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch production in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "release" - }, - ] -} \ No newline at end of file diff --git a/apps/wyatt_clean_code/.vscode/settings.json b/apps/wyatt_clean_code/.vscode/settings.json deleted file mode 100644 index 855293b..0000000 --- a/apps/wyatt_clean_code/.vscode/settings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "bloc.newCubitTemplate.type": "equatable", - "psi-header.config": { - "blankLinesAfter": 0, - "forceToTop": true, - }, - "psi-header.templates": [ - { - "language": "*", - "template": [], - // disabled, - } - ], -} \ No newline at end of file diff --git a/apps/wyatt_clean_code/Makefile b/apps/wyatt_clean_code/Makefile deleted file mode 100644 index a9a3ef9..0000000 --- a/apps/wyatt_clean_code/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -.PHONY: help clean get upgrade format lint gen watch run-dev run-stg run-prod - -# Adding a help file: https://gist.github.com/prwhite/8168133#gistcomment-1313022 -help: ## This help dialog. - @IFS=$$'\n' ; \ - help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//'`); \ - for help_line in $${help_lines[@]}; do \ - IFS=$$'#' ; \ - help_split=($$help_line) ; \ - help_command=`echo $${help_split[0]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - help_info=`echo $${help_split[2]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - printf "%-30s %s\n" $$help_command $$help_info ; \ - done - -clean: ## Cleans the environment. - @echo "• Cleaning the project..." - @rm -rf pubspec.lock - @flutter clean - -get: ## Gets the dependencies. - @echo "• Getting the dependencies..." - @flutter pub get - -upgrade: clean ## Upgrades dependencies. - @echo "• Upgrading dependencies..." - @flutter pub upgrade - -format: ## Formats the code. - @echo "• Formatting the code" - @dart format . --fix - -lint: ## Lints the code. - @echo "• Verifying code..." - @dart analyze . || (echo "Error in project"; exit 1) - -gen: get ## Run build_runner build (Freezed, Fluttergen, Hive etc...) - @echo "• build_runner build" - @flutter pub run build_runner build - -watch: get ## Run build_runner watch (Freezed, Fluttergen, Hive etc...) - @echo "• build_runner watch" - @flutter pub run build_runner watch - -run-dev: ## Run app in development mode - @echo "• Running the app (development)" - @flutter run --flavor development --target lib/main_development.dart - -run-stg: ## Run app in staging mode - @echo "• Running the app (staging)" - @flutter run --flavor staging --target lib/main_staging.dart - -run-prod: ## Run app in production mode - @echo "• Running the app (production)" - @flutter run --flavor production --target lib/main_production.dart \ No newline at end of file diff --git a/apps/wyatt_clean_code/README.md b/apps/wyatt_clean_code/README.md deleted file mode 100644 index 27d3667..0000000 --- a/apps/wyatt_clean_code/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# wyatt_clean_code - -A new Flutter project. - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/apps/wyatt_clean_code/analysis_options.yaml b/apps/wyatt_clean_code/analysis_options.yaml deleted file mode 100644 index 9bdb566..0000000 --- a/apps/wyatt_clean_code/analysis_options.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter by -# Wyatt Studio, for apps packages, and plugins designed to -# encourage good coding practices. -include: package:wyatt_analysis/analysis_options.flutter.yaml - -analyzer: - exclude: - - '**/*.g.dart' - - '**/*.freezed.dart' - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/apps/wyatt_clean_code/android/.gitignore b/apps/wyatt_clean_code/android/.gitignore deleted file mode 100644 index 6f56801..0000000 --- a/apps/wyatt_clean_code/android/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/apps/wyatt_clean_code/android/app/build.gradle b/apps/wyatt_clean_code/android/app/build.gradle deleted file mode 100644 index 0b3ee57..0000000 --- a/apps/wyatt_clean_code/android/app/build.gradle +++ /dev/null @@ -1,117 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') -if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.wyatt_clean_code" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - signingConfigs { - if (System.getenv("ANDROID_KEYSTORE_PATH")) { - release { - storeFile file(System.getenv("ANDROID_KEYSTORE_PATH")) - keyAlias System.getenv("ANDROID_KEYSTORE_ALIAS") - keyPassword System.getenv("ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") - storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") - } - } else { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null - storePassword keystoreProperties['storePassword'] - } - } - } - - flavorDimensions "default" - productFlavors { - production { - dimension "default" - applicationIdSuffix "" - manifestPlaceholders = [appName: "Wyatt Demo"] - } - staging { - dimension "default" - applicationIdSuffix ".stg" - manifestPlaceholders = [appName: "[STG] Wyatt Demo"] - } - development { - dimension "default" - applicationIdSuffix ".dev" - manifestPlaceholders = [appName: "[DEV] Wyatt Demo"] - } - } - - buildTypes { - release { - signingConfig signingConfigs.release - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt') - } - debug { - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/apps/wyatt_clean_code/android/app/src/debug/AndroidManifest.xml b/apps/wyatt_clean_code/android/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 6ce672d..0000000 --- a/apps/wyatt_clean_code/android/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/apps/wyatt_clean_code/android/app/src/main/AndroidManifest.xml b/apps/wyatt_clean_code/android/app/src/main/AndroidManifest.xml deleted file mode 100644 index a940650..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/android/app/src/main/kotlin/com/example/wyatt_clean_code/MainActivity.kt b/apps/wyatt_clean_code/android/app/src/main/kotlin/com/example/wyatt_clean_code/MainActivity.kt deleted file mode 100644 index 466b2c9..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/kotlin/com/example/wyatt_clean_code/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.example.wyatt_clean_code - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} diff --git a/apps/wyatt_clean_code/android/app/src/main/res/drawable-v21/launch_background.xml b/apps/wyatt_clean_code/android/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/apps/wyatt_clean_code/android/app/src/main/res/drawable/launch_background.xml b/apps/wyatt_clean_code/android/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/apps/wyatt_clean_code/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/apps/wyatt_clean_code/android/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/apps/wyatt_clean_code/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/apps/wyatt_clean_code/android/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/apps/wyatt_clean_code/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/apps/wyatt_clean_code/android/app/src/main/res/values-night/styles.xml b/apps/wyatt_clean_code/android/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/apps/wyatt_clean_code/android/app/src/main/res/values/styles.xml b/apps/wyatt_clean_code/android/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/apps/wyatt_clean_code/android/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/apps/wyatt_clean_code/android/app/src/profile/AndroidManifest.xml b/apps/wyatt_clean_code/android/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 6ce672d..0000000 --- a/apps/wyatt_clean_code/android/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/apps/wyatt_clean_code/android/build.gradle b/apps/wyatt_clean_code/android/build.gradle deleted file mode 100644 index 83ae220..0000000 --- a/apps/wyatt_clean_code/android/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/apps/wyatt_clean_code/android/gradle.properties b/apps/wyatt_clean_code/android/gradle.properties deleted file mode 100644 index 94adc3a..0000000 --- a/apps/wyatt_clean_code/android/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/apps/wyatt_clean_code/android/gradle/wrapper/gradle-wrapper.properties b/apps/wyatt_clean_code/android/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index cc5527d..0000000 --- a/apps/wyatt_clean_code/android/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/apps/wyatt_clean_code/android/settings.gradle b/apps/wyatt_clean_code/android/settings.gradle deleted file mode 100644 index 44e62bc..0000000 --- a/apps/wyatt_clean_code/android/settings.gradle +++ /dev/null @@ -1,11 +0,0 @@ -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/apps/wyatt_clean_code/assets/colors.xml b/apps/wyatt_clean_code/assets/colors.xml deleted file mode 100644 index f5e9c9a..0000000 --- a/apps/wyatt_clean_code/assets/colors.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - #FF2196F3 - - #FF0061A6 - #FFFFFFFF - #FFD0E4FF - #FF001D36 - - #FF535F70 - #FFFFFFFF - #FFD6E3F7 - #FF101C2B - - #FFBA1B1B - #FFFFFFFF - #FFFFDAD4 - #FF410001 - - #FFFDFCFF - #FF1B1B1B - #FFFDFCFF - #FF1B1B1B - #FFDFE2EB - #FF42474E - #FF73777F - #FF000000 - - #FF2F3033 - #FFF1F0F4 - #FF9CCAFF - - - #FF9CCAFF - #FF00325A - #FF00497F - #FFD0E4FF - - #FFBBC8DB - #FF253140 - #FF3C4858 - #FFD6E3F7 - - #FFFFB4A9 - #FF680003 - #FF930006 - #FFFFB4A9 - - #FF1B1B1B - #FFE2E2E6 - #FF1B1B1B - #FFE2E2E6 - #FF42474E - #FFC3C7D0 - #FF8D9199 - #FF000000 - - #FFE2E2E6 - #FF2F3033 - #FF0061A6 - \ No newline at end of file diff --git a/apps/wyatt_clean_code/assets/fonts/.gitkeep b/apps/wyatt_clean_code/assets/fonts/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/assets/fonts/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/assets/images/wyatt-studio-logo.png b/apps/wyatt_clean_code/assets/images/wyatt-studio-logo.png deleted file mode 100644 index 322633e83a745133b19a6feb60ac34ddcdd83f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11611 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 CYmw>z diff --git a/apps/wyatt_clean_code/assets/l10n/intl_fr.arb b/apps/wyatt_clean_code/assets/l10n/intl_fr.arb deleted file mode 100644 index b95f76d..0000000 --- a/apps/wyatt_clean_code/assets/l10n/intl_fr.arb +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@@locale": "fr", - "counterAppBarTitle": "Compteur", - "@counterAppBarTitle": { - "description": "Texte affiché dans l'AppBar de la page Compteur" - }, - "youHavePushed": "Vous avez appuyé {count} fois sur le bouton !", - "@youHavePushed": { - "description": "Message affiché sur la page compteur", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "goToCounter": "Aller au Compteur", - "@goToCounter": { - "description": "Texte affiché dans le bouton ammenant vers la page Compteur" - } -} \ No newline at end of file diff --git a/apps/wyatt_clean_code/generate.sh b/apps/wyatt_clean_code/generate.sh deleted file mode 100755 index ac3f503..0000000 --- a/apps/wyatt_clean_code/generate.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env sh - -make clean -rm -rf .idea -rm -f wyatt_clean_code.iml -rm .fvm/flutter_sdk -cd ../../ -echo "Brick generator..." -dart tools/brick_generator/bin/brick_generator.dart wyatt_clean_code wyatt_clean_code wyatt-clean-code "Wyatt Demo" com.example.wyatt_clean_code - -echo "Make platforms optional..." -mkdir bricks/wyatt_clean_code/__brick__/{{#enable_android}}android\{\{ -mv -f bricks/wyatt_clean_code/__brick__/android/ bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}} - -mkdir bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios\{\{ -mv -f bricks/wyatt_clean_code/__brick__/ios/ bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}} - -mkdir bricks/wyatt_clean_code/__brick__/{{#enable_web}}web\{\{ -mv -f bricks/wyatt_clean_code/__brick__/web/ bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}} - -rm bricks/wyatt_clean_code/__brick__/generate.sh -rm -rf bricks/wyatt_clean_code/__brick__/.fvm/flutter_sdk \ No newline at end of file diff --git a/apps/wyatt_clean_code/ios/.gitignore b/apps/wyatt_clean_code/ios/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/apps/wyatt_clean_code/ios/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/apps/wyatt_clean_code/ios/Flutter/AppFrameworkInfo.plist b/apps/wyatt_clean_code/ios/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 8d4492f..0000000 --- a/apps/wyatt_clean_code/ios/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 9.0 - - diff --git a/apps/wyatt_clean_code/ios/Flutter/Debug.xcconfig b/apps/wyatt_clean_code/ios/Flutter/Debug.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/apps/wyatt_clean_code/ios/Flutter/Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/apps/wyatt_clean_code/ios/Flutter/Release.xcconfig b/apps/wyatt_clean_code/ios/Flutter/Release.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/apps/wyatt_clean_code/ios/Flutter/Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.pbxproj b/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 4e399b8..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1174 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 6B497CB72889B0D000E01771 /* Debug-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-development"; - }; - 6B497CB82889B0D000E01771 /* Debug-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-development"; - }; - 6B497CB92889B0F300E01771 /* Debug-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-staging"; - }; - 6B497CBA2889B0F300E01771 /* Debug-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-staging"; - }; - 6B497CBB2889B11500E01771 /* Debug-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-production"; - }; - 6B497CBC2889B11500E01771 /* Debug-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-production"; - }; - 6B497CBD2889B12000E01771 /* Profile-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-development"; - }; - 6B497CBE2889B12000E01771 /* Profile-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-development"; - }; - 6B497CBF2889B12800E01771 /* Profile-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-staging"; - }; - 6B497CC02889B12800E01771 /* Profile-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-staging"; - }; - 6B497CC12889B12F00E01771 /* Profile-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-production"; - }; - 6B497CC22889B12F00E01771 /* Profile-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-production"; - }; - 6B497CC32889B13A00E01771 /* Release-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-development"; - }; - 6B497CC42889B13A00E01771 /* Release-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-development"; - }; - 6B497CC52889B14200E01771 /* Release-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-staging"; - }; - 6B497CC62889B14200E01771 /* Release-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-staging"; - }; - 6B497CC72889B14900E01771 /* Release-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-production"; - }; - 6B497CC82889B14900E01771 /* Release-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-production"; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 6B497CB72889B0D000E01771 /* Debug-development */, - 6B497CB92889B0F300E01771 /* Debug-staging */, - 6B497CBB2889B11500E01771 /* Debug-production */, - 97C147041CF9000F007C117D /* Release */, - 6B497CC32889B13A00E01771 /* Release-development */, - 6B497CC52889B14200E01771 /* Release-staging */, - 6B497CC72889B14900E01771 /* Release-production */, - 249021D3217E4FDB00AE95B9 /* Profile */, - 6B497CBD2889B12000E01771 /* Profile-development */, - 6B497CBF2889B12800E01771 /* Profile-staging */, - 6B497CC12889B12F00E01771 /* Profile-production */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 6B497CB82889B0D000E01771 /* Debug-development */, - 6B497CBA2889B0F300E01771 /* Debug-staging */, - 6B497CBC2889B11500E01771 /* Debug-production */, - 97C147071CF9000F007C117D /* Release */, - 6B497CC42889B13A00E01771 /* Release-development */, - 6B497CC62889B14200E01771 /* Release-staging */, - 6B497CC82889B14900E01771 /* Release-production */, - 249021D4217E4FDB00AE95B9 /* Profile */, - 6B497CBE2889B12000E01771 /* Profile-development */, - 6B497CC02889B12800E01771 /* Profile-staging */, - 6B497CC22889B12F00E01771 /* Profile-production */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index c87d15a..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme b/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme b/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme b/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcworkspace/contents.xcworkspacedata b/apps/wyatt_clean_code/ios/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/apps/wyatt_clean_code/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/apps/wyatt_clean_code/ios/Runner/AppDelegate.swift b/apps/wyatt_clean_code/ios/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/apps/wyatt_clean_code/ios/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca859a3f474b03065bef75ba58a9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb86cdfe0d15b4b0d98334a86163658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 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 diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee1c98386d13b17e89f719e83555b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3831 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 diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/apps/wyatt_clean_code/ios/Runner/Base.lproj/LaunchScreen.storyboard b/apps/wyatt_clean_code/ios/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner/Base.lproj/Main.storyboard b/apps/wyatt_clean_code/ios/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/apps/wyatt_clean_code/ios/Runner/Info.plist b/apps/wyatt_clean_code/ios/Runner/Info.plist deleted file mode 100644 index 80488e4..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Info.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Wyatt Clean Code - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - wyatt_clean_code - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - - diff --git a/apps/wyatt_clean_code/ios/Runner/Runner-Bridging-Header.h b/apps/wyatt_clean_code/ios/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/apps/wyatt_clean_code/ios/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/apps/wyatt_clean_code/l10n.yaml b/apps/wyatt_clean_code/l10n.yaml deleted file mode 100644 index dcb899b..0000000 --- a/apps/wyatt_clean_code/l10n.yaml +++ /dev/null @@ -1,4 +0,0 @@ -arb-dir: assets/l10n -template-arb-file: intl_fr.arb -output-localization-file: app_localizations.dart -nullable-getter: false diff --git a/apps/wyatt_clean_code/lib/bootstrap.dart b/apps/wyatt_clean_code/lib/bootstrap.dart deleted file mode 100644 index 757794e..0000000 --- a/apps/wyatt_clean_code/lib/bootstrap.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:go_router/go_router.dart'; -import 'package:wyatt_clean_code/core/dependency_injection/get_it.dart'; -import 'package:wyatt_clean_code/core/flavors/flavor_settings.dart'; -import 'package:wyatt_clean_code/core/utils/app_bloc_observer.dart'; -import 'package:wyatt_clean_code/core/utils/wyatt_printer.dart'; - -Future bootstrap(FutureOr Function() builder) async { - await runZonedGuarded( - () async { - WidgetsFlutterBinding.ensureInitialized(); - - FlutterError.onError = (details) { - WyattPrinter.get().e( - '', - details, - details.stack, - ); - }; - - FlavorSettings.init(); - GetItInitializer.run(); - - GoRouter.setUrlPathStrategy(UrlPathStrategy.path); - - if (!kReleaseMode) { - final env = FlavorSettings.get(); - WyattPrinter.get().i('Flavor : ${env.flavor.name}'); - } - - await BlocOverrides.runZoned( - () async => runApp(await builder()), - blocObserver: AppBlocObserver(), - ); - }, - (error, stackTrace) => WyattPrinter.get().e( - '', - error, - stackTrace, - ), - ); -} diff --git a/apps/wyatt_clean_code/lib/core/constants/.gitkeep b/apps/wyatt_clean_code/lib/core/constants/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/core/constants/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/lib/core/dependency_injection/get_it.dart b/apps/wyatt_clean_code/lib/core/dependency_injection/get_it.dart deleted file mode 100644 index 7180ebb..0000000 --- a/apps/wyatt_clean_code/lib/core/dependency_injection/get_it.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'dart:async'; - -import 'package:get_it/get_it.dart'; - -final getIt = GetIt.I; - -abstract class GetItInitializer { - static Future init() async { - // Here, register data sources - } - - static void run() { - unawaited(init()); - } -} diff --git a/apps/wyatt_clean_code/lib/core/design_system/colors.dart b/apps/wyatt_clean_code/lib/core/design_system/colors.dart deleted file mode 100644 index b48f3f8..0000000 --- a/apps/wyatt_clean_code/lib/core/design_system/colors.dart +++ /dev/null @@ -1,2 +0,0 @@ -/// Generate colors with `flutter pub run build_runner build` -export 'package:wyatt_clean_code/gen/colors.gen.dart'; diff --git a/apps/wyatt_clean_code/lib/core/design_system/sizing.dart b/apps/wyatt_clean_code/lib/core/design_system/sizing.dart deleted file mode 100644 index 1c4fdc0..0000000 --- a/apps/wyatt_clean_code/lib/core/design_system/sizing.dart +++ /dev/null @@ -1,235 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:gap/gap.dart'; - -/// Geometric progression. -abstract class AppSizing { - /// Default to 1 - static const double factor = 1; - - /// SizedBox.shrink(); - static const SizedBox empty = SizedBox.shrink(); - - /// xxs = factor * 2 - static const double xxs = factor * 2; - - /// xs = factor * 4 - static const double xs = factor * 4; - - /// s = factor * 8 - static const double s = factor * 8; - - /// m = factor * 16 - static const double m = factor * 16; - - /// l = factor * 32 - static const double l = factor * 32; - - /// xl = factor * 64 - static const double xl = factor * 64; - - /// xxl = factor * 128 - static const double xxl = factor * 128; - - /// xxs = factor * 2 - static const Gap xxsGap = Gap(xxs); - - /// xs = factor * 4 - static const Gap xsGap = Gap(xs); - - /// s = factor * 8 - static const Gap sGap = Gap(s); - - /// m = factor * 16 - static const Gap mGap = Gap(m); - - /// l = factor * 32 - static const Gap lGap = Gap(l); - - /// xl = factor * 64 - static const Gap xlGap = Gap(xl); - - /// xxl = factor * 128 - static const Gap xxlGap = Gap(xxl); - - /// xxs = factor * 2 - static const Radius xxsRadius = Radius.circular(xxs); - - /// xs = factor * 4 - static const Radius xsRadius = Radius.circular(xs); - - /// s = factor * 8 - static const Radius sRadius = Radius.circular(s); - - /// m = factor * 16 - static const Radius mRadius = Radius.circular(m); - - /// l = factor * 32 - static const Radius lRadius = Radius.circular(l); - - /// xl = factor * 64 - static const Radius xlRadius = Radius.circular(xl); - - /// xxl = factor * 128 - static const Radius xxlRadius = Radius.circular(xxl); - - /// xxs = factor * 2 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xxsSquareInset = EdgeInsets.all(xxs); - - /// xs = factor * 4 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xsSquareInset = EdgeInsets.all(xs); - - /// s = factor * 8 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets sSquareInset = EdgeInsets.all(s); - - /// m = factor * 16 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets mSquareInset = EdgeInsets.all(m); - - /// l = factor * 32 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets lSquareInset = EdgeInsets.all(l); - - /// xl = factor * 64 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xlSquareInset = EdgeInsets.all(xl); - - /// xxl = factor * 128 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xxlSquareInset = EdgeInsets.all(xxl); - - /// xxs = factor * 2 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xxsSquishInset = - EdgeInsets.symmetric(horizontal: xxs, vertical: xxs / 2); - - /// xs = factor * 4 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xsSquishInset = - EdgeInsets.symmetric(horizontal: xs, vertical: xs / 2); - - /// s = factor * 8 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets sSquishInset = - EdgeInsets.symmetric(horizontal: s, vertical: s / 2); - - /// m = factor * 16 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets mSquishInset = - EdgeInsets.symmetric(horizontal: m, vertical: m / 2); - - /// l = factor * 32 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets lSquishInset = - EdgeInsets.symmetric(horizontal: l, vertical: l / 2); - - /// xl = factor * 64 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xlSquishInset = - EdgeInsets.symmetric(horizontal: xl, vertical: xl / 2); - - /// xxl = factor * 128 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xxlSquishInset = - EdgeInsets.symmetric(horizontal: xxl, vertical: xxl / 2); - - /// xxs = factor * 2 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xxsStretchInset = - EdgeInsets.symmetric(vertical: xxs, horizontal: xxs / 2); - - /// xs = factor * 4 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xsStretchInset = - EdgeInsets.symmetric(vertical: xs, horizontal: xs / 2); - - /// s = factor * 8 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets sStretchInset = - EdgeInsets.symmetric(vertical: s, horizontal: s / 2); - - /// m = factor * 16 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets mStretchInset = - EdgeInsets.symmetric(vertical: m, horizontal: m / 2); - - /// l = factor * 32 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets lStretchInset = - EdgeInsets.symmetric(vertical: l, horizontal: l / 2); - - /// xl = factor * 64 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xlStretchInset = - EdgeInsets.symmetric(vertical: xl, horizontal: xl / 2); - - /// xxl = factor * 128 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xxlStretchInset = - EdgeInsets.symmetric(vertical: xxl, horizontal: xxl / 2); -} diff --git a/apps/wyatt_clean_code/lib/core/design_system/theme.dart b/apps/wyatt_clean_code/lib/core/design_system/theme.dart deleted file mode 100644 index 1f079c0..0000000 --- a/apps/wyatt_clean_code/lib/core/design_system/theme.dart +++ /dev/null @@ -1,240 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_clean_code/core/design_system/colors.dart'; -import 'package:wyatt_clean_code/core/design_system/typography.dart'; - -const _smallTextScaleFactor = 0.80; -const _largeTextScaleFactor = 1.20; - -/// Namespace for the [ThemeData]. -class AppTheme { - /// Light `ThemeData` for UI. - static ThemeData get light => ThemeData( - colorScheme: ColorScheme.fromSwatch( - primarySwatch: ColorName.seedColor, - accentColor: ColorName.seedColorAccent, - cardColor: ColorName.lightBackground, - backgroundColor: ColorName.lightBackground, - errorColor: ColorName.lightError, - ), - appBarTheme: _appBarLightTheme, - elevatedButtonTheme: _elevatedButtonLightTheme, - outlinedButtonTheme: _outlinedButtonLightTheme, - textTheme: _textTheme(), - dialogTheme: _dialogLightTheme, - tooltipTheme: _tooltipLightTheme, - bottomSheetTheme: _bottomSheetLightTheme, - tabBarTheme: _tabBarLightTheme, - dividerTheme: _dividerLightTheme, - backgroundColor: ColorName.lightBackground, - ); - - /// dark `ThemeData` for UI. - static ThemeData get dark => ThemeData( - colorScheme: ColorScheme.fromSwatch( - primarySwatch: ColorName.seedColor, - accentColor: ColorName.darkSecondary, - cardColor: ColorName.darkBackground, - backgroundColor: ColorName.darkBackground, - errorColor: ColorName.darkError, - brightness: Brightness.dark, - ), - appBarTheme: _appBarDarkTheme, - elevatedButtonTheme: _elevatedButtonDarkTheme, - outlinedButtonTheme: _outlinedButtonDarkTheme, - textTheme: _textTheme(isDark: true), - dialogTheme: _dialogDarkTheme, - tooltipTheme: _tooltipDarkTheme, - bottomSheetTheme: _bottomSheetDarkTheme, - tabBarTheme: _tabBarDarkTheme, - dividerTheme: _dividerDarkTheme, - backgroundColor: ColorName.darkBackground, - canvasColor: ColorName.darkBackground, - ); - - /// `ThemeData` for UI for small screens. - static ThemeData get lightSmall => - light.copyWith(textTheme: _smallTextTheme()); - - /// `ThemeData` for UI for medium screens. - static ThemeData get lightMedium => - light.copyWith(textTheme: _smallTextTheme()); - - /// `ThemeData` for UI for large screens. - static ThemeData get lightLarge => - light.copyWith(textTheme: _largeTextTheme()); - - /// `ThemeData` for UI for small screens. - static ThemeData get darkSmall => - dark.copyWith(textTheme: _smallTextTheme(isDark: true)); - - /// `ThemeData` for UI for medium screens. - static ThemeData get darkMedium => - dark.copyWith(textTheme: _smallTextTheme(isDark: true)); - - /// `ThemeData` for UI for large screens. - static ThemeData get darkLarge => - dark.copyWith(textTheme: _largeTextTheme(isDark: true)); - - static TextTheme _textTheme({bool isDark = false}) => TextTheme( - headline1: AppTypography.headline1, - headline2: AppTypography.headline2, - headline3: AppTypography.headline3, - headline4: AppTypography.headline4, - headline5: AppTypography.headline5, - headline6: AppTypography.headline6, - subtitle1: AppTypography.subtitle1, - subtitle2: AppTypography.subtitle2, - bodyText1: AppTypography.bodyText1, - bodyText2: AppTypography.bodyText2, - caption: AppTypography.caption, - overline: AppTypography.overline, - button: AppTypography.button, - ).apply( - bodyColor: - isDark ? ColorName.darkOnBackground : ColorName.lightOnBackground, - displayColor: - isDark ? ColorName.darkOnBackground : ColorName.lightOnBackground, - ); - - static TextTheme _smallTextTheme({bool isDark = false}) => - _textTheme(isDark: isDark).apply(fontSizeFactor: _smallTextScaleFactor); - - static TextTheme _largeTextTheme({bool isDark = false}) => - _textTheme(isDark: isDark).apply(fontSizeFactor: _largeTextScaleFactor); - - static AppBarTheme get _appBarLightTheme => - const AppBarTheme(color: ColorName.lightPrimary); - - static AppBarTheme get _appBarDarkTheme => - const AppBarTheme(color: ColorName.darkSurfaceVariant); - - static ElevatedButtonThemeData get _elevatedButtonLightTheme => - ElevatedButtonThemeData( - style: ElevatedButton.styleFrom( - elevation: 0, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - primary: ColorName.lightPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static ElevatedButtonThemeData get _elevatedButtonDarkTheme => - ElevatedButtonThemeData( - style: ElevatedButton.styleFrom( - elevation: 0, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - primary: ColorName.darkPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static OutlinedButtonThemeData get _outlinedButtonLightTheme => - OutlinedButtonThemeData( - style: OutlinedButton.styleFrom( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - side: const BorderSide(color: ColorName.lightOutline, width: 2), - primary: ColorName.lightPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static OutlinedButtonThemeData get _outlinedButtonDarkTheme => - OutlinedButtonThemeData( - style: OutlinedButton.styleFrom( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - side: const BorderSide(color: ColorName.darkOutline, width: 2), - primary: ColorName.darkPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static TooltipThemeData get _tooltipLightTheme => const TooltipThemeData( - decoration: BoxDecoration( - color: ColorName.lightInverseSurface, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - padding: EdgeInsets.all(10), - textStyle: TextStyle(color: ColorName.lightOnInverseSurface), - ); - - static TooltipThemeData get _tooltipDarkTheme => const TooltipThemeData( - decoration: BoxDecoration( - color: ColorName.darkInverseSurface, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - padding: EdgeInsets.all(10), - textStyle: TextStyle(color: ColorName.darkOnInverseSurface), - ); - - static DialogTheme get _dialogLightTheme => DialogTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - ); - - static DialogTheme get _dialogDarkTheme => DialogTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - ); - - static BottomSheetThemeData get _bottomSheetLightTheme => - const BottomSheetThemeData( - backgroundColor: ColorName.lightBackground, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(12)), - ), - ); - - static BottomSheetThemeData get _bottomSheetDarkTheme => - const BottomSheetThemeData( - backgroundColor: ColorName.darkBackground, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(12)), - ), - ); - - static TabBarTheme get _tabBarLightTheme => const TabBarTheme( - indicator: UnderlineTabIndicator( - borderSide: BorderSide( - width: 2, - color: ColorName.lightPrimary, - ), - ), - labelColor: ColorName.lightPrimary, - unselectedLabelColor: ColorName.lightOutline, - indicatorSize: TabBarIndicatorSize.tab, - ); - - static TabBarTheme get _tabBarDarkTheme => const TabBarTheme( - indicator: UnderlineTabIndicator( - borderSide: BorderSide( - width: 2, - color: ColorName.darkPrimary, - ), - ), - labelColor: ColorName.darkPrimary, - unselectedLabelColor: ColorName.darkOutline, - indicatorSize: TabBarIndicatorSize.tab, - ); - - static DividerThemeData get _dividerLightTheme => const DividerThemeData( - space: 0, - thickness: 1, - color: ColorName.lightOutline, - ); - - static DividerThemeData get _dividerDarkTheme => const DividerThemeData( - space: 0, - thickness: 1, - color: ColorName.darkOutline, - ); -} diff --git a/apps/wyatt_clean_code/lib/core/design_system/typography.dart b/apps/wyatt_clean_code/lib/core/design_system/typography.dart deleted file mode 100644 index ce1b241..0000000 --- a/apps/wyatt_clean_code/lib/core/design_system/typography.dart +++ /dev/null @@ -1,115 +0,0 @@ -import 'package:flutter/material.dart'; - -abstract class AppFontWeight { - /// FontWeight value of `w900` - static const FontWeight black = FontWeight.w900; - - /// FontWeight value of `w800` - static const FontWeight extraBold = FontWeight.w800; - - /// FontWeight value of `w700` - static const FontWeight bold = FontWeight.w700; - - /// FontWeight value of `w600` - static const FontWeight semiBold = FontWeight.w600; - - /// FontWeight value of `w500` - static const FontWeight medium = FontWeight.w500; - - /// FontWeight value of `w400` - static const FontWeight regular = FontWeight.w400; - - /// FontWeight value of `w300` - static const FontWeight light = FontWeight.w300; - - /// FontWeight value of `w200` - static const FontWeight extraLight = FontWeight.w200; - - /// FontWeight value of `w100` - static const FontWeight thin = FontWeight.w100; -} - -class AppTypography { - static const TextStyle _base = TextStyle( - color: Colors.black, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 1 Text Style - static TextStyle get headline1 => _base.copyWith( - fontSize: 56, - fontWeight: AppFontWeight.medium, - ); - - /// Headline 2 Text Style - static TextStyle get headline2 => _base.copyWith( - fontSize: 30, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 3 Text Style - static TextStyle get headline3 => _base.copyWith( - fontSize: 28, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 4 Text Style - static TextStyle get headline4 => _base.copyWith( - fontSize: 22, - fontWeight: AppFontWeight.bold, - ); - - /// Headline 5 Text Style - static TextStyle get headline5 => _base.copyWith( - fontSize: 20, - fontWeight: AppFontWeight.medium, - ); - - /// Headline 6 Text Style - static TextStyle get headline6 => _base.copyWith( - fontSize: 22, - fontWeight: AppFontWeight.bold, - ); - - /// Subtitle 1 Text Style - static TextStyle get subtitle1 => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.bold, - ); - - /// Subtitle 2 Text Style - static TextStyle get subtitle2 => _base.copyWith( - fontSize: 14, - fontWeight: AppFontWeight.bold, - ); - - /// Body Text 1 Text Style - static TextStyle get bodyText1 => _base.copyWith( - fontSize: 18, - fontWeight: AppFontWeight.medium, - ); - - /// Body Text 2 Text Style (the default) - static TextStyle get bodyText2 => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.regular, - ); - - /// Caption Text Style - static TextStyle get caption => _base.copyWith( - fontSize: 14, - fontWeight: AppFontWeight.regular, - ); - - /// Overline Text Style - static TextStyle get overline => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.regular, - ); - - /// Button Text Style - static TextStyle get button => _base.copyWith( - fontSize: 18, - fontWeight: AppFontWeight.medium, - ); -} diff --git a/apps/wyatt_clean_code/lib/core/enums/exception_type.dart b/apps/wyatt_clean_code/lib/core/enums/exception_type.dart deleted file mode 100644 index decb960..0000000 --- a/apps/wyatt_clean_code/lib/core/enums/exception_type.dart +++ /dev/null @@ -1,7 +0,0 @@ -enum AppExceptionType { - network, - api, - database, - cache, - assertion, -} diff --git a/apps/wyatt_clean_code/lib/core/enums/flavor.dart b/apps/wyatt_clean_code/lib/core/enums/flavor.dart deleted file mode 100644 index 2cec6bb..0000000 --- a/apps/wyatt_clean_code/lib/core/enums/flavor.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; - -enum Flavor { - development('dev', Colors.red), - staging('stg', Colors.blue), - production('prod', Colors.green); - - final String short; - final Color color; - - const Flavor(this.short, this.color); -} diff --git a/apps/wyatt_clean_code/lib/core/errors/exceptions.dart b/apps/wyatt_clean_code/lib/core/errors/exceptions.dart deleted file mode 100644 index 48d84be..0000000 --- a/apps/wyatt_clean_code/lib/core/errors/exceptions.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:wyatt_clean_code/core/enums/exception_type.dart'; - -abstract class AppException extends Equatable implements Exception { - final String message; - final AppExceptionType type; - - AppException(this.type, [String? message]) : message = message ?? type.name; - - @override - List get props => [message, type]; - - @override - String toString() => message; -} - -class ClientException extends AppException { - ClientException(super.type, [super.message]); - - @override - String toString() => 'ClientException: ${super.toString()}'; -} - -class ServerException extends AppException { - ServerException(super.type, [super.message]); - - @override - String toString() => 'ServerException: ${super.toString()}'; -} diff --git a/apps/wyatt_clean_code/lib/core/extensions/build_context_extension.dart b/apps/wyatt_clean_code/lib/core/extensions/build_context_extension.dart deleted file mode 100644 index df68dfe..0000000 --- a/apps/wyatt_clean_code/lib/core/extensions/build_context_extension.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -export 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -extension BuildContextX on BuildContext { - AppLocalizations get l10n => AppLocalizations.of(this); -} diff --git a/apps/wyatt_clean_code/lib/core/extensions/num_extension.dart b/apps/wyatt_clean_code/lib/core/extensions/num_extension.dart deleted file mode 100644 index d02178a..0000000 --- a/apps/wyatt_clean_code/lib/core/extensions/num_extension.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:wyatt_clean_code/core/utils/screen_util.dart'; - -extension NumX on num { - double get w => ScreenUtil().setWidth(this); - - double get h => ScreenUtil().setHeight(this); - - double get sp => ScreenUtil().setSp(this); -} diff --git a/apps/wyatt_clean_code/lib/core/extensions/object_extension.dart b/apps/wyatt_clean_code/lib/core/extensions/object_extension.dart deleted file mode 100644 index 0dfcd1f..0000000 --- a/apps/wyatt_clean_code/lib/core/extensions/object_extension.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:logger/logger.dart'; -import 'package:wyatt_clean_code/core/utils/wyatt_printer.dart'; - -extension ObjectX on Object { - void log({Level level = Level.debug, String Function(Object obj)? wrap}) { - final msg = wrap != null ? wrap(this) : this; - WyattPrinter.get().log(level, msg); - } - - /// Log a message at level [Level.verbose]. - void v({String Function(Object obj)? wrap}) => - log(level: Level.verbose, wrap: wrap); - - /// Log a message at level [Level.debug]. - void d({String Function(Object obj)? wrap}) => log(wrap: wrap); - - /// Log a message at level [Level.info]. - void i({String Function(Object obj)? wrap}) => - log(level: Level.info, wrap: wrap); - - /// Log a message at level [Level.warning]. - void w({String Function(Object obj)? wrap}) => - log(level: Level.warning, wrap: wrap); - - /// Log a message at level [Level.error]. - void e({String Function(Object obj)? wrap}) => - log(level: Level.error, wrap: wrap); - - /// Log a message at level [Level.wtf]. - void wtf({String Function(Object obj)? wrap}) => - log(level: Level.wtf, wrap: wrap); -} diff --git a/apps/wyatt_clean_code/lib/core/flavors/flavor_settings.dart b/apps/wyatt_clean_code/lib/core/flavors/flavor_settings.dart deleted file mode 100644 index 986eeee..0000000 --- a/apps/wyatt_clean_code/lib/core/flavors/flavor_settings.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:wyatt_clean_code/core/enums/flavor.dart'; - -class FlavorSettings { - static FlavorSettings? _instance; - - final Flavor flavor; - - // Per flavor settings - String apiKey = ''; - - /// Banner are not display in release mode, whatever this value - bool displayBanner = true; - - FlavorSettings._(this.flavor); - - factory FlavorSettings.development() { - _instance ??= FlavorSettings._(Flavor.development); - if (_instance!.flavor != Flavor.development) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - factory FlavorSettings.staging() { - _instance ??= FlavorSettings._(Flavor.staging); - if (_instance!.flavor != Flavor.staging) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - factory FlavorSettings.production() { - _instance ??= FlavorSettings._(Flavor.production); - if (_instance!.flavor != Flavor.production) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - /// Returns initialized [FlavorSettings], may throw if not initialized. - static FlavorSettings get() { - if (_instance == null) { - throw Exception('Flavor not initialized!'); - } - return _instance!; - } - - /// To call after `WidgetsFlutterBinding.ensureInitialized()` - /// - /// Here you can config all the settings attributes. - static void init() { - switch (get().flavor) { - case Flavor.development: - _instance!.apiKey = 'example-dev'; - break; - case Flavor.staging: - _instance!.apiKey = 'example-stg'; - break; - case Flavor.production: - _instance!.apiKey = 'example-prod'; - break; - } - } -} diff --git a/apps/wyatt_clean_code/lib/core/mixins/local_data_source.dart b/apps/wyatt_clean_code/lib/core/mixins/local_data_source.dart deleted file mode 100644 index 355011f..0000000 --- a/apps/wyatt_clean_code/lib/core/mixins/local_data_source.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:wyatt_clean_code/domain/data_sources/local/base_local_data_source.dart'; - -mixin LocalDataSource { - /// Offline data source, for debug or cache - Local get localDataSource; -} diff --git a/apps/wyatt_clean_code/lib/core/mixins/remote_data_source.dart b/apps/wyatt_clean_code/lib/core/mixins/remote_data_source.dart deleted file mode 100644 index ce2211f..0000000 --- a/apps/wyatt_clean_code/lib/core/mixins/remote_data_source.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:wyatt_clean_code/domain/data_sources/remote/base_remote_data_source.dart'; - -mixin RemoteDataSource { - /// Online data source, to provide data through API - Remote get remoteDataSource; -} diff --git a/apps/wyatt_clean_code/lib/core/routes/router.dart b/apps/wyatt_clean_code/lib/core/routes/router.dart deleted file mode 100644 index d908c25..0000000 --- a/apps/wyatt_clean_code/lib/core/routes/router.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/counter_page.dart'; -import 'package:wyatt_clean_code/presentation/features/initial/initial_page.dart'; - -abstract class AppRouter { - static Page defaultTransition( - BuildContext context, - GoRouterState state, - Widget child, - ) => - MaterialPage( - key: state.pageKey, - child: child, - ); - - static final List routes = [ - GoRoute( - name: InitialPage.pageName, - path: '/', - pageBuilder: (context, state) => defaultTransition( - context, - state, - const InitialPage(), - ), - ), - GoRoute( - path: '/counter', - name: CounterPage.pageName, - pageBuilder: (context, state) => defaultTransition( - context, - state, - const CounterPage(), - ), - ), - ]; -} diff --git a/apps/wyatt_clean_code/lib/core/usecases/usecase.dart b/apps/wyatt_clean_code/lib/core/usecases/usecase.dart deleted file mode 100644 index 565f51f..0000000 --- a/apps/wyatt_clean_code/lib/core/usecases/usecase.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:wyatt_clean_code/core/errors/exceptions.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -// ignore: one_member_abstracts -abstract class UseCase { - Future> call(Params params); -} - -class NoParams extends Equatable { - @override - List get props => []; -} diff --git a/apps/wyatt_clean_code/lib/core/utils/app_bloc_observer.dart b/apps/wyatt_clean_code/lib/core/utils/app_bloc_observer.dart deleted file mode 100644 index 9867e6c..0000000 --- a/apps/wyatt_clean_code/lib/core/utils/app_bloc_observer.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:logger/logger.dart'; -import 'package:wyatt_clean_code/core/extensions/object_extension.dart'; - -class AppBlocObserver extends BlocObserver { - final bool printEvent; - final bool printError; - final bool printChange; - final bool printTransition; - - final Logger logger = Logger(printer: SimplePrinter()); - - AppBlocObserver({ - this.printEvent = true, - this.printError = true, - this.printTransition = true, - this.printChange = true, - }); - - @override - void onEvent(Bloc bloc, Object? event) { - super.onEvent(bloc, event); - if (printEvent) { - event?.d(wrap: (obj) => 'onEvent $event'); - } - } - - @override - void onError(BlocBase bloc, Object error, StackTrace stackTrace) { - if (printError) { - error.e( - wrap: (obj) => 'onError(${bloc.runtimeType}, $obj, $stackTrace)', - ); - } - super.onError(bloc, error, stackTrace); - } - - @override - void onChange(BlocBase bloc, Change change) { - super.onChange(bloc, change); - if (printChange) { - change.d(wrap: (obj) => 'onChange(${bloc.runtimeType}, $obj)'); - } - } - - @override - void onTransition( - Bloc bloc, - Transition transition, - ) { - super.onTransition(bloc, transition); - if (printTransition) { - transition.d(wrap: (obj) => 'onTransition $obj'); - } - } -} diff --git a/apps/wyatt_clean_code/lib/core/utils/screen_util.dart b/apps/wyatt_clean_code/lib/core/utils/screen_util.dart deleted file mode 100644 index 8f5656a..0000000 --- a/apps/wyatt_clean_code/lib/core/utils/screen_util.dart +++ /dev/null @@ -1,107 +0,0 @@ -import 'dart:ui'; - -class ScreenUtil { - static late ScreenUtil _instance; - static const int defaultWidth = 414; - static const int defaultHeight = 896; - - /// Size of the phone in UI Design ,px - late num uiWidthPx; - late num uiHeightPx; - - /// allowFontScaling Specifies whether fonts should scale to respect Text - /// Size accessibility settings. The default is false. - late bool allowFontScaling; - - static late double _screenWidth; - static late double _screenHeight; - static late double _pixelRatio; - static late double _statusBarHeight; - static late double _bottomBarHeight; - static late double _textScaleFactor; - - factory ScreenUtil() => _instance; - - ScreenUtil._(); - - static void init({ - num width = defaultWidth, - num height = defaultHeight, - bool allowFontScaling = false, - }) { - _instance = ScreenUtil._(); - _instance.uiWidthPx = width; - _instance.uiHeightPx = height; - _instance.allowFontScaling = allowFontScaling; - _pixelRatio = window.devicePixelRatio; - _screenWidth = window.physicalSize.width; - _screenHeight = window.physicalSize.height; - _statusBarHeight = window.padding.top; - _bottomBarHeight = window.padding.bottom; - _textScaleFactor = window.textScaleFactor; - } - - /// The number of font pixels for each logical pixel. - static double get textScaleFactor => _textScaleFactor; - - /// The size of the media in logical pixels (e.g, the size of the screen). - static double get pixelRatio => _pixelRatio; - - /// The horizontal extent of this size. - static double get screenWidth => _screenWidth / _pixelRatio; - - ///The vertical extent of this size. dp - static double get screenHeight => _screenHeight / _pixelRatio; - - /// The vertical extent of this size. px - static double get screenWidthPx => _screenWidth; - - /// The vertical extent of this size. px - static double get screenHeightPx => _screenHeight; - - /// The offset from the top - static double get statusBarHeight => _statusBarHeight / _pixelRatio; - - /// The offset from the top - static double get statusBarHeightPx => _statusBarHeight; - - /// The offset from the bottom. - static double get bottomBarHeight => _bottomBarHeight; - - /// The ratio of the actual dp to the design draft px - double get scaleWidth => screenWidth / uiWidthPx; - - double get scaleHeight => - (_screenHeight - _statusBarHeight - _bottomBarHeight) / uiHeightPx; - - double get scaleText => scaleWidth; - - /// Width function - /// - /// Adapted to the device width of the UI Design. - /// Height can also be adapted according to this to ensure no deformation , - /// if you want a square - double setWidth(num width) => width * scaleWidth; - - /// Height function - /// - /// Highly adaptable to the device according to UI Design - /// It is recommended to use this method to achieve a high degree - /// of adaptation when it is found that one screen in the UI design - /// does not match the current style effect, or if there is a difference - /// in shape. - double setHeight(num height) => height * scaleHeight; - - /// FontSize function - /// - /// [fontSize] The size of the font on the UI design, in px. - /// [allowFontScaling] - double setSp(num fontSize, {bool allowFontScalingSelf = false}) => - allowFontScalingSelf - ? (allowFontScalingSelf - ? (fontSize * scaleText) - : ((fontSize * scaleText) / _textScaleFactor)) - : (allowFontScaling - ? (fontSize * scaleText) - : ((fontSize * scaleText) / _textScaleFactor)); -} diff --git a/apps/wyatt_clean_code/lib/core/utils/wyatt_printer.dart b/apps/wyatt_clean_code/lib/core/utils/wyatt_printer.dart deleted file mode 100644 index 9ceeb38..0000000 --- a/apps/wyatt_clean_code/lib/core/utils/wyatt_printer.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'dart:convert'; - -import 'package:logger/logger.dart'; - -class WyattPrinter extends LogPrinter { - WyattPrinter({this.colors = true}); - - final bool colors; - - static Logger? _instance; - - /// Returns [Logger] instance or create it if not. - static Logger get({bool colors = true}) { - _instance ??= Logger(printer: WyattPrinter(colors: colors)); - return _instance!; - } - - @override - List log(LogEvent event) { - // final classNameStr = (className != null) ? '$className ' : ''; - final messageStr = _stringifyMessage(event.message); - final errorStr = event.error != null ? 'ERROR: ${event.error}' : ''; - return ['${_labelFor(event.level)} $messageStr$errorStr']; - } - - String _labelFor(Level level) { - final prefix = PrettyPrinter.levelEmojis[level]!; - final color = PrettyPrinter.levelColors[level]!; - - return colors ? color(prefix) : prefix; - } - - String _stringifyMessage(dynamic message) { - // ignore: avoid_dynamic_calls - final finalMessage = message is Function ? message() : message; - if (finalMessage is Map || finalMessage is Iterable) { - const encoder = JsonEncoder.withIndent(null); - return encoder.convert(finalMessage); - } else { - return finalMessage.toString(); - } - } -} diff --git a/apps/wyatt_clean_code/lib/data/data_sources/local/.gitkeep b/apps/wyatt_clean_code/lib/data/data_sources/local/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/data/data_sources/local/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/lib/data/data_sources/remote/.gitkeep b/apps/wyatt_clean_code/lib/data/data_sources/remote/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/data/data_sources/remote/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/lib/data/models/.gitkeep b/apps/wyatt_clean_code/lib/data/models/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/data/models/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/lib/data/repositories/counter_repository_impl.dart b/apps/wyatt_clean_code/lib/data/repositories/counter_repository_impl.dart deleted file mode 100644 index b255175..0000000 --- a/apps/wyatt_clean_code/lib/data/repositories/counter_repository_impl.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:wyatt_clean_code/core/enums/exception_type.dart'; -import 'package:wyatt_clean_code/core/errors/exceptions.dart'; -import 'package:wyatt_clean_code/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class CounterRepositoryImpl implements CounterRepository { - Result _check(int value) => - Result.conditionalLazy( - value >= 0, - () => value, - () => ClientException( - AppExceptionType.assertion, - "Counter can't be negative!", - ), - ); - - @override - Future> decrement(int newState) async => - _check(newState); - - @override - Future> increment(int newState) async => - _check(newState); -} diff --git a/apps/wyatt_clean_code/lib/domain/data_sources/base_data_source.dart b/apps/wyatt_clean_code/lib/domain/data_sources/base_data_source.dart deleted file mode 100644 index 05f1202..0000000 --- a/apps/wyatt_clean_code/lib/domain/data_sources/base_data_source.dart +++ /dev/null @@ -1 +0,0 @@ -abstract class BaseDataSource {} diff --git a/apps/wyatt_clean_code/lib/domain/data_sources/local/base_local_data_source.dart b/apps/wyatt_clean_code/lib/domain/data_sources/local/base_local_data_source.dart deleted file mode 100644 index 175c70b..0000000 --- a/apps/wyatt_clean_code/lib/domain/data_sources/local/base_local_data_source.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:wyatt_clean_code/domain/data_sources/base_data_source.dart'; - -abstract class BaseLocalDataSource extends BaseDataSource {} diff --git a/apps/wyatt_clean_code/lib/domain/data_sources/remote/base_remote_data_source.dart b/apps/wyatt_clean_code/lib/domain/data_sources/remote/base_remote_data_source.dart deleted file mode 100644 index ef4acf0..0000000 --- a/apps/wyatt_clean_code/lib/domain/data_sources/remote/base_remote_data_source.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:wyatt_clean_code/domain/data_sources/base_data_source.dart'; - -abstract class BaseRemoteDataSource extends BaseDataSource {} diff --git a/apps/wyatt_clean_code/lib/domain/entities/.gitkeep b/apps/wyatt_clean_code/lib/domain/entities/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/domain/entities/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/lib/domain/repositories/base_repository.dart b/apps/wyatt_clean_code/lib/domain/repositories/base_repository.dart deleted file mode 100644 index 2b88f48..0000000 --- a/apps/wyatt_clean_code/lib/domain/repositories/base_repository.dart +++ /dev/null @@ -1 +0,0 @@ -abstract class BaseRepository {} diff --git a/apps/wyatt_clean_code/lib/domain/repositories/counter_repository.dart b/apps/wyatt_clean_code/lib/domain/repositories/counter_repository.dart deleted file mode 100644 index 171e77f..0000000 --- a/apps/wyatt_clean_code/lib/domain/repositories/counter_repository.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:wyatt_clean_code/core/errors/exceptions.dart'; -import 'package:wyatt_clean_code/domain/repositories/base_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -abstract class CounterRepository extends BaseRepository { - Future> increment(int newState); - Future> decrement(int newState); -} diff --git a/apps/wyatt_clean_code/lib/domain/usecases/counter/decrement_counter.dart b/apps/wyatt_clean_code/lib/domain/usecases/counter/decrement_counter.dart deleted file mode 100644 index b1034b9..0000000 --- a/apps/wyatt_clean_code/lib/domain/usecases/counter/decrement_counter.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:wyatt_clean_code/core/errors/exceptions.dart'; -import 'package:wyatt_clean_code/core/usecases/usecase.dart'; -import 'package:wyatt_clean_code/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class DecrementCounter extends UseCase { - final CounterRepository counterRepository; - - DecrementCounter({ - required this.counterRepository, - }); - - @override - Future> call(int params) async => - counterRepository.decrement(params); -} diff --git a/apps/wyatt_clean_code/lib/domain/usecases/counter/increment_counter.dart b/apps/wyatt_clean_code/lib/domain/usecases/counter/increment_counter.dart deleted file mode 100644 index fd98d08..0000000 --- a/apps/wyatt_clean_code/lib/domain/usecases/counter/increment_counter.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:wyatt_clean_code/core/errors/exceptions.dart'; -import 'package:wyatt_clean_code/core/usecases/usecase.dart'; -import 'package:wyatt_clean_code/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class IncrementCounter extends UseCase { - final CounterRepository counterRepository; - - IncrementCounter({ - required this.counterRepository, - }); - - @override - Future> call(int params) async => - counterRepository.increment(params); -} diff --git a/apps/wyatt_clean_code/lib/gen/assets.gen.dart b/apps/wyatt_clean_code/lib/gen/assets.gen.dart deleted file mode 100644 index 00c169e..0000000 --- a/apps/wyatt_clean_code/lib/gen/assets.gen.dart +++ /dev/null @@ -1,87 +0,0 @@ -/// GENERATED CODE - DO NOT MODIFY BY HAND -/// ***************************************************** -/// FlutterGen -/// ***************************************************** - -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: directives_ordering,unnecessary_import - -import 'package:flutter/widgets.dart'; - -class $AssetsImagesGen { - const $AssetsImagesGen(); - - /// File path: assets/images/wyatt-studio-logo.png - AssetGenImage get wyattStudioLogo => - const AssetGenImage('assets/images/wyatt-studio-logo.png'); -} - -class Assets { - Assets._(); - - static const $AssetsImagesGen images = $AssetsImagesGen(); -} - -class AssetGenImage { - const AssetGenImage(this._assetName); - - final String _assetName; - - Image image({ - Key? key, - AssetBundle? bundle, - ImageFrameBuilder? frameBuilder, - ImageErrorWidgetBuilder? errorBuilder, - String? semanticLabel, - bool excludeFromSemantics = false, - double? scale, - double? width, - double? height, - Color? color, - Animation? opacity, - BlendMode? colorBlendMode, - BoxFit? fit, - AlignmentGeometry alignment = Alignment.center, - ImageRepeat repeat = ImageRepeat.noRepeat, - Rect? centerSlice, - bool matchTextDirection = false, - bool gaplessPlayback = false, - bool isAntiAlias = false, - String? package, - FilterQuality filterQuality = FilterQuality.low, - int? cacheWidth, - int? cacheHeight, - }) { - return Image.asset( - _assetName, - key: key, - bundle: bundle, - frameBuilder: frameBuilder, - errorBuilder: errorBuilder, - semanticLabel: semanticLabel, - excludeFromSemantics: excludeFromSemantics, - scale: scale, - width: width, - height: height, - color: color, - opacity: opacity, - colorBlendMode: colorBlendMode, - fit: fit, - alignment: alignment, - repeat: repeat, - centerSlice: centerSlice, - matchTextDirection: matchTextDirection, - gaplessPlayback: gaplessPlayback, - isAntiAlias: isAntiAlias, - package: package, - filterQuality: filterQuality, - cacheWidth: cacheWidth, - cacheHeight: cacheHeight, - ); - } - - String get path => _assetName; - - String get keyName => _assetName; -} diff --git a/apps/wyatt_clean_code/lib/gen/colors.gen.dart b/apps/wyatt_clean_code/lib/gen/colors.gen.dart deleted file mode 100644 index 5693c5c..0000000 --- a/apps/wyatt_clean_code/lib/gen/colors.gen.dart +++ /dev/null @@ -1,195 +0,0 @@ -/// GENERATED CODE - DO NOT MODIFY BY HAND -/// ***************************************************** -/// FlutterGen -/// ***************************************************** - -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: directives_ordering,unnecessary_import - -import 'package:flutter/painting.dart'; -import 'package:flutter/material.dart'; - -class ColorName { - ColorName._(); - - /// Color: #FF1B1B1B - static const Color darkBackground = Color(0xFF1B1B1B); - - /// Color: #FFFFB4A9 - static const Color darkError = Color(0xFFFFB4A9); - - /// Color: #FF930006 - static const Color darkErrorContainer = Color(0xFF930006); - - /// Color: #FF0061A6 - static const Color darkInversePrimary = Color(0xFF0061A6); - - /// Color: #FFE2E2E6 - static const Color darkInverseSurface = Color(0xFFE2E2E6); - - /// Color: #FFE2E2E6 - static const Color darkOnBackground = Color(0xFFE2E2E6); - - /// Color: #FF680003 - static const Color darkOnError = Color(0xFF680003); - - /// Color: #FFFFB4A9 - static const Color darkOnErrorContainer = Color(0xFFFFB4A9); - - /// Color: #FF2F3033 - static const Color darkOnInverseSurface = Color(0xFF2F3033); - - /// Color: #FF00325A - static const Color darkOnPrimary = Color(0xFF00325A); - - /// Color: #FFD0E4FF - static const Color darkOnPrimaryContainer = Color(0xFFD0E4FF); - - /// Color: #FF253140 - static const Color darkOnSecondary = Color(0xFF253140); - - /// Color: #FFD6E3F7 - static const Color darkOnSecondaryContainer = Color(0xFFD6E3F7); - - /// Color: #FFE2E2E6 - static const Color darkOnSurface = Color(0xFFE2E2E6); - - /// Color: #FFC3C7D0 - static const Color darkOnSurfaceVariant = Color(0xFFC3C7D0); - - /// Color: #FF8D9199 - static const Color darkOutline = Color(0xFF8D9199); - - /// Color: #FF9CCAFF - static const Color darkPrimary = Color(0xFF9CCAFF); - - /// Color: #FF00497F - static const Color darkPrimaryContainer = Color(0xFF00497F); - - /// Color: #FFBBC8DB - static const Color darkSecondary = Color(0xFFBBC8DB); - - /// Color: #FF3C4858 - static const Color darkSecondaryContainer = Color(0xFF3C4858); - - /// Color: #FF000000 - static const Color darkShadow = Color(0xFF000000); - - /// Color: #FF1B1B1B - static const Color darkSurface = Color(0xFF1B1B1B); - - /// Color: #FF42474E - static const Color darkSurfaceVariant = Color(0xFF42474E); - - /// Color: #FFFDFCFF - static const Color lightBackground = Color(0xFFFDFCFF); - - /// Color: #FFBA1B1B - static const Color lightError = Color(0xFFBA1B1B); - - /// Color: #FFFFDAD4 - static const Color lightErrorContainer = Color(0xFFFFDAD4); - - /// Color: #FF9CCAFF - static const Color lightInversePrimary = Color(0xFF9CCAFF); - - /// Color: #FF2F3033 - static const Color lightInverseSurface = Color(0xFF2F3033); - - /// Color: #FF1B1B1B - static const Color lightOnBackground = Color(0xFF1B1B1B); - - /// Color: #FFFFFFFF - static const Color lightOnError = Color(0xFFFFFFFF); - - /// Color: #FF410001 - static const Color lightOnErrorContainer = Color(0xFF410001); - - /// Color: #FFF1F0F4 - static const Color lightOnInverseSurface = Color(0xFFF1F0F4); - - /// Color: #FFFFFFFF - static const Color lightOnPrimary = Color(0xFFFFFFFF); - - /// Color: #FF001D36 - static const Color lightOnPrimaryContainer = Color(0xFF001D36); - - /// Color: #FFFFFFFF - static const Color lightOnSecondary = Color(0xFFFFFFFF); - - /// Color: #FF101C2B - static const Color lightOnSecondaryContainer = Color(0xFF101C2B); - - /// Color: #FF1B1B1B - static const Color lightOnSurface = Color(0xFF1B1B1B); - - /// Color: #FF42474E - static const Color lightOnSurfaceVariant = Color(0xFF42474E); - - /// Color: #FF73777F - static const Color lightOutline = Color(0xFF73777F); - - /// Color: #FF0061A6 - static const Color lightPrimary = Color(0xFF0061A6); - - /// Color: #FFD0E4FF - static const Color lightPrimaryContainer = Color(0xFFD0E4FF); - - /// Color: #FF535F70 - static const Color lightSecondary = Color(0xFF535F70); - - /// Color: #FFD6E3F7 - static const Color lightSecondaryContainer = Color(0xFFD6E3F7); - - /// Color: #FF000000 - static const Color lightShadow = Color(0xFF000000); - - /// Color: #FFFDFCFF - static const Color lightSurface = Color(0xFFFDFCFF); - - /// Color: #FFDFE2EB - static const Color lightSurfaceVariant = Color(0xFFDFE2EB); - - /// MaterialColor: - /// 50: #FFFFE412FE - /// 100: #FFFFBC2DFB - /// 200: #FFFF904BF9 - /// 300: #FFFF6469F7 - /// 400: #FFFF428075 - /// 500: #FFFF2196F3 - /// 600: #FFFF1DC2114 - /// 700: #FFFF181B382C - /// 800: #FFFF14296C06 - /// 900: #FFFF0B432A01 - static const MaterialColor seedColor = MaterialColor( - 0xFFFF2196F3, - { - 50: Color(0xFFFFE412FE), - 100: Color(0xFFFFBC2DFB), - 200: Color(0xFFFF904BF9), - 300: Color(0xFFFF6469F7), - 400: Color(0xFFFF428075), - 500: Color(0xFFFF2196F3), - 600: Color(0xFFFF1DC2114), - 700: Color(0xFFFF181B382C), - 800: Color(0xFFFF14296C06), - 900: Color(0xFFFF0B432A01), - }, - ); - - /// MaterialAccentColor: - /// 100: #FFFFFFFF - /// 200: #FFFFFFFF - /// 400: #FFFFFFFF - /// 700: #FFFFFFFF - static const MaterialAccentColor seedColorAccent = MaterialAccentColor( - 0xFFFFFFFF, - { - 100: Color(0xFFFFFFFF), - 200: Color(0xFFFFFFFF), - 400: Color(0xFFFFFFFF), - 700: Color(0xFFFFFFFF), - }, - ); -} diff --git a/apps/wyatt_clean_code/lib/main_development.dart b/apps/wyatt_clean_code/lib/main_development.dart deleted file mode 100644 index 8567ad1..0000000 --- a/apps/wyatt_clean_code/lib/main_development.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:wyatt_clean_code/bootstrap.dart'; -import 'package:wyatt_clean_code/core/flavors/flavor_settings.dart'; -import 'package:wyatt_clean_code/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.development(); - bootstrap(App.new); -} diff --git a/apps/wyatt_clean_code/lib/main_production.dart b/apps/wyatt_clean_code/lib/main_production.dart deleted file mode 100644 index f863311..0000000 --- a/apps/wyatt_clean_code/lib/main_production.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:wyatt_clean_code/bootstrap.dart'; -import 'package:wyatt_clean_code/core/flavors/flavor_settings.dart'; -import 'package:wyatt_clean_code/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.production(); - bootstrap(App.new); -} diff --git a/apps/wyatt_clean_code/lib/main_staging.dart b/apps/wyatt_clean_code/lib/main_staging.dart deleted file mode 100644 index d8c2eba..0000000 --- a/apps/wyatt_clean_code/lib/main_staging.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:wyatt_clean_code/bootstrap.dart'; -import 'package:wyatt_clean_code/core/flavors/flavor_settings.dart'; -import 'package:wyatt_clean_code/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.staging(); - bootstrap(App.new); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/app/app.dart b/apps/wyatt_clean_code/lib/presentation/features/app/app.dart deleted file mode 100644 index bc4e4d2..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/app/app.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:go_router/go_router.dart'; -import 'package:wyatt_clean_code/core/design_system/theme.dart'; -import 'package:wyatt_clean_code/core/extensions/build_context_extension.dart'; -import 'package:wyatt_clean_code/core/flavors/flavor_settings.dart'; -import 'package:wyatt_clean_code/core/routes/router.dart'; -import 'package:wyatt_clean_code/core/utils/screen_util.dart'; -import 'package:wyatt_clean_code/data/repositories/counter_repository_impl.dart'; -import 'package:wyatt_clean_code/domain/repositories/counter_repository.dart'; - -class App extends StatelessWidget { - App({super.key}); - - final GoRouter _router = GoRouter( - initialLocation: '/', - routes: AppRouter.routes, - debugLogDiagnostics: true, - errorBuilder: (_, __) => const ColoredBox( - color: Colors.red, - ), - ); - - Widget _bannerFlavor(Widget child) { - final flavorInstance = FlavorSettings.get(); - if (flavorInstance.displayBanner && !kReleaseMode) { - return Directionality( - textDirection: TextDirection.ltr, - child: Banner( - location: BannerLocation.topEnd, - message: flavorInstance.flavor.short, - color: flavorInstance.flavor.color, - child: child, - ), - ); - } - return child; - } - - @override - Widget build(BuildContext context) { - ScreenUtil.init(); - return MultiRepositoryProvider( - providers: [ - RepositoryProvider( - lazy: true, - create: (context) => CounterRepositoryImpl(), - ), - ], - child: _bannerFlavor( - MaterialApp.router( - title: 'Wyatt Demo', - theme: AppTheme.light, - debugShowCheckedModeBanner: false, - routerDelegate: _router.routerDelegate, - routeInformationParser: _router.routeInformationParser, - routeInformationProvider: _router.routeInformationProvider, - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - supportedLocales: AppLocalizations.supportedLocales, - ), - ), - ); - } -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/blocs/counter_cubit.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/blocs/counter_cubit.dart deleted file mode 100644 index 105530f..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/blocs/counter_cubit.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:wyatt_clean_code/domain/usecases/counter/decrement_counter.dart'; -import 'package:wyatt_clean_code/domain/usecases/counter/increment_counter.dart'; - -class CounterCubit extends Cubit { - final IncrementCounter _incrementCounter; - final DecrementCounter _decrementCounter; - - CounterCubit({ - required IncrementCounter incrementCounter, - required DecrementCounter decrementCounter, - }) : _incrementCounter = incrementCounter, - _decrementCounter = decrementCounter, - super(0); - - Future increment({int by = 1}) async { - // Use `.call(...)` to get documentation, but we can - // also directly use `(...)` - final response = await _incrementCounter.call(state + by); - emit( - response.fold( - (value) => value, - (error) => state, - ), - ); - } - - Future decrement({int by = 1}) async { - // Use `.call(...)` to get documentation, but we can - // also directly use `(...)` - final response = await _decrementCounter.call(state - by); - emit( - response.fold( - (value) => value, - (error) => state, - ), - ); - } -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/counter_page.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/counter_page.dart deleted file mode 100644 index 91a3d66..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/counter_page.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/state_management/counter_page_provider.dart'; - -class CounterPage extends StatelessWidget { - const CounterPage({super.key}); - - static const String pageName = 'counter'; - - @override - Widget build(BuildContext context) => const CounterPageProvider(); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_page_provider.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_page_provider.dart deleted file mode 100644 index 0a31844..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_page_provider.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_bloc_helper/wyatt_bloc_helper.dart'; -import 'package:wyatt_clean_code/domain/repositories/counter_repository.dart'; -import 'package:wyatt_clean_code/domain/usecases/counter/decrement_counter.dart'; -import 'package:wyatt_clean_code/domain/usecases/counter/increment_counter.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/blocs/counter_cubit.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/state_management/counter_text_consumer.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/widgets/counter_base.dart'; - -class CounterPageProvider extends CubitProviderScreen { - const CounterPageProvider({super.key}); - - @override - CounterCubit create(BuildContext context) => CounterCubit( - decrementCounter: DecrementCounter( - counterRepository: repo(context), - ), - incrementCounter: IncrementCounter( - counterRepository: repo(context), - ), - ); - - @override - Widget builder(BuildContext context) => CounterBase( - fabIncrement: () => bloc(context).increment(), - fabIncrementBy10: () => bloc(context).increment(by: 10), - fabDecrement: () => bloc(context).decrement(), - fabDecrementBy10: () => bloc(context).decrement(by: 10), - child: const CounterTextConsumer(), - ); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_text_consumer.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_text_consumer.dart deleted file mode 100644 index 614916f..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/state_management/counter_text_consumer.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:wyatt_bloc_helper/wyatt_bloc_helper.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/blocs/counter_cubit.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/widgets/counter_text.dart'; - -class CounterTextConsumer extends CubitConsumerScreen { - const CounterTextConsumer({super.key}); - - @override - Widget onBuild(BuildContext context, int state) => CounterText(count: state); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_base.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_base.dart deleted file mode 100644 index dac58f1..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_clean_code/core/extensions/build_context_extension.dart'; -import 'package:wyatt_clean_code/presentation/shared/layouts/app_default_scaffold.dart'; - -class CounterBase extends StatelessWidget { - const CounterBase({ - required this.child, - this.fabIncrement, - this.fabIncrementBy10, - this.fabDecrement, - this.fabDecrementBy10, - super.key, - }); - - final void Function()? fabIncrement; - final void Function()? fabIncrementBy10; - final void Function()? fabDecrement; - final void Function()? fabDecrementBy10; - - final Widget child; - - @override - Widget build(BuildContext context) => AppDefaultScaffold( - title: Text(context.l10n.counterAppBarTitle), - body: Center( - child: child, - ), - fabChildren: [ - FloatingActionButton( - heroTag: 'increment_tag', - onPressed: fabIncrement, - child: const Icon(Icons.add), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'increment_10_tag', - onPressed: fabIncrementBy10, - child: const Text('+10'), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'decrement_tag', - onPressed: fabDecrement, - child: const Icon(Icons.remove), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'decrement_10_tag', - onPressed: fabDecrementBy10, - child: const Text('-10'), - ), - ], - ); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_text.dart b/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_text.dart deleted file mode 100644 index 29c0b9d..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/counter/widgets/counter_text.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_clean_code/core/extensions/build_context_extension.dart'; - -class CounterText extends StatelessWidget { - const CounterText({ - required this.count, - super.key, - }); - - final int count; - - @override - Widget build(BuildContext context) => Text( - context.l10n.youHavePushed(count), - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.headline3, - ); -} diff --git a/apps/wyatt_clean_code/lib/presentation/features/initial/initial_page.dart b/apps/wyatt_clean_code/lib/presentation/features/initial/initial_page.dart deleted file mode 100644 index 65096ef..0000000 --- a/apps/wyatt_clean_code/lib/presentation/features/initial/initial_page.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:wyatt_clean_code/core/design_system/sizing.dart'; -import 'package:wyatt_clean_code/core/extensions/build_context_extension.dart'; -import 'package:wyatt_clean_code/core/extensions/num_extension.dart'; -import 'package:wyatt_clean_code/gen/assets.gen.dart'; -import 'package:wyatt_clean_code/presentation/features/counter/counter_page.dart'; -import 'package:wyatt_clean_code/presentation/shared/layouts/app_default_scaffold.dart'; - -class InitialPage extends StatelessWidget { - const InitialPage({super.key}); - - static const String pageName = 'initial'; - - @override - Widget build(BuildContext context) => AppDefaultScaffold( - title: const Text('Wyatt Demo'), - body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Assets.images.wyattStudioLogo.image(width: 150.w), - AppSizing.lGap, - ElevatedButton( - child: Text(context.l10n.goToCounter), - onPressed: () => context.pushNamed(CounterPage.pageName), - ), - ], - ), - ), - ); -} diff --git a/apps/wyatt_clean_code/lib/presentation/shared/layouts/app_default_scaffold.dart b/apps/wyatt_clean_code/lib/presentation/shared/layouts/app_default_scaffold.dart deleted file mode 100644 index 1d21aa1..0000000 --- a/apps/wyatt_clean_code/lib/presentation/shared/layouts/app_default_scaffold.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -class AppDefaultScaffold extends StatelessWidget { - const AppDefaultScaffold({ - required this.body, - this.title, - this.fabChildren, - super.key, - }); - - final Widget? title; - final Widget body; - final List? fabChildren; - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: title), - body: body, - floatingActionButton: (fabChildren?.isNotEmpty ?? false) - ? Column( - mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, - children: fabChildren!, - ) - : null, - ); -} diff --git a/apps/wyatt_clean_code/lib/presentation/shared/state_management/.gitkeep b/apps/wyatt_clean_code/lib/presentation/shared/state_management/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/apps/wyatt_clean_code/lib/presentation/shared/state_management/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/apps/wyatt_clean_code/pubspec.yaml b/apps/wyatt_clean_code/pubspec.yaml deleted file mode 100644 index ed40dde..0000000 --- a/apps/wyatt_clean_code/pubspec.yaml +++ /dev/null @@ -1,125 +0,0 @@ -name: wyatt_clean_code -description: A new Flutter project. - -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: "none" - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - flutter: - sdk: flutter - flutter_localizations: - sdk: flutter - intl: ^0.17.0 - go_router: ^4.1.1 - equatable: ^2.0.3 - freezed_annotation: ^2.1.0 - json_annotation: ^4.6.0 - cupertino_icons: ^1.0.5 - get_it: ^7.2.0 - logger: ^1.1.0 - gap: ^2.0.0 - flutter_bloc: ^8.0.1 - wyatt_bloc_helper: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: bloc/feature/fix_and_repo - path: packages/wyatt_bloc_helper - wyatt_type_utils: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_type_utils-v0.0.2 - path: packages/wyatt_type_utils - - -dev_dependencies: - flutter_test: - sdk: flutter - - dependency_validator: ^3.2.2 - - build_runner: ^2.2.0 - flutter_gen_runner: ^4.3.0 - freezed: ^2.1.0+1 - json_serializable: ^6.3.1 - - # The "wyatt_analysis" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. - wyatt_analysis: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_analysis-v2.2.1 - path: packages/wyatt_analysis - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following secion is specific to FlutterGen -flutter_gen: - colors: - inputs: - - assets/colors.xml - -# The following section is specific to Flutter packages. -flutter: - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - generate: true - - # To add assets to your application, add an assets section, like this: - assets: - - assets/images/ - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages diff --git a/apps/wyatt_clean_code/web/favicon.png b/apps/wyatt_clean_code/web/favicon.png deleted file mode 100644 index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/apps/wyatt_clean_code/web/icons/Icon-192.png b/apps/wyatt_clean_code/web/icons/Icon-192.png deleted file mode 100644 index b749bfef07473333cf1dd31e9eed89862a5d52aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 diff --git a/apps/wyatt_clean_code/web/icons/Icon-512.png b/apps/wyatt_clean_code/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48dff1169879ba46840804b412fe02fefd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 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 diff --git a/apps/wyatt_clean_code/web/icons/Icon-maskable-192.png b/apps/wyatt_clean_code/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76e525556d5d89141648c724331630325d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/apps/wyatt_clean_code/web/icons/Icon-maskable-512.png b/apps/wyatt_clean_code/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/apps/wyatt_clean_code/web/index.html b/apps/wyatt_clean_code/web/index.html deleted file mode 100644 index c6b51fa..0000000 --- a/apps/wyatt_clean_code/web/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Wyatt Demo - - - - - - - - - - diff --git a/apps/wyatt_clean_code/web/manifest.json b/apps/wyatt_clean_code/web/manifest.json deleted file mode 100644 index 62f5eb0..0000000 --- a/apps/wyatt_clean_code/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "Wyatt Demo", - "short_name": "Wyatt Demo", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/bricks/core_app_brick/CHANGELOG.md b/bricks/core_app_brick/CHANGELOG.md deleted file mode 100644 index f5bad08..0000000 --- a/bricks/core_app_brick/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -# 0.0.1 - -- Initial release! diff --git a/bricks/core_app_brick/LICENSE b/bricks/core_app_brick/LICENSE deleted file mode 100644 index e72bfdd..0000000 --- a/bricks/core_app_brick/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/bricks/core_app_brick/README.md b/bricks/core_app_brick/README.md deleted file mode 100644 index 2349cf1..0000000 --- a/bricks/core_app_brick/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Core App Brick -Create clean new project from scratch with. - -## Prerequisite -No prerequisites needed. \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/.gitignore b/bricks/core_app_brick/__brick__/.gitignore deleted file mode 100644 index bd315f7..0000000 --- a/bricks/core_app_brick/__brick__/.gitignore +++ /dev/null @@ -1,127 +0,0 @@ -# Miscellaneous -*.class -*.lock -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/* - -# Visual Studio Code related -.classpath -.project -.settings/ -.vscode/* - -# Flutter repo-specific -/bin/cache/ -/bin/mingit/ -/dev/benchmarks/mega_gallery/ -/dev/bots/.recipe_deps -/dev/bots/android_tools/ -/dev/docs/doc/ -/dev/docs/flutter.docs.zip -/dev/docs/lib/ -/dev/docs/pubspec.yaml -/dev/integration_tests/**/xcuserdata -/dev/integration_tests/**/Pods -/packages/flutter/coverage/ -version - -# packages file containing multi-root paths -.packages.generated - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -build/ -flutter_*.png -linked_*.ds -unlinked.ds -unlinked_spec.ds -.fvm/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java -**/android/key.properties -**/android/.idea/ -*.jks - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/.last_build_id -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Coverage -coverage/ - -# Submodules -!pubspec.lock -packages/**/pubspec.lock - -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Exceptions to the above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages -!/dev/ci/**/Gemfile.lock -!.vscode/extensions.json -!.vscode/launch.json -!.idea/codeStyles/ -!.idea/dictionaries/ -!.idea/runConfigurations/ diff --git a/bricks/core_app_brick/__brick__/.metadata b/bricks/core_app_brick/__brick__/.metadata deleted file mode 100644 index cd984dd..0000000 --- a/bricks/core_app_brick/__brick__/.metadata +++ /dev/null @@ -1,10 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: 9b2d32b605630f28625709ebd9d78ab3016b2bf6 - channel: stable - -project_type: app diff --git a/bricks/core_app_brick/__brick__/.vscode/launch.json b/bricks/core_app_brick/__brick__/.vscode/launch.json deleted file mode 100644 index e64da66..0000000 --- a/bricks/core_app_brick/__brick__/.vscode/launch.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch App", - "request": "launch", - "type": "dart", - "program": "lib/main.dart", - "args": [ - "--target", - "lib/main.dart" - ] - }, - ] -} \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/LICENSE b/bricks/core_app_brick/__brick__/LICENSE deleted file mode 100644 index e72bfdd..0000000 --- a/bricks/core_app_brick/__brick__/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/Makefile b/bricks/core_app_brick/__brick__/Makefile deleted file mode 100644 index aa65b3e..0000000 --- a/bricks/core_app_brick/__brick__/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -.PHONY: help clean get upgrade format lint intl build_web docker run_debug_web run_release_web - -# Adding a help file: https://gist.github.com/prwhite/8168133#gistcomment-1313022 -help: ## This help dialog. - @IFS=$$'\n' ; \ - help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//'`); \ - for help_line in $${help_lines[@]}; do \ - IFS=$$'#' ; \ - help_split=($$help_line) ; \ - help_command=`echo $${help_split[0]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - help_info=`echo $${help_split[2]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - printf "%-30s %s\n" $$help_command $$help_info ; \ - done - -clean: ## Cleans the environment. - @echo "• Cleaning the project..." - @rm -rf pubspec.lock - @flutter clean - -get: ## Gets the dependencies. - @echo "• Getting the dependencies..." - @flutter pub get - -upgrade: clean ## Upgrades dependencies. - @echo "• Upgrading dependencies..." - @flutter pub upgrade - -format: ## Formats the code. - @echo "• Formatting the code" - @dart format . - -lint: ## Lints the code. - @echo "• Verifying code..." - @dart analyze . || (echo "Error in project"; exit 1) - -intl: get ## Generates the intl files. - @echo "• Generating the intl files" - @flutter pub run intl_utils:generate - -build_web: clean ## Builds the web application - @echo "• Building the app" - @flutter build web - -run_debug_web: ## Runs the application in debug mode - @echo "• Running the app (web:debug)" - @flutter run - - - - diff --git a/bricks/core_app_brick/__brick__/README.md b/bricks/core_app_brick/__brick__/README.md deleted file mode 100644 index c37cfbc..0000000 --- a/bricks/core_app_brick/__brick__/README.md +++ /dev/null @@ -1,148 +0,0 @@ -# {{#titleCase}}{{project_name}}{{/titleCase}} - -![coverage][coverage_badge] -[![style: very good analysis][very_good_analysis_badge]][very_good_analysis_link] -[![License: MIT][license_badge]][license_link] - -{{{description}}} - ---- - -## Getting Started 🚀 - -To run the app, either use the launch configuration in VSCode/Android Studio or use the following command: - -```sh -$ flutter run --target lib/main.dart -``` - -_\*{{#titleCase}}{{project_name}}{{/titleCase}} works on iOS, Android, Web, and Windows._ - ---- - -## Running Tests 🧪 - -To run all unit and widget tests use the following command: - -```sh -$ flutter test --coverage --test-randomize-ordering-seed random -``` - -To view the generated coverage report you can use [lcov](https://github.com/linux-test-project/lcov). - -```sh -# Generate Coverage Report -$ genhtml coverage/lcov.info -o coverage/ - -# Open Coverage Report -$ open coverage/index.html -``` - ---- - -## Working with Translations 🌐 - -This project relies on [flutter_localizations][flutter_localizations_link] and follows the [official internationalization guide for Flutter][internationalization_link]. - -### Adding Strings - -1. To add a new localizable string, open the `app_en.arb` file at `lib/l10n/arb/app_en.arb`. - -```arb -{ - "@@locale": "en", - "counterAppBarTitle": "Counter", - "@counterAppBarTitle": { - "description": "Text shown in the AppBar of the Counter Page" - } -} -``` - -2. Then add a new key/value and description - -```arb -{ - "@@locale": "en", - "counterAppBarTitle": "Counter", - "@counterAppBarTitle": { - "description": "Text shown in the AppBar of the Counter Page" - }, - "helloWorld": "Hello World", - "@helloWorld": { - "description": "Hello World Text" - } -} -``` - -3. Use the new string - -```dart -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/l10n/l10n.dart'; - -@override -Widget build(BuildContext context) { - final l10n = context.l10n; - return Text(l10n.helloWorld); -} -``` - -### Adding Supported Locales - -Update the `CFBundleLocalizations` array in the `Info.plist` at `ios/Runner/Info.plist` to include the new locale. - -```xml - ... - - CFBundleLocalizations - - en - es - - - ... -``` - -### Adding Translations - -1. For each supported locale, add a new ARB file in `lib/l10n/arb`. - -``` -├── l10n -│ ├── arb -│ │ ├── app_en.arb -│ │ └── app_es.arb -``` - -2. Add the translated strings to each `.arb` file: - -`app_en.arb` - -```arb -{ - "@@locale": "en", - "counterAppBarTitle": "Counter", - "@counterAppBarTitle": { - "description": "Text shown in the AppBar of the Counter Page" - } -} -``` - -`app_es.arb` - -```arb -{ - "@@locale": "es", - "counterAppBarTitle": "Contador", - "@counterAppBarTitle": { - "description": "Texto mostrado en la AppBar de la página del contador" - } -} -``` - -[coverage_badge]: coverage_badge.svg -[flutter_localizations_link]: https://api.flutter.dev/flutter/flutter_localizations/flutter_localizations-library.html -[internationalization_link]: https://flutter.dev/docs/development/accessibility-and-localization/internationalization -[license_badge]: https://img.shields.io/badge/license-MIT-blue.svg -[license_link]: https://opensource.org/licenses/MIT -[very_good_analysis_badge]: https://img.shields.io/badge/style-very_good_analysis-B22C89.svg -[very_good_analysis_link]: https://pub.dev/packages/very_good_analysis \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/analysis_options.yaml b/bricks/core_app_brick/__brick__/analysis_options.yaml deleted file mode 100644 index aef5136..0000000 --- a/bricks/core_app_brick/__brick__/analysis_options.yaml +++ /dev/null @@ -1,5 +0,0 @@ -include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml - -analyzer: - strong-mode: - implicit-dynamic: true \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/assets/l10n/arb/app_fr.arb b/bricks/core_app_brick/__brick__/assets/l10n/arb/app_fr.arb deleted file mode 100644 index a0e2820..0000000 --- a/bricks/core_app_brick/__brick__/assets/l10n/arb/app_fr.arb +++ /dev/null @@ -1,7 +0,0 @@ -{ - "@@locale": "fr_FR", - "counterAppBarTitle": "Compteur", - "@counterAppBarTitle": { - "description": "Texte affiché dans l'AppBar de la page Compteur" - } -} \ No newline at end of file diff --git a/bricks/core_app_brick/__brick__/assets/l10n/l10n.dart b/bricks/core_app_brick/__brick__/assets/l10n/l10n.dart deleted file mode 100644 index 17c891b..0000000 --- a/bricks/core_app_brick/__brick__/assets/l10n/l10n.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -export 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -extension AppLocalizationsX on BuildContext { - AppLocalizations get l10n => AppLocalizations.of(this); -} diff --git a/bricks/core_app_brick/__brick__/l10n.yaml b/bricks/core_app_brick/__brick__/l10n.yaml deleted file mode 100644 index e3e8ed1..0000000 --- a/bricks/core_app_brick/__brick__/l10n.yaml +++ /dev/null @@ -1,4 +0,0 @@ -arb-dir: assets/l10n/arb -template-arb-file: app_fr.arb -output-localization-file: app_localizations.dart -nullable-getter: false diff --git a/bricks/core_app_brick/__brick__/lib/app/app.dart b/bricks/core_app_brick/__brick__/lib/app/app.dart deleted file mode 100644 index f23ab3c..0000000 --- a/bricks/core_app_brick/__brick__/lib/app/app.dart +++ /dev/null @@ -1 +0,0 @@ -export 'view/app.dart'; diff --git a/bricks/core_app_brick/__brick__/lib/app/view/app.dart b/bricks/core_app_brick/__brick__/lib/app/view/app.dart deleted file mode 100644 index 3d8ffab..0000000 --- a/bricks/core_app_brick/__brick__/lib/app/view/app.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/counter/counter.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/l10n/l10n.dart'; - -class App extends StatelessWidget { - const App({super.key}); - - @override - Widget build(BuildContext context) { - return MaterialApp( - theme: ThemeData( - appBarTheme: const AppBarTheme(color: Color(0xFF13B9FF)), - colorScheme: ColorScheme.fromSwatch( - accentColor: const Color(0xFF13B9FF), - ), - ), - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - ], - supportedLocales: AppLocalizations.supportedLocales, - home: const CounterPage(), - ); - } -} diff --git a/bricks/core_app_brick/__brick__/lib/bootstrap.dart b/bricks/core_app_brick/__brick__/lib/bootstrap.dart deleted file mode 100644 index c237eea..0000000 --- a/bricks/core_app_brick/__brick__/lib/bootstrap.dart +++ /dev/null @@ -1,35 +0,0 @@ -import 'dart:async'; -import 'dart:developer'; - -import 'package:bloc/bloc.dart'; -import 'package:flutter/widgets.dart'; - -class AppBlocObserver extends BlocObserver { - @override - void onChange(BlocBase bloc, Change change) { - super.onChange(bloc, change); - log('onChange(${bloc.runtimeType}, $change)'); - } - - @override - void onError(BlocBase bloc, Object error, StackTrace stackTrace) { - log('onError(${bloc.runtimeType}, $error, $stackTrace)'); - super.onError(bloc, error, stackTrace); - } -} - -Future bootstrap(FutureOr Function() builder) async { - FlutterError.onError = (details) { - log(details.exceptionAsString(), stackTrace: details.stack); - }; - - await runZonedGuarded( - () async { - await BlocOverrides.runZoned( - () async => runApp(await builder()), - blocObserver: AppBlocObserver(), - ); - }, - (error, stackTrace) => log(error.toString(), stackTrace: stackTrace), - ); -} diff --git a/bricks/core_app_brick/__brick__/lib/counter/counter.dart b/bricks/core_app_brick/__brick__/lib/counter/counter.dart deleted file mode 100644 index cc3f0c5..0000000 --- a/bricks/core_app_brick/__brick__/lib/counter/counter.dart +++ /dev/null @@ -1,2 +0,0 @@ -export 'cubit/counter_cubit.dart'; -export 'view/counter_page.dart'; diff --git a/bricks/core_app_brick/__brick__/lib/counter/cubit/counter_cubit.dart b/bricks/core_app_brick/__brick__/lib/counter/cubit/counter_cubit.dart deleted file mode 100644 index 70bd952..0000000 --- a/bricks/core_app_brick/__brick__/lib/counter/cubit/counter_cubit.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:bloc/bloc.dart'; - -class CounterCubit extends Cubit { - CounterCubit() : super(0); - - void increment() => emit(state + 1); - void decrement() => emit(state - 1); -} diff --git a/bricks/core_app_brick/__brick__/lib/counter/view/counter_page.dart b/bricks/core_app_brick/__brick__/lib/counter/view/counter_page.dart deleted file mode 100644 index ecab7e8..0000000 --- a/bricks/core_app_brick/__brick__/lib/counter/view/counter_page.dart +++ /dev/null @@ -1,55 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/counter/counter.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/l10n/l10n.dart'; - -class CounterPage extends StatelessWidget { - const CounterPage({super.key}); - - @override - Widget build(BuildContext context) { - return BlocProvider( - create: (_) => CounterCubit(), - child: const CounterView(), - ); - } -} - -class CounterView extends StatelessWidget { - const CounterView({super.key}); - - @override - Widget build(BuildContext context) { - final l10n = context.l10n; - return Scaffold( - appBar: AppBar(title: Text(l10n.counterAppBarTitle)), - body: const Center(child: CounterText()), - floatingActionButton: Column( - mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - FloatingActionButton( - onPressed: () => context.read().increment(), - child: const Icon(Icons.add), - ), - const SizedBox(height: 8), - FloatingActionButton( - onPressed: () => context.read().decrement(), - child: const Icon(Icons.remove), - ), - ], - ), - ); - } -} - -class CounterText extends StatelessWidget { - const CounterText({super.key}); - - @override - Widget build(BuildContext context) { - final theme = Theme.of(context); - final count = context.select((CounterCubit cubit) => cubit.state); - return Text('$count', style: theme.textTheme.headline1); - } -} diff --git a/bricks/core_app_brick/__brick__/lib/main.dart b/bricks/core_app_brick/__brick__/lib/main.dart deleted file mode 100644 index 20d544a..0000000 --- a/bricks/core_app_brick/__brick__/lib/main.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/app/app.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/bootstrap.dart'; - -void main() { - bootstrap(() => const App()); -} diff --git a/bricks/core_app_brick/__brick__/pubspec.yaml b/bricks/core_app_brick/__brick__/pubspec.yaml deleted file mode 100644 index 761260b..0000000 --- a/bricks/core_app_brick/__brick__/pubspec.yaml +++ /dev/null @@ -1,45 +0,0 @@ -name: {{#snakeCase}}{{project_name}}{{/snakeCase}} -description: {{{description}}} -version: 1.0.0+1 -publish_to: none - -environment: - sdk: ">=2.17.0 <3.0.0" - -dependencies: - bloc: ^8.0.3 - flutter: - sdk: flutter - flutter_bloc: ^8.0.1 - flutter_localizations: - sdk: flutter - intl: ^0.17.0 - - wyatt_bloc_helper: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_bloc_helper-v1.1.0 - path: packages/wyatt_bloc_helper - -dev_dependencies: - bloc_test: ^9.0.3 - flutter_test: - sdk: flutter - mocktail: ^0.3.0 - intl_utils: ^2.6.1 - dependency_validator: ^3.2.0 - - wyatt_analysis: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_analysis-v2.1.0 - path: packages/wyatt_analysis - -flutter: - uses-material-design: true - generate: true - -flutter_intl: - enabled: true - main_locale: fr - arb_dir: assets/l10n diff --git a/bricks/core_app_brick/__brick__/test/app/view/app_test.dart b/bricks/core_app_brick/__brick__/test/app/view/app_test.dart deleted file mode 100644 index cba0b88..0000000 --- a/bricks/core_app_brick/__brick__/test/app/view/app_test.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/app/app.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/counter/counter.dart'; - -void main() { - group('App', () { - testWidgets('renders CounterPage', (tester) async { - await tester.pumpWidget(const App()); - expect(find.byType(CounterPage), findsOneWidget); - }); - }); -} diff --git a/bricks/core_app_brick/__brick__/test/counter/cubit/counter_cubit_test.dart b/bricks/core_app_brick/__brick__/test/counter/cubit/counter_cubit_test.dart deleted file mode 100644 index c30bb11..0000000 --- a/bricks/core_app_brick/__brick__/test/counter/cubit/counter_cubit_test.dart +++ /dev/null @@ -1,26 +0,0 @@ -import 'package:bloc_test/bloc_test.dart'; -import 'package:flutter_test/flutter_test.dart'; - -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/counter/counter.dart'; - -void main() { - group('CounterCubit', () { - test('initial state is 0', () { - expect(CounterCubit().state, equals(0)); - }); - - blocTest( - 'emits [1] when increment is called', - build: CounterCubit.new, - act: (cubit) => cubit.increment(), - expect: () => [equals(1)], - ); - - blocTest( - 'emits [-1] when decrement is called', - build: CounterCubit.new, - act: (cubit) => cubit.decrement(), - expect: () => [equals(-1)], - ); - }); -} diff --git a/bricks/core_app_brick/__brick__/test/counter/view/counter_page_test.dart b/bricks/core_app_brick/__brick__/test/counter/view/counter_page_test.dart deleted file mode 100644 index e7c5690..0000000 --- a/bricks/core_app_brick/__brick__/test/counter/view/counter_page_test.dart +++ /dev/null @@ -1,68 +0,0 @@ -import 'package:bloc_test/bloc_test.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:mocktail/mocktail.dart'; - -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/counter/counter.dart'; - -import '../../helpers/helpers.dart'; - -class MockCounterCubit extends MockCubit implements CounterCubit {} - -void main() { - group('CounterPage', () { - testWidgets('renders CounterView', (tester) async { - await tester.pumpApp(const CounterPage()); - expect(find.byType(CounterView), findsOneWidget); - }); - }); - - group('CounterView', () { - late CounterCubit counterCubit; - - setUp(() { - counterCubit = MockCounterCubit(); - }); - - testWidgets('renders current count', (tester) async { - const state = 42; - when(() => counterCubit.state).thenReturn(state); - await tester.pumpApp( - BlocProvider.value( - value: counterCubit, - child: const CounterView(), - ), - ); - expect(find.text('$state'), findsOneWidget); - }); - - testWidgets('calls increment when increment button is tapped', - (tester) async { - when(() => counterCubit.state).thenReturn(0); - when(() => counterCubit.increment()).thenReturn(null); - await tester.pumpApp( - BlocProvider.value( - value: counterCubit, - child: const CounterView(), - ), - ); - await tester.tap(find.byIcon(Icons.add)); - verify(() => counterCubit.increment()).called(1); - }); - - testWidgets('calls decrement when decrement button is tapped', - (tester) async { - when(() => counterCubit.state).thenReturn(0); - when(() => counterCubit.decrement()).thenReturn(null); - await tester.pumpApp( - BlocProvider.value( - value: counterCubit, - child: const CounterView(), - ), - ); - await tester.tap(find.byIcon(Icons.remove)); - verify(() => counterCubit.decrement()).called(1); - }); - }); -} diff --git a/bricks/core_app_brick/__brick__/test/helpers/helpers.dart b/bricks/core_app_brick/__brick__/test/helpers/helpers.dart deleted file mode 100644 index b15fe65..0000000 --- a/bricks/core_app_brick/__brick__/test/helpers/helpers.dart +++ /dev/null @@ -1 +0,0 @@ -export 'pump_app.dart'; diff --git a/bricks/core_app_brick/__brick__/test/helpers/pump_app.dart b/bricks/core_app_brick/__brick__/test/helpers/pump_app.dart deleted file mode 100644 index ca5df63..0000000 --- a/bricks/core_app_brick/__brick__/test/helpers/pump_app.dart +++ /dev/null @@ -1,19 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/l10n/l10n.dart'; - -extension PumpApp on WidgetTester { - Future pumpApp(Widget widget) { - return pumpWidget( - MaterialApp( - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - ], - supportedLocales: AppLocalizations.supportedLocales, - home: widget, - ), - ); - } -} diff --git a/bricks/core_app_brick/brick.yaml b/bricks/core_app_brick/brick.yaml deleted file mode 100644 index 8f68ad1..0000000 --- a/bricks/core_app_brick/brick.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: core_app_brick -description: A fork of the Core Very Good Flutter App without multiple environments. -repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-bricks -version: 0.0.1 -environment: - mason: any -vars: - project_name: - type: string - description: The project name - default: my_app - prompt: "What is the project name?" - org_name: - type: string - description: The organization name - default: com.example.app - prompt: "What is the organization name?" - description: - type: string - description: A short project description - default: A Pretty Good App - prompt: "What is the project description?" \ No newline at end of file diff --git a/bricks/wyatt_clean_code/CHANGELOG.md b/bricks/wyatt_clean_code/CHANGELOG.md deleted file mode 100644 index f0640d6..0000000 --- a/bricks/wyatt_clean_code/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -# 0.1.0+1 - -- TODO: Describe initial release. diff --git a/bricks/wyatt_clean_code/LICENSE b/bricks/wyatt_clean_code/LICENSE deleted file mode 100644 index e72bfdd..0000000 --- a/bricks/wyatt_clean_code/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/bricks/wyatt_clean_code/README.md b/bricks/wyatt_clean_code/README.md deleted file mode 100644 index f2f4d3f..0000000 --- a/bricks/wyatt_clean_code/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# Wyatt - Clean Code - -[![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) - -Create clean new **Flutter** project from scratch following Clean Code Architecture. - -## Usage 🚀 - -```sh -mason make wyatt_clean_code --project_name app --org_name fr.wyattstudio.app --description A new Wyatt Studio project. --platforms=android,ios --features=analysis,localization -``` - -## Variables ✨ - -| variable | description | default | type | -| ------------------ | ---------------------------- | ------- | --------- | -| `project_name` | Project name | app | `string` | -| `org_name` | Organization name | fr.wyattstudio.app | `string` | -| `description` | A short project description | A new Wyatt Studio project. | `string` | -| `platforms` | Supported platforms | [android, ios] | `array` | -| `features` | Enabled features | [analysis, localization] | `array` | - -## Output 📦 - -``` ---project_name app --org_name fr.wyattstudio.app --description A new Wyatt Studio project. --platforms=android,ios,web --features=analysis,localization,router -├── .vscode/ -| ├── launch.json -| └── settings.json -├── android -| └── ... -├── assets -| ├── l10n -| | └── intl_fr.arb -| ├── colors -| | └── dark.xml -| ├── fonts -| └── images -├── ios -| └── ... -├── lib -| ├── core -| | ├── enums -| | ├── errors -| | ├── extensions -| | | └── l10n.dart -| | ├── resources -| | | ├── app_router.dart -| | | └── app_theme.dart -| | └── utils -| | └── app_bloc_observer.dart -| ├── data -| | ├── models -| | ├── providers -| | └── repositories -| ├── domain -| | ├── entities -| | └── repositories -| ├── presentation -| | ├── bloc -| | | └── counter_cubit -| | | └── counter_cubit.dart -| | ├── pages -| | | ├── counter -| | | | ├── widgets -| | | | | └── counter_text.dart -| | | | └── counter_page.dart -| | | └── initial -| | | | └── initial_page.dart -| | └── shared -| | | ├── layouts -| | | ├── state_management -| | | | └── counter_state_management.dart -| | | └── widgets -| ├── app.dart -| ├── main.dart -| └── widget_tree.dart -├── scripts -├── web -| └── ... -├── l10n.yaml -├── Makefile -├── pubspec.yaml -└── analysis_options.yaml -``` - - -## Prerequisite -No prerequisites needed. diff --git a/bricks/wyatt_clean_code/__brick__/.gitignore b/bricks/wyatt_clean_code/__brick__/.gitignore deleted file mode 100644 index a8e938c..0000000 --- a/bricks/wyatt_clean_code/__brick__/.gitignore +++ /dev/null @@ -1,47 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -/build/ - -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Android Studio will place build artifacts here -/android/app/debug -/android/app/profile -/android/app/release diff --git a/bricks/wyatt_clean_code/__brick__/.metadata b/bricks/wyatt_clean_code/__brick__/.metadata deleted file mode 100644 index 2112298..0000000 --- a/bricks/wyatt_clean_code/__brick__/.metadata +++ /dev/null @@ -1,30 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled. - -version: - revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - channel: stable - -project_type: app - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - platform: web - create_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - base_revision: f1875d570e39de09040c8f79aa13cc56baab8db1 - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/bricks/wyatt_clean_code/__brick__/.vscode/launch.json b/bricks/wyatt_clean_code/__brick__/.vscode/launch.json deleted file mode 100644 index 40a2104..0000000 --- a/bricks/wyatt_clean_code/__brick__/.vscode/launch.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch development", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch development in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch development in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_development.dart", - "args": [ - "--flavor", - "development", - "--target", - "lib/main_development.dart" - ], - "flutterMode": "release" - }, - { - "name": "Launch staging", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch staging in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch staging in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_staging.dart", - "args": [ - "--flavor", - "staging", - "--target", - "lib/main_staging.dart" - ], - "flutterMode": "release" - }, - { - "name": "Launch production", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "debug" - }, - { - "name": "Launch production in profile mode", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "profile" - }, - { - "name": "Launch production in release mode", - "request": "launch", - "type": "dart", - "program": "lib/main_production.dart", - "args": [ - "--flavor", - "production", - "--target", - "lib/main_production.dart" - ], - "flutterMode": "release" - }, - ] -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/.vscode/settings.json b/bricks/wyatt_clean_code/__brick__/.vscode/settings.json deleted file mode 100644 index fa6f612..0000000 --- a/bricks/wyatt_clean_code/__brick__/.vscode/settings.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "dart.flutterSdkPath": ".fvm/flutter_sdk", - "bloc.newCubitTemplate.type": "equatable", - "psi-header.config": { - "blankLinesAfter": 0, - "forceToTop": true, - }, - "psi-header.templates": [ - { - "language": "*", - "template": [], - // disabled, - } - ], -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/Makefile b/bricks/wyatt_clean_code/__brick__/Makefile deleted file mode 100644 index a9a3ef9..0000000 --- a/bricks/wyatt_clean_code/__brick__/Makefile +++ /dev/null @@ -1,54 +0,0 @@ -.PHONY: help clean get upgrade format lint gen watch run-dev run-stg run-prod - -# Adding a help file: https://gist.github.com/prwhite/8168133#gistcomment-1313022 -help: ## This help dialog. - @IFS=$$'\n' ; \ - help_lines=(`fgrep -h "##" $(MAKEFILE_LIST) | fgrep -v fgrep | sed -e 's/\\$$//'`); \ - for help_line in $${help_lines[@]}; do \ - IFS=$$'#' ; \ - help_split=($$help_line) ; \ - help_command=`echo $${help_split[0]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - help_info=`echo $${help_split[2]} | sed -e 's/^ *//' -e 's/ *$$//'` ; \ - printf "%-30s %s\n" $$help_command $$help_info ; \ - done - -clean: ## Cleans the environment. - @echo "• Cleaning the project..." - @rm -rf pubspec.lock - @flutter clean - -get: ## Gets the dependencies. - @echo "• Getting the dependencies..." - @flutter pub get - -upgrade: clean ## Upgrades dependencies. - @echo "• Upgrading dependencies..." - @flutter pub upgrade - -format: ## Formats the code. - @echo "• Formatting the code" - @dart format . --fix - -lint: ## Lints the code. - @echo "• Verifying code..." - @dart analyze . || (echo "Error in project"; exit 1) - -gen: get ## Run build_runner build (Freezed, Fluttergen, Hive etc...) - @echo "• build_runner build" - @flutter pub run build_runner build - -watch: get ## Run build_runner watch (Freezed, Fluttergen, Hive etc...) - @echo "• build_runner watch" - @flutter pub run build_runner watch - -run-dev: ## Run app in development mode - @echo "• Running the app (development)" - @flutter run --flavor development --target lib/main_development.dart - -run-stg: ## Run app in staging mode - @echo "• Running the app (staging)" - @flutter run --flavor staging --target lib/main_staging.dart - -run-prod: ## Run app in production mode - @echo "• Running the app (production)" - @flutter run --flavor production --target lib/main_production.dart \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/README.md b/bricks/wyatt_clean_code/__brick__/README.md deleted file mode 100644 index 4136204..0000000 --- a/bricks/wyatt_clean_code/__brick__/README.md +++ /dev/null @@ -1,16 +0,0 @@ -# {{#snakeCase}}{{project_name}}{{/snakeCase}} - -{{{description}}} - -## Getting Started - -This project is a starting point for a Flutter application. - -A few resources to get you started if this is your first Flutter project: - -- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) -- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) - -For help getting started with Flutter development, view the -[online documentation](https://docs.flutter.dev/), which offers tutorials, -samples, guidance on mobile development, and a full API reference. diff --git a/bricks/wyatt_clean_code/__brick__/analysis_options.yaml b/bricks/wyatt_clean_code/__brick__/analysis_options.yaml deleted file mode 100644 index 9bdb566..0000000 --- a/bricks/wyatt_clean_code/__brick__/analysis_options.yaml +++ /dev/null @@ -1,35 +0,0 @@ -# This file configures the analyzer, which statically analyzes Dart code to -# check for errors, warnings, and lints. -# -# The issues identified by the analyzer are surfaced in the UI of Dart-enabled -# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be -# invoked from the command line by running `flutter analyze`. - -# The following line activates a set of recommended lints for Flutter by -# Wyatt Studio, for apps packages, and plugins designed to -# encourage good coding practices. -include: package:wyatt_analysis/analysis_options.flutter.yaml - -analyzer: - exclude: - - '**/*.g.dart' - - '**/*.freezed.dart' - -linter: - # The lint rules applied to this project can be customized in the - # section below to disable rules from the `package:flutter_lints/flutter.yaml` - # included above or to enable additional rules. A list of all available lints - # and their documentation is published at - # https://dart-lang.github.io/linter/lints/index.html. - # - # Instead of disabling a lint rule for the entire project in the - # section below, it can also be suppressed for a single line of code - # or a specific dart file by using the `// ignore: name_of_lint` and - # `// ignore_for_file: name_of_lint` syntax on the line or in the file - # producing the lint. - rules: - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options diff --git a/bricks/wyatt_clean_code/__brick__/assets/colors.xml b/bricks/wyatt_clean_code/__brick__/assets/colors.xml deleted file mode 100644 index f5e9c9a..0000000 --- a/bricks/wyatt_clean_code/__brick__/assets/colors.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - #FF2196F3 - - #FF0061A6 - #FFFFFFFF - #FFD0E4FF - #FF001D36 - - #FF535F70 - #FFFFFFFF - #FFD6E3F7 - #FF101C2B - - #FFBA1B1B - #FFFFFFFF - #FFFFDAD4 - #FF410001 - - #FFFDFCFF - #FF1B1B1B - #FFFDFCFF - #FF1B1B1B - #FFDFE2EB - #FF42474E - #FF73777F - #FF000000 - - #FF2F3033 - #FFF1F0F4 - #FF9CCAFF - - - #FF9CCAFF - #FF00325A - #FF00497F - #FFD0E4FF - - #FFBBC8DB - #FF253140 - #FF3C4858 - #FFD6E3F7 - - #FFFFB4A9 - #FF680003 - #FF930006 - #FFFFB4A9 - - #FF1B1B1B - #FFE2E2E6 - #FF1B1B1B - #FFE2E2E6 - #FF42474E - #FFC3C7D0 - #FF8D9199 - #FF000000 - - #FFE2E2E6 - #FF2F3033 - #FF0061A6 - \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/assets/fonts/.gitkeep b/bricks/wyatt_clean_code/__brick__/assets/fonts/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/assets/fonts/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/assets/images/wyatt-studio-logo.png b/bricks/wyatt_clean_code/__brick__/assets/images/wyatt-studio-logo.png deleted file mode 100644 index 322633e83a745133b19a6feb60ac34ddcdd83f33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11611 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 CYmw>z diff --git a/bricks/wyatt_clean_code/__brick__/assets/l10n/intl_fr.arb b/bricks/wyatt_clean_code/__brick__/assets/l10n/intl_fr.arb deleted file mode 100644 index b95f76d..0000000 --- a/bricks/wyatt_clean_code/__brick__/assets/l10n/intl_fr.arb +++ /dev/null @@ -1,20 +0,0 @@ -{ - "@@locale": "fr", - "counterAppBarTitle": "Compteur", - "@counterAppBarTitle": { - "description": "Texte affiché dans l'AppBar de la page Compteur" - }, - "youHavePushed": "Vous avez appuyé {count} fois sur le bouton !", - "@youHavePushed": { - "description": "Message affiché sur la page compteur", - "placeholders": { - "count": { - "type": "int" - } - } - }, - "goToCounter": "Aller au Compteur", - "@goToCounter": { - "description": "Texte affiché dans le bouton ammenant vers la page Compteur" - } -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/l10n.yaml b/bricks/wyatt_clean_code/__brick__/l10n.yaml deleted file mode 100644 index dcb899b..0000000 --- a/bricks/wyatt_clean_code/__brick__/l10n.yaml +++ /dev/null @@ -1,4 +0,0 @@ -arb-dir: assets/l10n -template-arb-file: intl_fr.arb -output-localization-file: app_localizations.dart -nullable-getter: false diff --git a/bricks/wyatt_clean_code/__brick__/lib/bootstrap.dart b/bricks/wyatt_clean_code/__brick__/lib/bootstrap.dart deleted file mode 100644 index 55dec5e..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/bootstrap.dart +++ /dev/null @@ -1,46 +0,0 @@ -import 'dart:async'; - -import 'package:flutter/foundation.dart'; -import 'package:flutter/widgets.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:go_router/go_router.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/dependency_injection/get_it.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/flavors/flavor_settings.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/utils/app_bloc_observer.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/utils/wyatt_printer.dart'; - -Future bootstrap(FutureOr Function() builder) async { - await runZonedGuarded( - () async { - WidgetsFlutterBinding.ensureInitialized(); - - FlutterError.onError = (details) { - WyattPrinter.get().e( - '', - details, - details.stack, - ); - }; - - FlavorSettings.init(); - GetItInitializer.run(); - - GoRouter.setUrlPathStrategy(UrlPathStrategy.path); - - if (!kReleaseMode) { - final env = FlavorSettings.get(); - WyattPrinter.get().i('Flavor : ${env.flavor.name}'); - } - - await BlocOverrides.runZoned( - () async => runApp(await builder()), - blocObserver: AppBlocObserver(), - ); - }, - (error, stackTrace) => WyattPrinter.get().e( - '', - error, - stackTrace, - ), - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/constants/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/core/constants/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/constants/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/dependency_injection/get_it.dart b/bricks/wyatt_clean_code/__brick__/lib/core/dependency_injection/get_it.dart deleted file mode 100644 index 7180ebb..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/dependency_injection/get_it.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'dart:async'; - -import 'package:get_it/get_it.dart'; - -final getIt = GetIt.I; - -abstract class GetItInitializer { - static Future init() async { - // Here, register data sources - } - - static void run() { - unawaited(init()); - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/colors.dart b/bricks/wyatt_clean_code/__brick__/lib/core/design_system/colors.dart deleted file mode 100644 index a4ea53c..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/colors.dart +++ /dev/null @@ -1,2 +0,0 @@ -/// Generate colors with `flutter pub run build_runner build` -export 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/gen/colors.gen.dart'; diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/sizing.dart b/bricks/wyatt_clean_code/__brick__/lib/core/design_system/sizing.dart deleted file mode 100644 index 1c4fdc0..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/sizing.dart +++ /dev/null @@ -1,235 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:gap/gap.dart'; - -/// Geometric progression. -abstract class AppSizing { - /// Default to 1 - static const double factor = 1; - - /// SizedBox.shrink(); - static const SizedBox empty = SizedBox.shrink(); - - /// xxs = factor * 2 - static const double xxs = factor * 2; - - /// xs = factor * 4 - static const double xs = factor * 4; - - /// s = factor * 8 - static const double s = factor * 8; - - /// m = factor * 16 - static const double m = factor * 16; - - /// l = factor * 32 - static const double l = factor * 32; - - /// xl = factor * 64 - static const double xl = factor * 64; - - /// xxl = factor * 128 - static const double xxl = factor * 128; - - /// xxs = factor * 2 - static const Gap xxsGap = Gap(xxs); - - /// xs = factor * 4 - static const Gap xsGap = Gap(xs); - - /// s = factor * 8 - static const Gap sGap = Gap(s); - - /// m = factor * 16 - static const Gap mGap = Gap(m); - - /// l = factor * 32 - static const Gap lGap = Gap(l); - - /// xl = factor * 64 - static const Gap xlGap = Gap(xl); - - /// xxl = factor * 128 - static const Gap xxlGap = Gap(xxl); - - /// xxs = factor * 2 - static const Radius xxsRadius = Radius.circular(xxs); - - /// xs = factor * 4 - static const Radius xsRadius = Radius.circular(xs); - - /// s = factor * 8 - static const Radius sRadius = Radius.circular(s); - - /// m = factor * 16 - static const Radius mRadius = Radius.circular(m); - - /// l = factor * 32 - static const Radius lRadius = Radius.circular(l); - - /// xl = factor * 64 - static const Radius xlRadius = Radius.circular(xl); - - /// xxl = factor * 128 - static const Radius xxlRadius = Radius.circular(xxl); - - /// xxs = factor * 2 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xxsSquareInset = EdgeInsets.all(xxs); - - /// xs = factor * 4 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xsSquareInset = EdgeInsets.all(xs); - - /// s = factor * 8 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets sSquareInset = EdgeInsets.all(s); - - /// m = factor * 16 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets mSquareInset = EdgeInsets.all(m); - - /// l = factor * 32 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets lSquareInset = EdgeInsets.all(l); - - /// xl = factor * 64 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xlSquareInset = EdgeInsets.all(xl); - - /// xxl = factor * 128 - /// - /// A square inset offers indents content on all four sides. - /// - /// *e.g [EdgeInsets.all(value)]* - static const EdgeInsets xxlSquareInset = EdgeInsets.all(xxl); - - /// xxs = factor * 2 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xxsSquishInset = - EdgeInsets.symmetric(horizontal: xxs, vertical: xxs / 2); - - /// xs = factor * 4 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xsSquishInset = - EdgeInsets.symmetric(horizontal: xs, vertical: xs / 2); - - /// s = factor * 8 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets sSquishInset = - EdgeInsets.symmetric(horizontal: s, vertical: s / 2); - - /// m = factor * 16 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets mSquishInset = - EdgeInsets.symmetric(horizontal: m, vertical: m / 2); - - /// l = factor * 32 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets lSquishInset = - EdgeInsets.symmetric(horizontal: l, vertical: l / 2); - - /// xl = factor * 64 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xlSquishInset = - EdgeInsets.symmetric(horizontal: xl, vertical: xl / 2); - - /// xxl = factor * 128 - /// - /// A squished inset reduces space top and bottom by 50%. - /// - /// *e.g [EdgeInsets.symmetric(horizontal: value, vertical: value / 2)]* - static const EdgeInsets xxlSquishInset = - EdgeInsets.symmetric(horizontal: xxl, vertical: xxl / 2); - - /// xxs = factor * 2 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xxsStretchInset = - EdgeInsets.symmetric(vertical: xxs, horizontal: xxs / 2); - - /// xs = factor * 4 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xsStretchInset = - EdgeInsets.symmetric(vertical: xs, horizontal: xs / 2); - - /// s = factor * 8 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets sStretchInset = - EdgeInsets.symmetric(vertical: s, horizontal: s / 2); - - /// m = factor * 16 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets mStretchInset = - EdgeInsets.symmetric(vertical: m, horizontal: m / 2); - - /// l = factor * 32 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets lStretchInset = - EdgeInsets.symmetric(vertical: l, horizontal: l / 2); - - /// xl = factor * 64 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xlStretchInset = - EdgeInsets.symmetric(vertical: xl, horizontal: xl / 2); - - /// xxl = factor * 128 - /// - /// A stretched inset reduces space left and right by 50%. - /// - /// *e.g [EdgeInsets.symmetric(vertical: value, horizontal: value / 2)]* - static const EdgeInsets xxlStretchInset = - EdgeInsets.symmetric(vertical: xxl, horizontal: xxl / 2); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/theme.dart b/bricks/wyatt_clean_code/__brick__/lib/core/design_system/theme.dart deleted file mode 100644 index 4903272..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/theme.dart +++ /dev/null @@ -1,240 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/design_system/colors.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/design_system/typography.dart'; - -const _smallTextScaleFactor = 0.80; -const _largeTextScaleFactor = 1.20; - -/// Namespace for the [ThemeData]. -class AppTheme { - /// Light `ThemeData` for UI. - static ThemeData get light => ThemeData( - colorScheme: ColorScheme.fromSwatch( - primarySwatch: ColorName.seedColor, - accentColor: ColorName.seedColorAccent, - cardColor: ColorName.lightBackground, - backgroundColor: ColorName.lightBackground, - errorColor: ColorName.lightError, - ), - appBarTheme: _appBarLightTheme, - elevatedButtonTheme: _elevatedButtonLightTheme, - outlinedButtonTheme: _outlinedButtonLightTheme, - textTheme: _textTheme(), - dialogTheme: _dialogLightTheme, - tooltipTheme: _tooltipLightTheme, - bottomSheetTheme: _bottomSheetLightTheme, - tabBarTheme: _tabBarLightTheme, - dividerTheme: _dividerLightTheme, - backgroundColor: ColorName.lightBackground, - ); - - /// dark `ThemeData` for UI. - static ThemeData get dark => ThemeData( - colorScheme: ColorScheme.fromSwatch( - primarySwatch: ColorName.seedColor, - accentColor: ColorName.darkSecondary, - cardColor: ColorName.darkBackground, - backgroundColor: ColorName.darkBackground, - errorColor: ColorName.darkError, - brightness: Brightness.dark, - ), - appBarTheme: _appBarDarkTheme, - elevatedButtonTheme: _elevatedButtonDarkTheme, - outlinedButtonTheme: _outlinedButtonDarkTheme, - textTheme: _textTheme(isDark: true), - dialogTheme: _dialogDarkTheme, - tooltipTheme: _tooltipDarkTheme, - bottomSheetTheme: _bottomSheetDarkTheme, - tabBarTheme: _tabBarDarkTheme, - dividerTheme: _dividerDarkTheme, - backgroundColor: ColorName.darkBackground, - canvasColor: ColorName.darkBackground, - ); - - /// `ThemeData` for UI for small screens. - static ThemeData get lightSmall => - light.copyWith(textTheme: _smallTextTheme()); - - /// `ThemeData` for UI for medium screens. - static ThemeData get lightMedium => - light.copyWith(textTheme: _smallTextTheme()); - - /// `ThemeData` for UI for large screens. - static ThemeData get lightLarge => - light.copyWith(textTheme: _largeTextTheme()); - - /// `ThemeData` for UI for small screens. - static ThemeData get darkSmall => - dark.copyWith(textTheme: _smallTextTheme(isDark: true)); - - /// `ThemeData` for UI for medium screens. - static ThemeData get darkMedium => - dark.copyWith(textTheme: _smallTextTheme(isDark: true)); - - /// `ThemeData` for UI for large screens. - static ThemeData get darkLarge => - dark.copyWith(textTheme: _largeTextTheme(isDark: true)); - - static TextTheme _textTheme({bool isDark = false}) => TextTheme( - headline1: AppTypography.headline1, - headline2: AppTypography.headline2, - headline3: AppTypography.headline3, - headline4: AppTypography.headline4, - headline5: AppTypography.headline5, - headline6: AppTypography.headline6, - subtitle1: AppTypography.subtitle1, - subtitle2: AppTypography.subtitle2, - bodyText1: AppTypography.bodyText1, - bodyText2: AppTypography.bodyText2, - caption: AppTypography.caption, - overline: AppTypography.overline, - button: AppTypography.button, - ).apply( - bodyColor: - isDark ? ColorName.darkOnBackground : ColorName.lightOnBackground, - displayColor: - isDark ? ColorName.darkOnBackground : ColorName.lightOnBackground, - ); - - static TextTheme _smallTextTheme({bool isDark = false}) => - _textTheme(isDark: isDark).apply(fontSizeFactor: _smallTextScaleFactor); - - static TextTheme _largeTextTheme({bool isDark = false}) => - _textTheme(isDark: isDark).apply(fontSizeFactor: _largeTextScaleFactor); - - static AppBarTheme get _appBarLightTheme => - const AppBarTheme(color: ColorName.lightPrimary); - - static AppBarTheme get _appBarDarkTheme => - const AppBarTheme(color: ColorName.darkSurfaceVariant); - - static ElevatedButtonThemeData get _elevatedButtonLightTheme => - ElevatedButtonThemeData( - style: ElevatedButton.styleFrom( - elevation: 0, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - primary: ColorName.lightPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static ElevatedButtonThemeData get _elevatedButtonDarkTheme => - ElevatedButtonThemeData( - style: ElevatedButton.styleFrom( - elevation: 0, - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - primary: ColorName.darkPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static OutlinedButtonThemeData get _outlinedButtonLightTheme => - OutlinedButtonThemeData( - style: OutlinedButton.styleFrom( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - side: const BorderSide(color: ColorName.lightOutline, width: 2), - primary: ColorName.lightPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static OutlinedButtonThemeData get _outlinedButtonDarkTheme => - OutlinedButtonThemeData( - style: OutlinedButton.styleFrom( - shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(30)), - ), - side: const BorderSide(color: ColorName.darkOutline, width: 2), - primary: ColorName.darkPrimary, - fixedSize: const Size(208, 54), - ), - ); - - static TooltipThemeData get _tooltipLightTheme => const TooltipThemeData( - decoration: BoxDecoration( - color: ColorName.lightInverseSurface, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - padding: EdgeInsets.all(10), - textStyle: TextStyle(color: ColorName.lightOnInverseSurface), - ); - - static TooltipThemeData get _tooltipDarkTheme => const TooltipThemeData( - decoration: BoxDecoration( - color: ColorName.darkInverseSurface, - borderRadius: BorderRadius.all(Radius.circular(5)), - ), - padding: EdgeInsets.all(10), - textStyle: TextStyle(color: ColorName.darkOnInverseSurface), - ); - - static DialogTheme get _dialogLightTheme => DialogTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - ); - - static DialogTheme get _dialogDarkTheme => DialogTheme( - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(12), - ), - ); - - static BottomSheetThemeData get _bottomSheetLightTheme => - const BottomSheetThemeData( - backgroundColor: ColorName.lightBackground, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(12)), - ), - ); - - static BottomSheetThemeData get _bottomSheetDarkTheme => - const BottomSheetThemeData( - backgroundColor: ColorName.darkBackground, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(12)), - ), - ); - - static TabBarTheme get _tabBarLightTheme => const TabBarTheme( - indicator: UnderlineTabIndicator( - borderSide: BorderSide( - width: 2, - color: ColorName.lightPrimary, - ), - ), - labelColor: ColorName.lightPrimary, - unselectedLabelColor: ColorName.lightOutline, - indicatorSize: TabBarIndicatorSize.tab, - ); - - static TabBarTheme get _tabBarDarkTheme => const TabBarTheme( - indicator: UnderlineTabIndicator( - borderSide: BorderSide( - width: 2, - color: ColorName.darkPrimary, - ), - ), - labelColor: ColorName.darkPrimary, - unselectedLabelColor: ColorName.darkOutline, - indicatorSize: TabBarIndicatorSize.tab, - ); - - static DividerThemeData get _dividerLightTheme => const DividerThemeData( - space: 0, - thickness: 1, - color: ColorName.lightOutline, - ); - - static DividerThemeData get _dividerDarkTheme => const DividerThemeData( - space: 0, - thickness: 1, - color: ColorName.darkOutline, - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/typography.dart b/bricks/wyatt_clean_code/__brick__/lib/core/design_system/typography.dart deleted file mode 100644 index ce1b241..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/design_system/typography.dart +++ /dev/null @@ -1,115 +0,0 @@ -import 'package:flutter/material.dart'; - -abstract class AppFontWeight { - /// FontWeight value of `w900` - static const FontWeight black = FontWeight.w900; - - /// FontWeight value of `w800` - static const FontWeight extraBold = FontWeight.w800; - - /// FontWeight value of `w700` - static const FontWeight bold = FontWeight.w700; - - /// FontWeight value of `w600` - static const FontWeight semiBold = FontWeight.w600; - - /// FontWeight value of `w500` - static const FontWeight medium = FontWeight.w500; - - /// FontWeight value of `w400` - static const FontWeight regular = FontWeight.w400; - - /// FontWeight value of `w300` - static const FontWeight light = FontWeight.w300; - - /// FontWeight value of `w200` - static const FontWeight extraLight = FontWeight.w200; - - /// FontWeight value of `w100` - static const FontWeight thin = FontWeight.w100; -} - -class AppTypography { - static const TextStyle _base = TextStyle( - color: Colors.black, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 1 Text Style - static TextStyle get headline1 => _base.copyWith( - fontSize: 56, - fontWeight: AppFontWeight.medium, - ); - - /// Headline 2 Text Style - static TextStyle get headline2 => _base.copyWith( - fontSize: 30, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 3 Text Style - static TextStyle get headline3 => _base.copyWith( - fontSize: 28, - fontWeight: AppFontWeight.regular, - ); - - /// Headline 4 Text Style - static TextStyle get headline4 => _base.copyWith( - fontSize: 22, - fontWeight: AppFontWeight.bold, - ); - - /// Headline 5 Text Style - static TextStyle get headline5 => _base.copyWith( - fontSize: 20, - fontWeight: AppFontWeight.medium, - ); - - /// Headline 6 Text Style - static TextStyle get headline6 => _base.copyWith( - fontSize: 22, - fontWeight: AppFontWeight.bold, - ); - - /// Subtitle 1 Text Style - static TextStyle get subtitle1 => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.bold, - ); - - /// Subtitle 2 Text Style - static TextStyle get subtitle2 => _base.copyWith( - fontSize: 14, - fontWeight: AppFontWeight.bold, - ); - - /// Body Text 1 Text Style - static TextStyle get bodyText1 => _base.copyWith( - fontSize: 18, - fontWeight: AppFontWeight.medium, - ); - - /// Body Text 2 Text Style (the default) - static TextStyle get bodyText2 => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.regular, - ); - - /// Caption Text Style - static TextStyle get caption => _base.copyWith( - fontSize: 14, - fontWeight: AppFontWeight.regular, - ); - - /// Overline Text Style - static TextStyle get overline => _base.copyWith( - fontSize: 16, - fontWeight: AppFontWeight.regular, - ); - - /// Button Text Style - static TextStyle get button => _base.copyWith( - fontSize: 18, - fontWeight: AppFontWeight.medium, - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/enums/exception_type.dart b/bricks/wyatt_clean_code/__brick__/lib/core/enums/exception_type.dart deleted file mode 100644 index decb960..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/enums/exception_type.dart +++ /dev/null @@ -1,7 +0,0 @@ -enum AppExceptionType { - network, - api, - database, - cache, - assertion, -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/enums/flavor.dart b/bricks/wyatt_clean_code/__brick__/lib/core/enums/flavor.dart deleted file mode 100644 index 2cec6bb..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/enums/flavor.dart +++ /dev/null @@ -1,12 +0,0 @@ -import 'package:flutter/material.dart'; - -enum Flavor { - development('dev', Colors.red), - staging('stg', Colors.blue), - production('prod', Colors.green); - - final String short; - final Color color; - - const Flavor(this.short, this.color); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/errors/exceptions.dart b/bricks/wyatt_clean_code/__brick__/lib/core/errors/exceptions.dart deleted file mode 100644 index edda147..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/errors/exceptions.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/enums/exception_type.dart'; - -abstract class AppException extends Equatable implements Exception { - final String message; - final AppExceptionType type; - - AppException(this.type, [String? message]) : message = message ?? type.name; - - @override - List get props => [message, type]; - - @override - String toString() => message; -} - -class ClientException extends AppException { - ClientException(super.type, [super.message]); - - @override - String toString() => 'ClientException: ${super.toString()}'; -} - -class ServerException extends AppException { - ServerException(super.type, [super.message]); - - @override - String toString() => 'ServerException: ${super.toString()}'; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/build_context_extension.dart b/bricks/wyatt_clean_code/__brick__/lib/core/extensions/build_context_extension.dart deleted file mode 100644 index df68dfe..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/build_context_extension.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -export 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -extension BuildContextX on BuildContext { - AppLocalizations get l10n => AppLocalizations.of(this); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/num_extension.dart b/bricks/wyatt_clean_code/__brick__/lib/core/extensions/num_extension.dart deleted file mode 100644 index 5bf9b90..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/num_extension.dart +++ /dev/null @@ -1,9 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/utils/screen_util.dart'; - -extension NumX on num { - double get w => ScreenUtil().setWidth(this); - - double get h => ScreenUtil().setHeight(this); - - double get sp => ScreenUtil().setSp(this); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/object_extension.dart b/bricks/wyatt_clean_code/__brick__/lib/core/extensions/object_extension.dart deleted file mode 100644 index 5d1be48..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/extensions/object_extension.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:logger/logger.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/utils/wyatt_printer.dart'; - -extension ObjectX on Object { - void log({Level level = Level.debug, String Function(Object obj)? wrap}) { - final msg = wrap != null ? wrap(this) : this; - WyattPrinter.get().log(level, msg); - } - - /// Log a message at level [Level.verbose]. - void v({String Function(Object obj)? wrap}) => - log(level: Level.verbose, wrap: wrap); - - /// Log a message at level [Level.debug]. - void d({String Function(Object obj)? wrap}) => log(wrap: wrap); - - /// Log a message at level [Level.info]. - void i({String Function(Object obj)? wrap}) => - log(level: Level.info, wrap: wrap); - - /// Log a message at level [Level.warning]. - void w({String Function(Object obj)? wrap}) => - log(level: Level.warning, wrap: wrap); - - /// Log a message at level [Level.error]. - void e({String Function(Object obj)? wrap}) => - log(level: Level.error, wrap: wrap); - - /// Log a message at level [Level.wtf]. - void wtf({String Function(Object obj)? wrap}) => - log(level: Level.wtf, wrap: wrap); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/flavors/flavor_settings.dart b/bricks/wyatt_clean_code/__brick__/lib/core/flavors/flavor_settings.dart deleted file mode 100644 index f1a9e1c..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/flavors/flavor_settings.dart +++ /dev/null @@ -1,64 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/enums/flavor.dart'; - -class FlavorSettings { - static FlavorSettings? _instance; - - final Flavor flavor; - - // Per flavor settings - String apiKey = ''; - - /// Banner are not display in release mode, whatever this value - bool displayBanner = true; - - FlavorSettings._(this.flavor); - - factory FlavorSettings.development() { - _instance ??= FlavorSettings._(Flavor.development); - if (_instance!.flavor != Flavor.development) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - factory FlavorSettings.staging() { - _instance ??= FlavorSettings._(Flavor.staging); - if (_instance!.flavor != Flavor.staging) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - factory FlavorSettings.production() { - _instance ??= FlavorSettings._(Flavor.production); - if (_instance!.flavor != Flavor.production) { - throw Exception('Flavor already initialized in: ${_instance!.flavor}'); - } - return _instance!; - } - - /// Returns initialized [FlavorSettings], may throw if not initialized. - static FlavorSettings get() { - if (_instance == null) { - throw Exception('Flavor not initialized!'); - } - return _instance!; - } - - /// To call after `WidgetsFlutterBinding.ensureInitialized()` - /// - /// Here you can config all the settings attributes. - static void init() { - switch (get().flavor) { - case Flavor.development: - _instance!.apiKey = 'example-dev'; - break; - case Flavor.staging: - _instance!.apiKey = 'example-stg'; - break; - case Flavor.production: - _instance!.apiKey = 'example-prod'; - break; - } - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/mixins/local_data_source.dart b/bricks/wyatt_clean_code/__brick__/lib/core/mixins/local_data_source.dart deleted file mode 100644 index ea9f71b..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/mixins/local_data_source.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/data_sources/local/base_local_data_source.dart'; - -mixin LocalDataSource { - /// Offline data source, for debug or cache - Local get localDataSource; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/mixins/remote_data_source.dart b/bricks/wyatt_clean_code/__brick__/lib/core/mixins/remote_data_source.dart deleted file mode 100644 index dad8ccd..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/mixins/remote_data_source.dart +++ /dev/null @@ -1,6 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/data_sources/remote/base_remote_data_source.dart'; - -mixin RemoteDataSource { - /// Online data source, to provide data through API - Remote get remoteDataSource; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/routes/router.dart b/bricks/wyatt_clean_code/__brick__/lib/core/routes/router.dart deleted file mode 100644 index 0cb4ac6..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/routes/router.dart +++ /dev/null @@ -1,37 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/counter_page.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/initial/initial_page.dart'; - -abstract class AppRouter { - static Page defaultTransition( - BuildContext context, - GoRouterState state, - Widget child, - ) => - MaterialPage( - key: state.pageKey, - child: child, - ); - - static final List routes = [ - GoRoute( - path: '/', - name: InitialPage.pageName, - pageBuilder: (context, state) => defaultTransition( - context, - state, - const InitialPage(), - ), - ), - GoRoute( - path: '/counter', - name: CounterPage.pageName, - pageBuilder: (context, state) => defaultTransition( - context, - state, - const CounterPage(), - ), - ), - ]; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/usecases/usecase.dart b/bricks/wyatt_clean_code/__brick__/lib/core/usecases/usecase.dart deleted file mode 100644 index 4dd8ab6..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/usecases/usecase.dart +++ /dev/null @@ -1,13 +0,0 @@ -import 'package:equatable/equatable.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/errors/exceptions.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -// ignore: one_member_abstracts -abstract class UseCase { - Future> call(Params params); -} - -class NoParams extends Equatable { - @override - List get props => []; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/utils/app_bloc_observer.dart b/bricks/wyatt_clean_code/__brick__/lib/core/utils/app_bloc_observer.dart deleted file mode 100644 index 5680f35..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/utils/app_bloc_observer.dart +++ /dev/null @@ -1,56 +0,0 @@ -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:logger/logger.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/object_extension.dart'; - -class AppBlocObserver extends BlocObserver { - final bool printEvent; - final bool printError; - final bool printChange; - final bool printTransition; - - final Logger logger = Logger(printer: SimplePrinter()); - - AppBlocObserver({ - this.printEvent = true, - this.printError = true, - this.printTransition = true, - this.printChange = true, - }); - - @override - void onEvent(Bloc bloc, Object? event) { - super.onEvent(bloc, event); - if (printEvent) { - event?.d(wrap: (obj) => 'onEvent $event'); - } - } - - @override - void onError(BlocBase bloc, Object error, StackTrace stackTrace) { - if (printError) { - error.e( - wrap: (obj) => 'onError(${bloc.runtimeType}, $obj, $stackTrace)', - ); - } - super.onError(bloc, error, stackTrace); - } - - @override - void onChange(BlocBase bloc, Change change) { - super.onChange(bloc, change); - if (printChange) { - change.d(wrap: (obj) => 'onChange(${bloc.runtimeType}, $obj)'); - } - } - - @override - void onTransition( - Bloc bloc, - Transition transition, - ) { - super.onTransition(bloc, transition); - if (printTransition) { - transition.d(wrap: (obj) => 'onTransition $obj'); - } - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/utils/screen_util.dart b/bricks/wyatt_clean_code/__brick__/lib/core/utils/screen_util.dart deleted file mode 100644 index 8f5656a..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/utils/screen_util.dart +++ /dev/null @@ -1,107 +0,0 @@ -import 'dart:ui'; - -class ScreenUtil { - static late ScreenUtil _instance; - static const int defaultWidth = 414; - static const int defaultHeight = 896; - - /// Size of the phone in UI Design ,px - late num uiWidthPx; - late num uiHeightPx; - - /// allowFontScaling Specifies whether fonts should scale to respect Text - /// Size accessibility settings. The default is false. - late bool allowFontScaling; - - static late double _screenWidth; - static late double _screenHeight; - static late double _pixelRatio; - static late double _statusBarHeight; - static late double _bottomBarHeight; - static late double _textScaleFactor; - - factory ScreenUtil() => _instance; - - ScreenUtil._(); - - static void init({ - num width = defaultWidth, - num height = defaultHeight, - bool allowFontScaling = false, - }) { - _instance = ScreenUtil._(); - _instance.uiWidthPx = width; - _instance.uiHeightPx = height; - _instance.allowFontScaling = allowFontScaling; - _pixelRatio = window.devicePixelRatio; - _screenWidth = window.physicalSize.width; - _screenHeight = window.physicalSize.height; - _statusBarHeight = window.padding.top; - _bottomBarHeight = window.padding.bottom; - _textScaleFactor = window.textScaleFactor; - } - - /// The number of font pixels for each logical pixel. - static double get textScaleFactor => _textScaleFactor; - - /// The size of the media in logical pixels (e.g, the size of the screen). - static double get pixelRatio => _pixelRatio; - - /// The horizontal extent of this size. - static double get screenWidth => _screenWidth / _pixelRatio; - - ///The vertical extent of this size. dp - static double get screenHeight => _screenHeight / _pixelRatio; - - /// The vertical extent of this size. px - static double get screenWidthPx => _screenWidth; - - /// The vertical extent of this size. px - static double get screenHeightPx => _screenHeight; - - /// The offset from the top - static double get statusBarHeight => _statusBarHeight / _pixelRatio; - - /// The offset from the top - static double get statusBarHeightPx => _statusBarHeight; - - /// The offset from the bottom. - static double get bottomBarHeight => _bottomBarHeight; - - /// The ratio of the actual dp to the design draft px - double get scaleWidth => screenWidth / uiWidthPx; - - double get scaleHeight => - (_screenHeight - _statusBarHeight - _bottomBarHeight) / uiHeightPx; - - double get scaleText => scaleWidth; - - /// Width function - /// - /// Adapted to the device width of the UI Design. - /// Height can also be adapted according to this to ensure no deformation , - /// if you want a square - double setWidth(num width) => width * scaleWidth; - - /// Height function - /// - /// Highly adaptable to the device according to UI Design - /// It is recommended to use this method to achieve a high degree - /// of adaptation when it is found that one screen in the UI design - /// does not match the current style effect, or if there is a difference - /// in shape. - double setHeight(num height) => height * scaleHeight; - - /// FontSize function - /// - /// [fontSize] The size of the font on the UI design, in px. - /// [allowFontScaling] - double setSp(num fontSize, {bool allowFontScalingSelf = false}) => - allowFontScalingSelf - ? (allowFontScalingSelf - ? (fontSize * scaleText) - : ((fontSize * scaleText) / _textScaleFactor)) - : (allowFontScaling - ? (fontSize * scaleText) - : ((fontSize * scaleText) / _textScaleFactor)); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/core/utils/wyatt_printer.dart b/bricks/wyatt_clean_code/__brick__/lib/core/utils/wyatt_printer.dart deleted file mode 100644 index 9ceeb38..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/core/utils/wyatt_printer.dart +++ /dev/null @@ -1,43 +0,0 @@ -import 'dart:convert'; - -import 'package:logger/logger.dart'; - -class WyattPrinter extends LogPrinter { - WyattPrinter({this.colors = true}); - - final bool colors; - - static Logger? _instance; - - /// Returns [Logger] instance or create it if not. - static Logger get({bool colors = true}) { - _instance ??= Logger(printer: WyattPrinter(colors: colors)); - return _instance!; - } - - @override - List log(LogEvent event) { - // final classNameStr = (className != null) ? '$className ' : ''; - final messageStr = _stringifyMessage(event.message); - final errorStr = event.error != null ? 'ERROR: ${event.error}' : ''; - return ['${_labelFor(event.level)} $messageStr$errorStr']; - } - - String _labelFor(Level level) { - final prefix = PrettyPrinter.levelEmojis[level]!; - final color = PrettyPrinter.levelColors[level]!; - - return colors ? color(prefix) : prefix; - } - - String _stringifyMessage(dynamic message) { - // ignore: avoid_dynamic_calls - final finalMessage = message is Function ? message() : message; - if (finalMessage is Map || finalMessage is Iterable) { - const encoder = JsonEncoder.withIndent(null); - return encoder.convert(finalMessage); - } else { - return finalMessage.toString(); - } - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/local/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/local/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/local/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/remote/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/remote/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/data/data_sources/remote/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/lib/data/models/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/data/models/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/data/models/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/lib/data/repositories/counter_repository_impl.dart b/bricks/wyatt_clean_code/__brick__/lib/data/repositories/counter_repository_impl.dart deleted file mode 100644 index d6a5453..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/data/repositories/counter_repository_impl.dart +++ /dev/null @@ -1,24 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/enums/exception_type.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/errors/exceptions.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class CounterRepositoryImpl implements CounterRepository { - Result _check(int value) => - Result.conditionalLazy( - value >= 0, - () => value, - () => ClientException( - AppExceptionType.assertion, - "Counter can't be negative!", - ), - ); - - @override - Future> decrement(int newState) async => - _check(newState); - - @override - Future> increment(int newState) async => - _check(newState); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/base_data_source.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/base_data_source.dart deleted file mode 100644 index 05f1202..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/base_data_source.dart +++ /dev/null @@ -1 +0,0 @@ -abstract class BaseDataSource {} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/local/base_local_data_source.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/local/base_local_data_source.dart deleted file mode 100644 index 05473f8..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/local/base_local_data_source.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/data_sources/base_data_source.dart'; - -abstract class BaseLocalDataSource extends BaseDataSource {} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/remote/base_remote_data_source.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/remote/base_remote_data_source.dart deleted file mode 100644 index ffb2f05..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/data_sources/remote/base_remote_data_source.dart +++ /dev/null @@ -1,3 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/data_sources/base_data_source.dart'; - -abstract class BaseRemoteDataSource extends BaseDataSource {} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/entities/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/domain/entities/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/entities/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/base_repository.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/base_repository.dart deleted file mode 100644 index 2b88f48..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/base_repository.dart +++ /dev/null @@ -1 +0,0 @@ -abstract class BaseRepository {} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/counter_repository.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/counter_repository.dart deleted file mode 100644 index 1db2339..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/repositories/counter_repository.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/errors/exceptions.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/base_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -abstract class CounterRepository extends BaseRepository { - Future> increment(int newState); - Future> decrement(int newState); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/decrement_counter.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/decrement_counter.dart deleted file mode 100644 index 4a625d7..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/decrement_counter.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/errors/exceptions.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/usecases/usecase.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class DecrementCounter extends UseCase { - final CounterRepository counterRepository; - - DecrementCounter({ - required this.counterRepository, - }); - - @override - Future> call(int params) async => - counterRepository.decrement(params); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/increment_counter.dart b/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/increment_counter.dart deleted file mode 100644 index 862eed8..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/domain/usecases/counter/increment_counter.dart +++ /dev/null @@ -1,16 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/errors/exceptions.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/usecases/usecase.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/counter_repository.dart'; -import 'package:wyatt_type_utils/wyatt_type_utils.dart'; - -class IncrementCounter extends UseCase { - final CounterRepository counterRepository; - - IncrementCounter({ - required this.counterRepository, - }); - - @override - Future> call(int params) async => - counterRepository.increment(params); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/gen/assets.gen.dart b/bricks/wyatt_clean_code/__brick__/lib/gen/assets.gen.dart deleted file mode 100644 index 00c169e..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/gen/assets.gen.dart +++ /dev/null @@ -1,87 +0,0 @@ -/// GENERATED CODE - DO NOT MODIFY BY HAND -/// ***************************************************** -/// FlutterGen -/// ***************************************************** - -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: directives_ordering,unnecessary_import - -import 'package:flutter/widgets.dart'; - -class $AssetsImagesGen { - const $AssetsImagesGen(); - - /// File path: assets/images/wyatt-studio-logo.png - AssetGenImage get wyattStudioLogo => - const AssetGenImage('assets/images/wyatt-studio-logo.png'); -} - -class Assets { - Assets._(); - - static const $AssetsImagesGen images = $AssetsImagesGen(); -} - -class AssetGenImage { - const AssetGenImage(this._assetName); - - final String _assetName; - - Image image({ - Key? key, - AssetBundle? bundle, - ImageFrameBuilder? frameBuilder, - ImageErrorWidgetBuilder? errorBuilder, - String? semanticLabel, - bool excludeFromSemantics = false, - double? scale, - double? width, - double? height, - Color? color, - Animation? opacity, - BlendMode? colorBlendMode, - BoxFit? fit, - AlignmentGeometry alignment = Alignment.center, - ImageRepeat repeat = ImageRepeat.noRepeat, - Rect? centerSlice, - bool matchTextDirection = false, - bool gaplessPlayback = false, - bool isAntiAlias = false, - String? package, - FilterQuality filterQuality = FilterQuality.low, - int? cacheWidth, - int? cacheHeight, - }) { - return Image.asset( - _assetName, - key: key, - bundle: bundle, - frameBuilder: frameBuilder, - errorBuilder: errorBuilder, - semanticLabel: semanticLabel, - excludeFromSemantics: excludeFromSemantics, - scale: scale, - width: width, - height: height, - color: color, - opacity: opacity, - colorBlendMode: colorBlendMode, - fit: fit, - alignment: alignment, - repeat: repeat, - centerSlice: centerSlice, - matchTextDirection: matchTextDirection, - gaplessPlayback: gaplessPlayback, - isAntiAlias: isAntiAlias, - package: package, - filterQuality: filterQuality, - cacheWidth: cacheWidth, - cacheHeight: cacheHeight, - ); - } - - String get path => _assetName; - - String get keyName => _assetName; -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/gen/colors.gen.dart b/bricks/wyatt_clean_code/__brick__/lib/gen/colors.gen.dart deleted file mode 100644 index 5693c5c..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/gen/colors.gen.dart +++ /dev/null @@ -1,195 +0,0 @@ -/// GENERATED CODE - DO NOT MODIFY BY HAND -/// ***************************************************** -/// FlutterGen -/// ***************************************************** - -// coverage:ignore-file -// ignore_for_file: type=lint -// ignore_for_file: directives_ordering,unnecessary_import - -import 'package:flutter/painting.dart'; -import 'package:flutter/material.dart'; - -class ColorName { - ColorName._(); - - /// Color: #FF1B1B1B - static const Color darkBackground = Color(0xFF1B1B1B); - - /// Color: #FFFFB4A9 - static const Color darkError = Color(0xFFFFB4A9); - - /// Color: #FF930006 - static const Color darkErrorContainer = Color(0xFF930006); - - /// Color: #FF0061A6 - static const Color darkInversePrimary = Color(0xFF0061A6); - - /// Color: #FFE2E2E6 - static const Color darkInverseSurface = Color(0xFFE2E2E6); - - /// Color: #FFE2E2E6 - static const Color darkOnBackground = Color(0xFFE2E2E6); - - /// Color: #FF680003 - static const Color darkOnError = Color(0xFF680003); - - /// Color: #FFFFB4A9 - static const Color darkOnErrorContainer = Color(0xFFFFB4A9); - - /// Color: #FF2F3033 - static const Color darkOnInverseSurface = Color(0xFF2F3033); - - /// Color: #FF00325A - static const Color darkOnPrimary = Color(0xFF00325A); - - /// Color: #FFD0E4FF - static const Color darkOnPrimaryContainer = Color(0xFFD0E4FF); - - /// Color: #FF253140 - static const Color darkOnSecondary = Color(0xFF253140); - - /// Color: #FFD6E3F7 - static const Color darkOnSecondaryContainer = Color(0xFFD6E3F7); - - /// Color: #FFE2E2E6 - static const Color darkOnSurface = Color(0xFFE2E2E6); - - /// Color: #FFC3C7D0 - static const Color darkOnSurfaceVariant = Color(0xFFC3C7D0); - - /// Color: #FF8D9199 - static const Color darkOutline = Color(0xFF8D9199); - - /// Color: #FF9CCAFF - static const Color darkPrimary = Color(0xFF9CCAFF); - - /// Color: #FF00497F - static const Color darkPrimaryContainer = Color(0xFF00497F); - - /// Color: #FFBBC8DB - static const Color darkSecondary = Color(0xFFBBC8DB); - - /// Color: #FF3C4858 - static const Color darkSecondaryContainer = Color(0xFF3C4858); - - /// Color: #FF000000 - static const Color darkShadow = Color(0xFF000000); - - /// Color: #FF1B1B1B - static const Color darkSurface = Color(0xFF1B1B1B); - - /// Color: #FF42474E - static const Color darkSurfaceVariant = Color(0xFF42474E); - - /// Color: #FFFDFCFF - static const Color lightBackground = Color(0xFFFDFCFF); - - /// Color: #FFBA1B1B - static const Color lightError = Color(0xFFBA1B1B); - - /// Color: #FFFFDAD4 - static const Color lightErrorContainer = Color(0xFFFFDAD4); - - /// Color: #FF9CCAFF - static const Color lightInversePrimary = Color(0xFF9CCAFF); - - /// Color: #FF2F3033 - static const Color lightInverseSurface = Color(0xFF2F3033); - - /// Color: #FF1B1B1B - static const Color lightOnBackground = Color(0xFF1B1B1B); - - /// Color: #FFFFFFFF - static const Color lightOnError = Color(0xFFFFFFFF); - - /// Color: #FF410001 - static const Color lightOnErrorContainer = Color(0xFF410001); - - /// Color: #FFF1F0F4 - static const Color lightOnInverseSurface = Color(0xFFF1F0F4); - - /// Color: #FFFFFFFF - static const Color lightOnPrimary = Color(0xFFFFFFFF); - - /// Color: #FF001D36 - static const Color lightOnPrimaryContainer = Color(0xFF001D36); - - /// Color: #FFFFFFFF - static const Color lightOnSecondary = Color(0xFFFFFFFF); - - /// Color: #FF101C2B - static const Color lightOnSecondaryContainer = Color(0xFF101C2B); - - /// Color: #FF1B1B1B - static const Color lightOnSurface = Color(0xFF1B1B1B); - - /// Color: #FF42474E - static const Color lightOnSurfaceVariant = Color(0xFF42474E); - - /// Color: #FF73777F - static const Color lightOutline = Color(0xFF73777F); - - /// Color: #FF0061A6 - static const Color lightPrimary = Color(0xFF0061A6); - - /// Color: #FFD0E4FF - static const Color lightPrimaryContainer = Color(0xFFD0E4FF); - - /// Color: #FF535F70 - static const Color lightSecondary = Color(0xFF535F70); - - /// Color: #FFD6E3F7 - static const Color lightSecondaryContainer = Color(0xFFD6E3F7); - - /// Color: #FF000000 - static const Color lightShadow = Color(0xFF000000); - - /// Color: #FFFDFCFF - static const Color lightSurface = Color(0xFFFDFCFF); - - /// Color: #FFDFE2EB - static const Color lightSurfaceVariant = Color(0xFFDFE2EB); - - /// MaterialColor: - /// 50: #FFFFE412FE - /// 100: #FFFFBC2DFB - /// 200: #FFFF904BF9 - /// 300: #FFFF6469F7 - /// 400: #FFFF428075 - /// 500: #FFFF2196F3 - /// 600: #FFFF1DC2114 - /// 700: #FFFF181B382C - /// 800: #FFFF14296C06 - /// 900: #FFFF0B432A01 - static const MaterialColor seedColor = MaterialColor( - 0xFFFF2196F3, - { - 50: Color(0xFFFFE412FE), - 100: Color(0xFFFFBC2DFB), - 200: Color(0xFFFF904BF9), - 300: Color(0xFFFF6469F7), - 400: Color(0xFFFF428075), - 500: Color(0xFFFF2196F3), - 600: Color(0xFFFF1DC2114), - 700: Color(0xFFFF181B382C), - 800: Color(0xFFFF14296C06), - 900: Color(0xFFFF0B432A01), - }, - ); - - /// MaterialAccentColor: - /// 100: #FFFFFFFF - /// 200: #FFFFFFFF - /// 400: #FFFFFFFF - /// 700: #FFFFFFFF - static const MaterialAccentColor seedColorAccent = MaterialAccentColor( - 0xFFFFFFFF, - { - 100: Color(0xFFFFFFFF), - 200: Color(0xFFFFFFFF), - 400: Color(0xFFFFFFFF), - 700: Color(0xFFFFFFFF), - }, - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/main_development.dart b/bricks/wyatt_clean_code/__brick__/lib/main_development.dart deleted file mode 100644 index e665c91..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/main_development.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/bootstrap.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/flavors/flavor_settings.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.development(); - bootstrap(App.new); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/main_production.dart b/bricks/wyatt_clean_code/__brick__/lib/main_production.dart deleted file mode 100644 index cb80a75..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/main_production.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/bootstrap.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/flavors/flavor_settings.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.production(); - bootstrap(App.new); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/main_staging.dart b/bricks/wyatt_clean_code/__brick__/lib/main_staging.dart deleted file mode 100644 index 6be7658..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/main_staging.dart +++ /dev/null @@ -1,8 +0,0 @@ -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/bootstrap.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/flavors/flavor_settings.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/app/app.dart'; - -void main(List args) { - FlavorSettings.staging(); - bootstrap(App.new); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/app/app.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/app/app.dart deleted file mode 100644 index 67811c0..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/app/app.dart +++ /dev/null @@ -1,71 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:go_router/go_router.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/design_system/theme.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/build_context_extension.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/flavors/flavor_settings.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/routes/router.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/utils/screen_util.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/data/repositories/counter_repository_impl.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/counter_repository.dart'; - -class App extends StatelessWidget { - App({super.key}); - - final GoRouter _router = GoRouter( - initialLocation: '/', - routes: AppRouter.routes, - debugLogDiagnostics: true, - errorBuilder: (_, __) => const ColoredBox( - color: Colors.red, - ), - ); - - Widget _bannerFlavor(Widget child) { - final flavorInstance = FlavorSettings.get(); - if (flavorInstance.displayBanner && !kReleaseMode) { - return Directionality( - textDirection: TextDirection.ltr, - child: Banner( - location: BannerLocation.topEnd, - message: flavorInstance.flavor.short, - color: flavorInstance.flavor.color, - child: child, - ), - ); - } - return child; - } - - @override - Widget build(BuildContext context) { - ScreenUtil.init(); - return MultiRepositoryProvider( - providers: [ - RepositoryProvider( - lazy: true, - create: (context) => CounterRepositoryImpl(), - ), - ], - child: _bannerFlavor( - MaterialApp.router( - title: '{{#titleCase}}{{project_name}}{{/titleCase}}', - theme: AppTheme.light, - debugShowCheckedModeBanner: false, - routerDelegate: _router.routerDelegate, - routeInformationParser: _router.routeInformationParser, - routeInformationProvider: _router.routeInformationProvider, - localizationsDelegates: const [ - AppLocalizations.delegate, - GlobalMaterialLocalizations.delegate, - GlobalWidgetsLocalizations.delegate, - GlobalCupertinoLocalizations.delegate, - ], - supportedLocales: AppLocalizations.supportedLocales, - ), - ), - ); - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/blocs/counter_cubit.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/blocs/counter_cubit.dart deleted file mode 100644 index ee727f6..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/blocs/counter_cubit.dart +++ /dev/null @@ -1,39 +0,0 @@ -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/usecases/counter/decrement_counter.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/usecases/counter/increment_counter.dart'; - -class CounterCubit extends Cubit { - final IncrementCounter _incrementCounter; - final DecrementCounter _decrementCounter; - - CounterCubit({ - required IncrementCounter incrementCounter, - required DecrementCounter decrementCounter, - }) : _incrementCounter = incrementCounter, - _decrementCounter = decrementCounter, - super(0); - - Future increment({int by = 1}) async { - // Use `.call(...)` to get documentation, but we can - // also directly use `(...)` - final response = await _incrementCounter.call(state + by); - emit( - response.fold( - (value) => value, - (error) => state, - ), - ); - } - - Future decrement({int by = 1}) async { - // Use `.call(...)` to get documentation, but we can - // also directly use `(...)` - final response = await _decrementCounter.call(state - by); - emit( - response.fold( - (value) => value, - (error) => state, - ), - ); - } -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/counter_page.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/counter_page.dart deleted file mode 100644 index e13e08d..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/counter_page.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/state_management/counter_page_provider.dart'; - -class CounterPage extends StatelessWidget { - const CounterPage({super.key}); - - static const String pageName = 'counter'; - - @override - Widget build(BuildContext context) => const CounterPageProvider(); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_page_provider.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_page_provider.dart deleted file mode 100644 index d7e8019..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_page_provider.dart +++ /dev/null @@ -1,31 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:wyatt_bloc_helper/wyatt_bloc_helper.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/repositories/counter_repository.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/usecases/counter/decrement_counter.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/domain/usecases/counter/increment_counter.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/blocs/counter_cubit.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/state_management/counter_text_consumer.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/widgets/counter_base.dart'; - -class CounterPageProvider extends CubitProviderScreen { - const CounterPageProvider({super.key}); - - @override - CounterCubit create(BuildContext context) => CounterCubit( - decrementCounter: DecrementCounter( - counterRepository: repo(context), - ), - incrementCounter: IncrementCounter( - counterRepository: repo(context), - ), - ); - - @override - Widget builder(BuildContext context) => CounterBase( - fabIncrement: () => bloc(context).increment(), - fabIncrementBy10: () => bloc(context).increment(by: 10), - fabDecrement: () => bloc(context).decrement(), - fabDecrementBy10: () => bloc(context).decrement(by: 10), - child: const CounterTextConsumer(), - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_text_consumer.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_text_consumer.dart deleted file mode 100644 index 0c42db3..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/state_management/counter_text_consumer.dart +++ /dev/null @@ -1,11 +0,0 @@ -import 'package:flutter/widgets.dart'; -import 'package:wyatt_bloc_helper/wyatt_bloc_helper.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/blocs/counter_cubit.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/widgets/counter_text.dart'; - -class CounterTextConsumer extends CubitConsumerScreen { - const CounterTextConsumer({super.key}); - - @override - Widget onBuild(BuildContext context, int state) => CounterText(count: state); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_base.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_base.dart deleted file mode 100644 index a392410..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_base.dart +++ /dev/null @@ -1,54 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/build_context_extension.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/shared/layouts/app_default_scaffold.dart'; - -class CounterBase extends StatelessWidget { - const CounterBase({ - required this.child, - this.fabIncrement, - this.fabIncrementBy10, - this.fabDecrement, - this.fabDecrementBy10, - super.key, - }); - - final void Function()? fabIncrement; - final void Function()? fabIncrementBy10; - final void Function()? fabDecrement; - final void Function()? fabDecrementBy10; - - final Widget child; - - @override - Widget build(BuildContext context) => AppDefaultScaffold( - title: Text(context.l10n.counterAppBarTitle), - body: Center( - child: child, - ), - fabChildren: [ - FloatingActionButton( - heroTag: 'increment_tag', - onPressed: fabIncrement, - child: const Icon(Icons.add), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'increment_10_tag', - onPressed: fabIncrementBy10, - child: const Text('+10'), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'decrement_tag', - onPressed: fabDecrement, - child: const Icon(Icons.remove), - ), - const SizedBox(height: 8), - FloatingActionButton( - heroTag: 'decrement_10_tag', - onPressed: fabDecrementBy10, - child: const Text('-10'), - ), - ], - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_text.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_text.dart deleted file mode 100644 index fee1643..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/counter/widgets/counter_text.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/build_context_extension.dart'; - -class CounterText extends StatelessWidget { - const CounterText({ - required this.count, - super.key, - }); - - final int count; - - @override - Widget build(BuildContext context) => Text( - context.l10n.youHavePushed(count), - textAlign: TextAlign.center, - style: Theme.of(context).textTheme.headline3, - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/initial/initial_page.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/features/initial/initial_page.dart deleted file mode 100644 index 2e65908..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/features/initial/initial_page.dart +++ /dev/null @@ -1,32 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/design_system/sizing.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/build_context_extension.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/core/extensions/num_extension.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/gen/assets.gen.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/features/counter/counter_page.dart'; -import 'package:{{#snakeCase}}{{project_name}}{{/snakeCase}}/presentation/shared/layouts/app_default_scaffold.dart'; - -class InitialPage extends StatelessWidget { - const InitialPage({super.key}); - - static const String pageName = 'initial'; - - @override - Widget build(BuildContext context) => AppDefaultScaffold( - title: const Text('{{#titleCase}}{{project_name}}{{/titleCase}}'), - body: Center( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Assets.images.wyattStudioLogo.image(width: 150.w), - AppSizing.lGap, - ElevatedButton( - child: Text(context.l10n.goToCounter), - onPressed: () => context.pushNamed(CounterPage.pageName), - ), - ], - ), - ), - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/layouts/app_default_scaffold.dart b/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/layouts/app_default_scaffold.dart deleted file mode 100644 index 1d21aa1..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/layouts/app_default_scaffold.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/material.dart'; - -class AppDefaultScaffold extends StatelessWidget { - const AppDefaultScaffold({ - required this.body, - this.title, - this.fabChildren, - super.key, - }); - - final Widget? title; - final Widget body; - final List? fabChildren; - - @override - Widget build(BuildContext context) => Scaffold( - appBar: AppBar(title: title), - body: body, - floatingActionButton: (fabChildren?.isNotEmpty ?? false) - ? Column( - mainAxisAlignment: MainAxisAlignment.end, - crossAxisAlignment: CrossAxisAlignment.end, - children: fabChildren!, - ) - : null, - ); -} diff --git a/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/state_management/.gitkeep b/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/state_management/.gitkeep deleted file mode 100644 index f94cb6f..0000000 --- a/bricks/wyatt_clean_code/__brick__/lib/presentation/shared/state_management/.gitkeep +++ /dev/null @@ -1 +0,0 @@ -# just to keep empty folder in brick generation \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/pubspec.yaml b/bricks/wyatt_clean_code/__brick__/pubspec.yaml deleted file mode 100644 index 529d443..0000000 --- a/bricks/wyatt_clean_code/__brick__/pubspec.yaml +++ /dev/null @@ -1,125 +0,0 @@ -name: {{#snakeCase}}{{project_name}}{{/snakeCase}} -description: {{{description}}} - -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: "none" - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.17.0 <3.0.0" - flutter: ">=3.0.0" - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - flutter: - sdk: flutter - flutter_localizations: - sdk: flutter - intl: ^0.17.0 - go_router: ^4.1.1 - equatable: ^2.0.3 - freezed_annotation: ^2.1.0 - json_annotation: ^4.6.0 - cupertino_icons: ^1.0.5 - get_it: ^7.2.0 - logger: ^1.1.0 - gap: ^2.0.0 - flutter_bloc: ^8.0.1 - wyatt_bloc_helper: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: bloc/feature/fix_and_repo - path: packages/wyatt_bloc_helper - wyatt_type_utils: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_type_utils-v0.0.2 - path: packages/wyatt_type_utils - - -dev_dependencies: - flutter_test: - sdk: flutter - - dependency_validator: ^3.2.2 - - build_runner: ^2.2.0 - flutter_gen_runner: ^4.3.0 - freezed: ^2.1.0+1 - json_serializable: ^6.3.1 - - # The "wyatt_analysis" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. - wyatt_analysis: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_analysis-v2.2.1 - path: packages/wyatt_analysis - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following secion is specific to FlutterGen -flutter_gen: - colors: - inputs: - - assets/colors.xml - -# The following section is specific to Flutter packages. -flutter: - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - generate: true - - # To add assets to your application, add an assets section, like this: - assets: - - assets/images/ - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/.gitignore b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/.gitignore deleted file mode 100644 index 6f56801..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -gradle-wrapper.jar -/.gradle -/captures/ -/gradlew -/gradlew.bat -/local.properties -GeneratedPluginRegistrant.java - -# Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app -key.properties -**/*.keystore -**/*.jks diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/build.gradle b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/build.gradle deleted file mode 100644 index 42c94ef..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/build.gradle +++ /dev/null @@ -1,117 +0,0 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' -} - -def keystoreProperties = new Properties() -def keystorePropertiesFile = rootProject.file('key.properties') -if (keystorePropertiesFile.exists()) { - keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) -} - -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - -android { - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - } - - defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.example.{{#snakeCase}}{{project_name}}{{/snakeCase}}" - // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration. - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName - } - - signingConfigs { - if (System.getenv("ANDROID_KEYSTORE_PATH")) { - release { - storeFile file(System.getenv("ANDROID_KEYSTORE_PATH")) - keyAlias System.getenv("ANDROID_KEYSTORE_ALIAS") - keyPassword System.getenv("ANDROID_KEYSTORE_PRIVATE_KEY_PASSWORD") - storePassword System.getenv("ANDROID_KEYSTORE_PASSWORD") - } - } else { - release { - keyAlias keystoreProperties['keyAlias'] - keyPassword keystoreProperties['keyPassword'] - storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null - storePassword keystoreProperties['storePassword'] - } - } - } - - flavorDimensions "default" - productFlavors { - production { - dimension "default" - applicationIdSuffix "" - manifestPlaceholders = [appName: "{{#titleCase}}{{project_name}}{{/titleCase}}"] - } - staging { - dimension "default" - applicationIdSuffix ".stg" - manifestPlaceholders = [appName: "[STG] {{#titleCase}}{{project_name}}{{/titleCase}}"] - } - development { - dimension "default" - applicationIdSuffix ".dev" - manifestPlaceholders = [appName: "[DEV] {{#titleCase}}{{project_name}}{{/titleCase}}"] - } - } - - buildTypes { - release { - signingConfig signingConfigs.release - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt') - } - debug { - signingConfig signingConfigs.debug - } - } -} - -flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" -} diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/debug/AndroidManifest.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/debug/AndroidManifest.xml deleted file mode 100644 index 60d9d23..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/debug/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/AndroidManifest.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/AndroidManifest.xml deleted file mode 100644 index 5c1bad1..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/AndroidManifest.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/kotlin/{{#pathCase}}{{org_name}}{{/pathCase}}/MainActivity.kt b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/kotlin/{{#pathCase}}{{org_name}}{{/pathCase}}/MainActivity.kt deleted file mode 100644 index eb6d0bb..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/kotlin/{{#pathCase}}{{org_name}}{{/pathCase}}/MainActivity.kt +++ /dev/null @@ -1,6 +0,0 @@ -package {{#dotCase}}{{org_name}}{{/dotCase}}.{{#snakeCase}}{{project_name}}{{/snakeCase}} - -import io.flutter.embedding.android.FlutterActivity - -class MainActivity: FlutterActivity() { -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable-v21/launch_background.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable-v21/launch_background.xml deleted file mode 100644 index f74085f..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable-v21/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable/launch_background.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable/launch_background.xml deleted file mode 100644 index 304732f..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/drawable/launch_background.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-hdpi/ic_launcher.png b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index db77bb4b7b0906d62b1847e87f15cdcacf6a4f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY3?!3`olAj~WQl7;NpOBzNqJ&XDuZK6ep0G} zXKrG8YEWuoN@d~6R2!h8bpbvhu0Wd6uZuB!w&u2PAxD2eNXD>P5D~Wn-+_Wa#27Xc zC?Zj|6r#X(-D3u$NCt}(Ms06KgJ4FxJVv{GM)!I~&n8Bnc94O7-Hd)cjDZswgC;Qs zO=b+9!WcT8F?0rF7!Uys2bs@gozCP?z~o%U|N3vA*22NaGQG zlg@K`O_XuxvZ&Ks^m&R!`&1=spLvfx7oGDKDwpwW`#iqdw@AL`7MR}m`rwr|mZgU`8P7SBkL78fFf!WnuYWm$5Z0 zNXhDbCv&49sM544K|?c)WrFfiZvCi9h0O)B3Pgg&ebxsLQ05GG~ AQ2+n{ diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-mdpi/ic_launcher.png b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index 17987b79bb8a35cc66c3c1fd44f5a5526c1b78be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 442 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-sk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*D5Xx&nMcT!A!W`0S9QKQy;}1Cl^CgaH=;G9cpY;r$Q>i*pfB zP2drbID<_#qf;rPZx^FqH)F_D#*k@@q03KywUtLX8Ua?`H+NMzkczFPK3lFz@i_kW%1NOn0|D2I9n9wzH8m|-tHjsw|9>@K=iMBhxvkv6m8Y-l zytQ?X=U+MF$@3 zt`~i=@j|6y)RWMK--}M|=T`o&^Ni>IoWKHEbBXz7?A@mgWoL>!*SXo`SZH-*HSdS+ yn*9;$7;m`l>wYBC5bq;=U}IMqLzqbYCidGC!)_gkIk_C@Uy!y&wkt5C($~2D>~)O*cj@FGjOCM)M>_ixfudOh)?xMu#Fs z#}Y=@YDTwOM)x{K_j*Q;dPdJ?Mz0n|pLRx{4n|)f>SXlmV)XB04CrSJn#dS5nK2lM zrZ9#~WelCp7&e13Y$jvaEXHskn$2V!!DN-nWS__6T*l;H&Fopn?A6HZ-6WRLFP=R` zqG+CE#d4|IbyAI+rJJ`&x9*T`+a=p|0O(+s{UBcyZdkhj=yS1>AirP+0R;mf2uMgM zC}@~JfByORAh4SyRgi&!(cja>F(l*O+nd+@4m$|6K6KDn_&uvCpV23&>G9HJp{xgg zoq1^2_p9@|WEo z*X_Uko@K)qYYv~>43eQGMdbiGbo>E~Q& zrYBH{QP^@Sti!`2)uG{irBBq@y*$B zi#&(U-*=fp74j)RyIw49+0MRPMRU)+a2r*PJ$L5roHt2$UjExCTZSbq%V!HeS7J$N zdG@vOZB4v_lF7Plrx+hxo7(fCV&}fHq)$ diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index d5f1c8d34e7a88e3f88bea192c3a370d44689c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q8Ax83A=Cw=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrIztFa`(sgt!6~Yi|1%a`XoT0ojZ}lNrNjb9xjc(B0U1_% zz5^97Xt*%oq$rQy4?0GKNfJ44uvxI)gC`h-NZ|&0-7(qS@?b!5r36oQ}zyZrNO3 zMO=Or+<~>+A&uN&E!^Sl+>xE!QC-|oJv`ApDhqC^EWD|@=#J`=d#Xzxs4ah}w&Jnc z$|q_opQ^2TrnVZ0o~wh<3t%W&flvYGe#$xqda2bR_R zvPYgMcHgjZ5nSA^lJr%;<&0do;O^tDDh~=pIxA#coaCY>&N%M2^tq^U%3DB@ynvKo}b?yu-bFc-u0JHzced$sg7S3zqI(2 z#Km{dPr7I=pQ5>FuK#)QwK?Y`E`B?nP+}U)I#c1+FM*1kNvWG|a(TpksZQ3B@sD~b zpQ2)*V*TdwjFOtHvV|;OsiDqHi=6%)o4b!)x$)%9pGTsE z-JL={-Ffv+T87W(Xpooq<`r*VzWQcgBN$$`u}f>-ZQI1BB8ykN*=e4rIsJx9>z}*o zo~|9I;xof diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png deleted file mode 100644 index 4d6372eebdb28e45604e46eeda8dd24651419bc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1443 zcmb`G{WsKk6vsdJTdFg%tJav9_E4vzrOaqkWF|A724Nly!y+?N9`YV6wZ}5(X(D_N(?!*n3`|_r0Hc?=PQw&*vnU?QTFY zB_MsH|!j$PP;I}?dppoE_gA(4uc!jV&0!l7_;&p2^pxNo>PEcNJv za5_RT$o2Mf!<+r?&EbHH6nMoTsDOa;mN(wv8RNsHpG)`^ymG-S5By8=l9iVXzN_eG%Xg2@Xeq76tTZ*dGh~Lo9vl;Zfs+W#BydUw zCkZ$o1LqWQO$FC9aKlLl*7x9^0q%0}$OMlp@Kk_jHXOjofdePND+j!A{q!8~Jn+s3 z?~~w@4?egS02}8NuulUA=L~QQfm;MzCGd)XhiftT;+zFO&JVyp2mBww?;QByS_1w! zrQlx%{^cMj0|Bo1FjwY@Q8?Hx0cIPF*@-ZRFpPc#bBw{5@tD(5%sClzIfl8WU~V#u zm5Q;_F!wa$BSpqhN>W@2De?TKWR*!ujY;Yylk_X5#~V!L*Gw~;$%4Q8~Mad z@`-kG?yb$a9cHIApZDVZ^U6Xkp<*4rU82O7%}0jjHlK{id@?-wpN*fCHXyXh(bLt* zPc}H-x0e4E&nQ>y%B-(EL=9}RyC%MyX=upHuFhAk&MLbsF0LP-q`XnH78@fT+pKPW zu72MW`|?8ht^tz$iC}ZwLp4tB;Q49K!QCF3@!iB1qOI=?w z7In!}F~ij(18UYUjnbmC!qKhPo%24?8U1x{7o(+?^Zu0Hx81|FuS?bJ0jgBhEMzf< zCgUq7r2OCB(`XkKcN-TL>u5y#dD6D!)5W?`O5)V^>jb)P)GBdy%t$uUMpf$SNV31$ zb||OojAbvMP?T@$h_ZiFLFVHDmbyMhJF|-_)HX3%m=CDI+ID$0^C>kzxprBW)hw(v zr!Gmda);ICoQyhV_oP5+C%?jcG8v+D@9f?Dk*!BxY}dazmrT@64UrP3hlslANK)bq z$67n83eh}OeW&SV@HG95P|bjfqJ7gw$e+`Hxo!4cx`jdK1bJ>YDSpGKLPZ^1cv$ek zIB?0S<#tX?SJCLWdMd{-ME?$hc7A$zBOdIJ)4!KcAwb=VMov)nK;9z>x~rfT1>dS+ zZ6#`2v@`jgbqq)P22H)Tx2CpmM^o1$B+xT6`(v%5xJ(?j#>Q$+rx_R|7TzDZe{J6q zG1*EcU%tE?!kO%^M;3aM6JN*LAKUVb^xz8-Pxo#jR5(-KBeLJvA@-gxNHx0M-ZJLl z;#JwQoh~9V?`UVo#}{6ka@II>++D@%KqGpMdlQ}?9E*wFcf5(#XQnP$Dk5~%iX^>f z%$y;?M0BLp{O3a(-4A?ewryHrrD%cx#Q^%KY1H zNre$ve+vceSLZcNY4U(RBX&)oZn*Py()h)XkE?PL$!bNb{N5FVI2Y%LKEm%yvpyTP z(1P?z~7YxD~Rf<(a@_y` diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values-night/styles.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values-night/styles.xml deleted file mode 100644 index 06952be..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values-night/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values/styles.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values/styles.xml deleted file mode 100644 index cb1ef88..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/main/res/values/styles.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/profile/AndroidManifest.xml b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/profile/AndroidManifest.xml deleted file mode 100644 index 60d9d23..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/app/src/profile/AndroidManifest.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/build.gradle b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/build.gradle deleted file mode 100644 index 83ae220..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -rootProject.buildDir = '../build' -subprojects { - project.buildDir = "${rootProject.buildDir}/${project.name}" -} -subprojects { - project.evaluationDependsOn(':app') -} - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle.properties b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle.properties deleted file mode 100644 index 94adc3a..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle.properties +++ /dev/null @@ -1,3 +0,0 @@ -org.gradle.jvmargs=-Xmx1536M -android.useAndroidX=true -android.enableJetifier=true diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle/wrapper/gradle-wrapper.properties b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle/wrapper/gradle-wrapper.properties deleted file mode 100644 index cc5527d..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/gradle/wrapper/gradle-wrapper.properties +++ /dev/null @@ -1,6 +0,0 @@ -#Fri Jun 23 08:50:38 CEST 2017 -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/settings.gradle b/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/settings.gradle deleted file mode 100644 index 44e62bc..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_android}}android{{/enable_android}}/settings.gradle +++ /dev/null @@ -1,11 +0,0 @@ -include ':app' - -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() - -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } - -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/.gitignore b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/.gitignore deleted file mode 100644 index 7a7f987..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/.gitignore +++ /dev/null @@ -1,34 +0,0 @@ -**/dgph -*.mode1v3 -*.mode2v3 -*.moved-aside -*.pbxuser -*.perspectivev3 -**/*sync/ -.sconsign.dblite -.tags* -**/.vagrant/ -**/DerivedData/ -Icon? -**/Pods/ -**/.symlinks/ -profile -xcuserdata -**/.generated/ -Flutter/App.framework -Flutter/Flutter.framework -Flutter/Flutter.podspec -Flutter/Generated.xcconfig -Flutter/ephemeral/ -Flutter/app.flx -Flutter/app.zip -Flutter/flutter_assets/ -Flutter/flutter_export_environment.sh -ServiceDefinitions.json -Runner/GeneratedPluginRegistrant.* - -# Exceptions to above rules. -!default.mode1v3 -!default.mode2v3 -!default.pbxuser -!default.perspectivev3 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/AppFrameworkInfo.plist b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/AppFrameworkInfo.plist deleted file mode 100644 index 8d4492f..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/AppFrameworkInfo.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - App - CFBundleIdentifier - io.flutter.flutter.app - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - App - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - MinimumOSVersion - 9.0 - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Debug.xcconfig b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Debug.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Release.xcconfig b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Release.xcconfig deleted file mode 100644 index 592ceee..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Flutter/Release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "Generated.xcconfig" diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.pbxproj b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.pbxproj deleted file mode 100644 index 4e399b8..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1174 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 50; - objects = { - -/* Begin PBXBuildFile section */ - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 9705A1C41CF9048500538489 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; - 9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; }; - 9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; }; - 97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 97C146EB1CF9000F007C117D /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 9740EEB11CF90186004384FC /* Flutter */ = { - isa = PBXGroup; - children = ( - 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */, - 9740EEB21CF90195004384FC /* Debug.xcconfig */, - 7AFA3C8E1D35360C0083082E /* Release.xcconfig */, - 9740EEB31CF90195004384FC /* Generated.xcconfig */, - ); - name = Flutter; - sourceTree = ""; - }; - 97C146E51CF9000F007C117D = { - isa = PBXGroup; - children = ( - 9740EEB11CF90186004384FC /* Flutter */, - 97C146F01CF9000F007C117D /* Runner */, - 97C146EF1CF9000F007C117D /* Products */, - ); - sourceTree = ""; - }; - 97C146EF1CF9000F007C117D /* Products */ = { - isa = PBXGroup; - children = ( - 97C146EE1CF9000F007C117D /* Runner.app */, - ); - name = Products; - sourceTree = ""; - }; - 97C146F01CF9000F007C117D /* Runner */ = { - isa = PBXGroup; - children = ( - 97C146FA1CF9000F007C117D /* Main.storyboard */, - 97C146FD1CF9000F007C117D /* Assets.xcassets */, - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */, - 97C147021CF9000F007C117D /* Info.plist */, - 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */, - 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */, - 74858FAE1ED2DC5600515810 /* AppDelegate.swift */, - 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */, - ); - path = Runner; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 97C146ED1CF9000F007C117D /* Runner */ = { - isa = PBXNativeTarget; - buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; - buildPhases = ( - 9740EEB61CF901F6004384FC /* Run Script */, - 97C146EA1CF9000F007C117D /* Sources */, - 97C146EB1CF9000F007C117D /* Frameworks */, - 97C146EC1CF9000F007C117D /* Resources */, - 9705A1C41CF9048500538489 /* Embed Frameworks */, - 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = Runner; - productName = Runner; - productReference = 97C146EE1CF9000F007C117D /* Runner.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 97C146E61CF9000F007C117D /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 1300; - ORGANIZATIONNAME = ""; - TargetAttributes = { - 97C146ED1CF9000F007C117D = { - CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 1100; - }; - }; - }; - buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */; - compatibilityVersion = "Xcode 9.3"; - developmentRegion = en; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 97C146E51CF9000F007C117D; - productRefGroup = 97C146EF1CF9000F007C117D /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 97C146ED1CF9000F007C117D /* Runner */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 97C146EC1CF9000F007C117D /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */, - 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */, - 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */, - 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXShellScriptBuildPhase section */ - 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Thin Binary"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; - }; - 9740EEB61CF901F6004384FC /* Run Script */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Run Script"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; - }; -/* End PBXShellScriptBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 97C146EA1CF9000F007C117D /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */, - 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 97C146FA1CF9000F007C117D /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C146FB1CF9000F007C117D /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 97C147001CF9000F007C117D /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 249021D3217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Profile; - }; - 249021D4217E4FDB00AE95B9 /* Profile */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Profile; - }; - 6B497CB72889B0D000E01771 /* Debug-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-development"; - }; - 6B497CB82889B0D000E01771 /* Debug-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-development"; - }; - 6B497CB92889B0F300E01771 /* Debug-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-staging"; - }; - 6B497CBA2889B0F300E01771 /* Debug-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-staging"; - }; - 6B497CBB2889B11500E01771 /* Debug-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = "Debug-production"; - }; - 6B497CBC2889B11500E01771 /* Debug-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Debug-production"; - }; - 6B497CBD2889B12000E01771 /* Profile-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-development"; - }; - 6B497CBE2889B12000E01771 /* Profile-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-development"; - }; - 6B497CBF2889B12800E01771 /* Profile-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-staging"; - }; - 6B497CC02889B12800E01771 /* Profile-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-staging"; - }; - 6B497CC12889B12F00E01771 /* Profile-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Profile-production"; - }; - 6B497CC22889B12F00E01771 /* Profile-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Profile-production"; - }; - 6B497CC32889B13A00E01771 /* Release-development */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-development"; - }; - 6B497CC42889B13A00E01771 /* Release-development */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-development"; - }; - 6B497CC52889B14200E01771 /* Release-staging */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-staging"; - }; - 6B497CC62889B14200E01771 /* Release-staging */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-staging"; - }; - 6B497CC72889B14900E01771 /* Release-production */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = "Release-production"; - }; - 6B497CC82889B14900E01771 /* Release-production */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = "Release-production"; - }; - 97C147031CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 97C147041CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SUPPORTED_PLATFORMS = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 97C147061CF9000F007C117D /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - 97C147071CF9000F007C117D /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - CLANG_ENABLE_MODULES = YES; - CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; - DEVELOPMENT_TEAM = 6Z5P8GG96U; - ENABLE_BITCODE = NO; - INFOPLIST_FILE = Runner/Info.plist; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - ); - PRODUCT_BUNDLE_IDENTIFIER = com.example.wyattCleanCode; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; - SWIFT_VERSION = 5.0; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147031CF9000F007C117D /* Debug */, - 6B497CB72889B0D000E01771 /* Debug-development */, - 6B497CB92889B0F300E01771 /* Debug-staging */, - 6B497CBB2889B11500E01771 /* Debug-production */, - 97C147041CF9000F007C117D /* Release */, - 6B497CC32889B13A00E01771 /* Release-development */, - 6B497CC52889B14200E01771 /* Release-staging */, - 6B497CC72889B14900E01771 /* Release-production */, - 249021D3217E4FDB00AE95B9 /* Profile */, - 6B497CBD2889B12000E01771 /* Profile-development */, - 6B497CBF2889B12800E01771 /* Profile-staging */, - 6B497CC12889B12F00E01771 /* Profile-production */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 97C147061CF9000F007C117D /* Debug */, - 6B497CB82889B0D000E01771 /* Debug-development */, - 6B497CBA2889B0F300E01771 /* Debug-staging */, - 6B497CBC2889B11500E01771 /* Debug-production */, - 97C147071CF9000F007C117D /* Release */, - 6B497CC42889B13A00E01771 /* Release-development */, - 6B497CC62889B14200E01771 /* Release-staging */, - 6B497CC82889B14900E01771 /* Release-production */, - 249021D4217E4FDB00AE95B9 /* Profile */, - 6B497CBE2889B12000E01771 /* Profile-development */, - 6B497CC02889B12800E01771 /* Profile-staging */, - 6B497CC22889B12F00E01771 /* Profile-production */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 97C146E61CF9000F007C117D /* Project object */; -} diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme deleted file mode 100644 index c87d15a..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/development.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/production.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme deleted file mode 100644 index 85c759b..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcodeproj/xcshareddata/xcschemes/staging.xcscheme +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/contents.xcworkspacedata b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 1d526a1..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist deleted file mode 100644 index 18d9810..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - IDEDidComputeMac32BitWarning - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings deleted file mode 100644 index f9b0d7c..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - PreviewsEnabled - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/AppDelegate.swift b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/AppDelegate.swift deleted file mode 100644 index 70693e4..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/AppDelegate.swift +++ /dev/null @@ -1,13 +0,0 @@ -import UIKit -import Flutter - -@UIApplicationMain -@objc class AppDelegate: FlutterAppDelegate { - override func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? - ) -> Bool { - GeneratedPluginRegistrant.register(with: self) - return super.application(application, didFinishLaunchingWithOptions: launchOptions) - } -} diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index d36b1fa..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "images" : [ - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "20x20", - "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" - }, - { - "size" : "60x60", - "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" - }, - { - "size" : "20x20", - "idiom" : "ipad", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" - }, - { - "size" : "29x29", - "idiom" : "ipad", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" - }, - { - "size" : "40x40", - "idiom" : "ipad", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" - }, - { - "size" : "76x76", - "idiom" : "ipad", - "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", - "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" - }, - { - "size" : "1024x1024", - "idiom" : "ios-marketing", - "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png deleted file mode 100644 index dc9ada4725e9b0ddb1deab583e5b5102493aa332..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10932 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 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index f091b6b0bca859a3f474b03065bef75ba58a9e4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1588 zcmV-42Fv-0P)C1SqPt}wig>|5Crh^=oyX$BK<}M8eLU3e2hGT;=G|!_SP)7zNI6fqUMB=)y zRAZ>eDe#*r`yDAVgB_R*LB*MAc)8(b{g{9McCXW!lq7r(btRoB9!8B-#AI6JMb~YFBEvdsV)`mEQO^&#eRKx@b&x- z5lZm*!WfD8oCLzfHGz#u7sT0^VLMI1MqGxF^v+`4YYnVYgk*=kU?HsSz{v({E3lb9 z>+xILjBN)t6`=g~IBOelGQ(O990@BfXf(DRI5I$qN$0Gkz-FSc$3a+2fX$AedL4u{ z4V+5Ong(9LiGcIKW?_352sR;LtDPmPJXI{YtT=O8=76o9;*n%_m|xo!i>7$IrZ-{l z-x3`7M}qzHsPV@$v#>H-TpjDh2UE$9g6sysUREDy_R(a)>=eHw-WAyfIN z*qb!_hW>G)Tu8nSw9yn#3wFMiLcfc4pY0ek1}8(NqkBR@t4{~oC>ryc-h_ByH(Cg5 z>ao-}771+xE3um9lWAY1FeQFxowa1(!J(;Jg*wrg!=6FdRX+t_<%z&d&?|Bn){>zm zZQj(aA_HeBY&OC^jj*)N`8fa^ePOU72VpInJoI1?`ty#lvlNzs(&MZX+R%2xS~5Kh zX*|AU4QE#~SgPzOXe9>tRj>hjU@c1k5Y_mW*Jp3fI;)1&g3j|zDgC+}2Q_v%YfDax z!?umcN^n}KYQ|a$Lr+51Nf9dkkYFSjZZjkma$0KOj+;aQ&721~t7QUKx61J3(P4P1 zstI~7-wOACnWP4=8oGOwz%vNDqD8w&Q`qcNGGrbbf&0s9L0De{4{mRS?o0MU+nR_! zrvshUau0G^DeMhM_v{5BuLjb#Hh@r23lDAk8oF(C+P0rsBpv85EP>4CVMx#04MOfG z;P%vktHcXwTj~+IE(~px)3*MY77e}p#|c>TD?sMatC0Tu4iKKJ0(X8jxQY*gYtxsC z(zYC$g|@+I+kY;dg_dE>scBf&bP1Nc@Hz<3R)V`=AGkc;8CXqdi=B4l2k|g;2%#m& z*jfX^%b!A8#bI!j9-0Fi0bOXl(-c^AB9|nQaE`*)Hw+o&jS9@7&Gov#HbD~#d{twV zXd^Tr^mWLfFh$@Dr$e;PBEz4(-2q1FF0}c;~B5sA}+Q>TOoP+t>wf)V9Iy=5ruQa;z)y zI9C9*oUga6=hxw6QasLPnee@3^Rr*M{CdaL5=R41nLs(AHk_=Y+A9$2&H(B7!_pURs&8aNw7?`&Z&xY_Ye z)~D5Bog^td-^QbUtkTirdyK^mTHAOuptDflut!#^lnKqU md>ggs(5nOWAqO?umG&QVYK#ibz}*4>0000U6E9hRK9^#O7(mu>ETqrXGsduA8$)?`v2seloOCza43C{NQ$$gAOH**MCn0Q?+L7dl7qnbRdqZ8LSVp1ItDxhxD?t@5_yHg6A8yI zC*%Wgg22K|8E#!~cTNYR~@Y9KepMPrrB8cABapAFa=`H+UGhkXUZV1GnwR1*lPyZ;*K(i~2gp|@bzp8}og7e*#% zEnr|^CWdVV!-4*Y_7rFvlww2Ze+>j*!Z!pQ?2l->4q#nqRu9`ELo6RMS5=br47g_X zRw}P9a7RRYQ%2Vsd0Me{_(EggTnuN6j=-?uFS6j^u69elMypu?t>op*wBx<=Wx8?( ztpe^(fwM6jJX7M-l*k3kEpWOl_Vk3@(_w4oc}4YF4|Rt=2V^XU?#Yz`8(e?aZ@#li0n*=g^qOcVpd-Wbok=@b#Yw zqn8u9a)z>l(1kEaPYZ6hwubN6i<8QHgsu0oE) ziJ(p;Wxm>sf!K+cw>R-(^Y2_bahB+&KI9y^);#0qt}t-$C|Bo71lHi{_+lg#f%RFy z0um=e3$K3i6K{U_4K!EX?F&rExl^W|G8Z8;`5z-k}OGNZ0#WVb$WCpQu-_YsiqKP?BB# vzVHS-CTUF4Ozn5G+mq_~Qqto~ahA+K`|lyv3(-e}00000NkvXXu0mjfd`9t{ diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png deleted file mode 100644 index d0ef06e7edb86cdfe0d15b4b0d98334a86163658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1716 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 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png deleted file mode 100644 index c8f9ed8f5cee1c98386d13b17e89f719e83555b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1895 zcmV-t2blPYP)FQtfgmafE#=YDCq`qUBt#QpG%*H6QHY765~R=q zZ6iudfM}q!Pz#~9JgOi8QJ|DSu?1-*(kSi1K4#~5?#|rh?sS)(-JQqX*}ciXJ56_H zdw=^s_srbAdqxlvGyrgGet#6T7_|j;95sL%MtM;q86vOxKM$f#puR)Bjv9Zvz9-di zXOTSsZkM83)E9PYBXC<$6(|>lNLVBb&&6y{NByFCp%6+^ALR@NCTse_wqvNmSWI-m z!$%KlHFH2omF!>#%1l3LTZg(s7eof$7*xB)ZQ0h?ejh?Ta9fDv59+u#MokW+1t8Zb zgHv%K(u9G^Lv`lh#f3<6!JVTL3(dCpxHbnbA;kKqQyd1~^Xe0VIaYBSWm6nsr;dFj z4;G-RyL?cYgsN1{L4ZFFNa;8)Rv0fM0C(~Tkit94 zz#~A)59?QjD&pAPSEQ)p8gP|DS{ng)j=2ux)_EzzJ773GmQ_Cic%3JJhC0t2cx>|v zJcVusIB!%F90{+}8hG3QU4KNeKmK%T>mN57NnCZ^56=0?&3@!j>a>B43pi{!u z7JyDj7`6d)qVp^R=%j>UIY6f+3`+qzIc!Y_=+uN^3BYV|o+$vGo-j-Wm<10%A=(Yk^beI{t%ld@yhKjq0iNjqN4XMGgQtbKubPM$JWBz}YA65k%dm*awtC^+f;a-x4+ddbH^7iDWGg&N0n#MW{kA|=8iMUiFYvMoDY@sPC#t$55gn6ykUTPAr`a@!(;np824>2xJthS z*ZdmT`g5-`BuJs`0LVhz+D9NNa3<=6m;cQLaF?tCv8)zcRSh66*Z|vXhG@$I%U~2l z?`Q zykI#*+rQ=z6Jm=Bui-SfpDYLA=|vzGE(dYm=OC8XM&MDo7ux4UF1~0J1+i%aCUpRe zt3L_uNyQ*cE(38Uy03H%I*)*Bh=Lb^Xj3?I^Hnbeq72(EOK^Y93CNp*uAA{5Lc=ky zx=~RKa4{iTm{_>_vSCm?$Ej=i6@=m%@VvAITnigVg{&@!7CDgs908761meDK5azA} z4?=NOH|PdvabgJ&fW2{Mo$Q0CcD8Qc84%{JPYt5EiG{MdLIAeX%T=D7NIP4%Hw}p9 zg)==!2Lbp#j{u_}hMiao9=!VSyx0gHbeCS`;q&vzeq|fs`y&^X-lso(Ls@-706qmA z7u*T5PMo_w3{se1t2`zWeO^hOvTsohG_;>J0wVqVe+n)AbQCx)yh9;w+J6?NF5Lmo zecS@ieAKL8%bVd@+-KT{yI|S}O>pYckUFs;ry9Ow$CD@ztz5K-*D$^{i(_1llhSh^ zEkL$}tsQt5>QA^;QgjgIfBDmcOgi5YDyu?t6vSnbp=1+@6D& z5MJ}B8q;bRlVoxasyhcUF1+)o`&3r0colr}QJ3hcSdLu;9;td>kf@Tcn<@9sIx&=m z;AD;SCh95=&p;$r{Xz3iWCO^MX83AGJ(yH&eTXgv|0=34#-&WAmw{)U7OU9!Wz^!7 zZ%jZFi@JR;>Mhi7S>V7wQ176|FdW2m?&`qa(ScO^CFPR80HucLHOTy%5s*HR0^8)i h0WYBP*#0Ks^FNSabJA*5${_#%002ovPDHLkV1oKhTl@e3 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index a6d6b8609df07bf62e5100a53a01510388bd2b22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2665 zcmV-v3YPVWP)oFh3q0MFesq&64WThn3$;G69TfjsAv=f2G9}p zgSx99+!YV6qME!>9MD13x)k(+XE7W?_O4LoLb5ND8 zaV{9+P@>42xDfRiYBMSgD$0!vssptcb;&?u9u(LLBKmkZ>RMD=kvD3h`sk6!QYtBa ztlZI#nu$8lJ^q2Z79UTgZe>BU73(Aospiq+?SdMt8lDZ;*?@tyWVZVS_Q7S&*tJaiRlJ z+aSMOmbg3@h5}v;A*c8SbqM3icg-`Cnwl;7Ts%A1RkNIp+Txl-Ckkvg4oxrqGA5ewEgYqwtECD<_3Egu)xGllKt&J8g&+=ac@Jq4-?w6M3b*>w5 z69N3O%=I^6&UL5gZ!}trC7bUj*12xLdkNs~Bz4QdJJ*UDZox2UGR}SNg@lmOvhCc~ z*f_UeXv(=#I#*7>VZx2ObEN~UoGUTl=-@)E;YtCRZ>SVp$p9yG5hEFZ!`wI!spd)n zSk+vK0Vin7FL{7f&6OB%f;SH22dtbcF<|9fi2Fp%q4kxL!b1#l^)8dUwJ zwEf{(wJj@8iYDVnKB`eSU+;ml-t2`@%_)0jDM`+a46xhDbBj2+&Ih>1A>6aky#(-SYyE{R3f#y57wfLs z6w1p~$bp;6!9DX$M+J~S@D6vJAaElETnsX4h9a5tvPhC3L@qB~bOzkL@^z0k_hS{T4PF*TDrgdXp+dzsE? z>V|VR035Pl9n5&-RePFdS{7KAr2vPOqR9=M$vXA1Yy5>w;EsF`;OK{2pkn-kpp9Pw z)r;5JfJKKaT$4qCb{TaXHjb$QA{y0EYy*+b1XI;6Ah- zw13P)xT`>~eFoJC!>{2XL(a_#upp3gaR1#5+L(Jmzp4TBnx{~WHedpJ1ch8JFk~Sw z>F+gN+i+VD?gMXwcIhn8rz`>e>J^TI3E-MW>f}6R-pL}>WMOa0k#jN+`RyUVUC;#D zg|~oS^$6%wpF{^Qr+}X>0PKcr3Fc&>Z>uv@C);pwDs@2bZWhYP!rvGx?_|q{d`t<*XEb#=aOb=N+L@CVBGqImZf&+a zCQEa3$~@#kC);pasdG=f6tuIi0PO-y&tvX%>Mv=oY3U$nD zJ#gMegnQ46pq+3r=;zmgcG+zRc9D~c>z+jo9&D+`E6$LmyFqlmCYw;-Zooma{sR@~ z)_^|YL1&&@|GXo*pivH7k!msl+$Sew3%XJnxajt0K%3M6Bd&YFNy9}tWG^aovK2eX z1aL1%7;KRDrA@eG-Wr6w+;*H_VD~qLiVI`{_;>o)k`{8xa3EJT1O_>#iy_?va0eR? zDV=N%;Zjb%Z2s$@O>w@iqt!I}tLjGk!=p`D23I}N4Be@$(|iSA zf3Ih7b<{zqpDB4WF_5X1(peKe+rASze%u8eKLn#KKXt;UZ+Adf$_TO+vTqshLLJ5c z52HucO=lrNVae5XWOLm!V@n-ObU11!b+DN<$RuU+YsrBq*lYT;?AwJpmNKniF0Q1< zJCo>Q$=v$@&y=sj6{r!Y&y&`0$-I}S!H_~pI&2H8Z1C|BX4VgZ^-! zje3-;x0PBD!M`v*J_)rL^+$<1VJhH*2Fi~aA7s&@_rUHYJ9zD=M%4AFQ`}k8OC$9s XsPq=LnkwKG00000NkvXXu0mjfhAk5^ diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index 75b2d164a5a98e212cca15ea7bf2ab5de5108680..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3831 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 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png deleted file mode 100644 index c4df70d39da7941ef3f6dcb7f06a192d8dcb308d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1888 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 iW8Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png deleted file mode 100644 index 9da19eacad3b03bb08bbddbbf4ac48dd78b3d838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx0wlM}@Gt=>Zci7-kcv6Uzs@r-FtIZ-&5|)J Q1PU{Fy85}Sb4q9e0B4a5jsO4v diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/README.md deleted file mode 100644 index 89c2725..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Assets.xcassets/LaunchImage.imageset/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# Launch Screen Assets - -You can customize the launch screen with your own desired assets by replacing the image files in this directory. - -You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. \ No newline at end of file diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/LaunchScreen.storyboard b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index f2e259c..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/Main.storyboard b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/Main.storyboard deleted file mode 100644 index f3c2851..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Base.lproj/Main.storyboard +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Info.plist b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Info.plist deleted file mode 100644 index 2375046..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Info.plist +++ /dev/null @@ -1,49 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleDisplayName - Wyatt Clean Code - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - {{#snakeCase}}{{project_name}}{{/snakeCase}} - CFBundlePackageType - APPL - CFBundleShortVersionString - $(FLUTTER_BUILD_NAME) - CFBundleSignature - ???? - CFBundleVersion - $(FLUTTER_BUILD_NUMBER) - LSRequiresIPhoneOS - - UILaunchStoryboardName - LaunchScreen - UIMainStoryboardFile - Main - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UISupportedInterfaceOrientations~ipad - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight - - UIViewControllerBasedStatusBarAppearance - - CADisableMinimumFrameDurationOnPhone - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Runner-Bridging-Header.h b/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Runner-Bridging-Header.h deleted file mode 100644 index 308a2a5..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_ios}}ios{{/enable_ios}}/Runner/Runner-Bridging-Header.h +++ /dev/null @@ -1 +0,0 @@ -#import "GeneratedPluginRegistrant.h" diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/favicon.png b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/favicon.png deleted file mode 100644 index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-192.png b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-192.png deleted file mode 100644 index b749bfef07473333cf1dd31e9eed89862a5d52aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-512.png b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-512.png deleted file mode 100644 index 88cfd48dff1169879ba46840804b412fe02fefd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 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 diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-192.png b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76e525556d5d89141648c724331630325d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 zcmdT|`#%%j|KDb2V@0DPm$^(Lx5}lO%Yv(=e*7hl@QqKS50#~#^IQPxBmuh|i9sXnt4ch@VT0F7% zMtrs@KWIOo+QV@lSs66A>2pz6-`9Jk=0vv&u?)^F@HZ)-6HT=B7LF;rdj zskUyBfbojcX#CS>WrIWo9D=DIwcXM8=I5D{SGf$~=gh-$LwY?*)cD%38%sCc?5OsX z-XfkyL-1`VavZ?>(pI-xp-kYq=1hsnyP^TLb%0vKRSo^~r{x?ISLY1i7KjSp z*0h&jG(Rkkq2+G_6eS>n&6>&Xk+ngOMcYrk<8KrukQHzfx675^^s$~<@d$9X{VBbg z2Fd4Z%g`!-P}d#`?B4#S-9x*eNlOVRnDrn#jY@~$jfQ-~3Od;A;x-BI1BEDdvr`pI z#D)d)!2_`GiZOUu1crb!hqH=ezs0qk<_xDm_Kkw?r*?0C3|Io6>$!kyDl;eH=aqg$B zsH_|ZD?jP2dc=)|L>DZmGyYKa06~5?C2Lc0#D%62p(YS;%_DRCB1k(+eLGXVMe+=4 zkKiJ%!N6^mxqM=wq`0+yoE#VHF%R<{mMamR9o_1JH8jfnJ?NPLs$9U!9!dq8 z0B{dI2!M|sYGH&9TAY34OlpIsQ4i5bnbG>?cWwat1I13|r|_inLE?FS@Hxdxn_YZN z3jfUO*X9Q@?HZ>Q{W0z60!bbGh557XIKu1?)u|cf%go`pwo}CD=0tau-}t@R2OrSH zQzZr%JfYa`>2!g??76=GJ$%ECbQh7Q2wLRp9QoyiRHP7VE^>JHm>9EqR3<$Y=Z1K^SHuwxCy-5@z3 zVM{XNNm}yM*pRdLKp??+_2&!bp#`=(Lh1vR{~j%n;cJv~9lXeMv)@}Odta)RnK|6* zC+IVSWumLo%{6bLDpn)Gz>6r&;Qs0^+Sz_yx_KNz9Dlt^ax`4>;EWrIT#(lJ_40<= z750fHZ7hI{}%%5`;lwkI4<_FJw@!U^vW;igL0k+mK)-j zYuCK#mCDK3F|SC}tC2>m$ZCqNB7ac-0UFBJ|8RxmG@4a4qdjvMzzS&h9pQmu^x&*= zGvapd1#K%Da&)8f?<9WN`2H^qpd@{7In6DNM&916TRqtF4;3`R|Nhwbw=(4|^Io@T zIjoR?tB8d*sO>PX4vaIHF|W;WVl6L1JvSmStgnRQq zTX4(>1f^5QOAH{=18Q2Vc1JI{V=yOr7yZJf4Vpfo zeHXdhBe{PyY;)yF;=ycMW@Kb>t;yE>;f79~AlJ8k`xWucCxJfsXf2P72bAavWL1G#W z;o%kdH(mYCM{$~yw4({KatNGim49O2HY6O07$B`*K7}MvgI=4x=SKdKVb8C$eJseA$tmSFOztFd*3W`J`yIB_~}k%Sd_bPBK8LxH)?8#jM{^%J_0|L z!gFI|68)G}ex5`Xh{5pB%GtlJ{Z5em*e0sH+sU1UVl7<5%Bq+YrHWL7?X?3LBi1R@_)F-_OqI1Zv`L zb6^Lq#H^2@d_(Z4E6xA9Z4o3kvf78ZDz!5W1#Mp|E;rvJz&4qj2pXVxKB8Vg0}ek%4erou@QM&2t7Cn5GwYqy%{>jI z)4;3SAgqVi#b{kqX#$Mt6L8NhZYgonb7>+r#BHje)bvaZ2c0nAvrN3gez+dNXaV;A zmyR0z@9h4@6~rJik-=2M-T+d`t&@YWhsoP_XP-NsVO}wmo!nR~QVWU?nVlQjNfgcTzE-PkfIX5G z1?&MwaeuzhF=u)X%Vpg_e@>d2yZwxl6-r3OMqDn8_6m^4z3zG##cK0Fsgq8fcvmhu z{73jseR%X%$85H^jRAcrhd&k!i^xL9FrS7qw2$&gwAS8AfAk#g_E_tP;x66fS`Mn@SNVrcn_N;EQm z`Mt3Z%rw%hDqTH-s~6SrIL$hIPKL5^7ejkLTBr46;pHTQDdoErS(B>``t;+1+M zvU&Se9@T_BeK;A^p|n^krIR+6rH~BjvRIugf`&EuX9u69`9C?9ANVL8l(rY6#mu^i z=*5Q)-%o*tWl`#b8p*ZH0I}hn#gV%|jt6V_JanDGuekR*-wF`u;amTCpGG|1;4A5$ zYbHF{?G1vv5;8Ph5%kEW)t|am2_4ik!`7q{ymfHoe^Z99c|$;FAL+NbxE-_zheYbV z3hb0`uZGTsgA5TG(X|GVDSJyJxsyR7V5PS_WSnYgwc_D60m7u*x4b2D79r5UgtL18 zcCHWk+K6N1Pg2c;0#r-)XpwGX?|Iv)^CLWqwF=a}fXUSM?n6E;cCeW5ER^om#{)Jr zJR81pkK?VoFm@N-s%hd7@hBS0xuCD0-UDVLDDkl7Ck=BAj*^ps`393}AJ+Ruq@fl9 z%R(&?5Nc3lnEKGaYMLmRzKXow1+Gh|O-LG7XiNxkG^uyv zpAtLINwMK}IWK65hOw&O>~EJ}x@lDBtB`yKeV1%GtY4PzT%@~wa1VgZn7QRwc7C)_ zpEF~upeDRg_<#w=dLQ)E?AzXUQpbKXYxkp>;c@aOr6A|dHA?KaZkL0svwB^U#zmx0 zzW4^&G!w7YeRxt<9;d@8H=u(j{6+Uj5AuTluvZZD4b+#+6Rp?(yJ`BC9EW9!b&KdPvzJYe5l7 zMJ9aC@S;sA0{F0XyVY{}FzW0Vh)0mPf_BX82E+CD&)wf2!x@{RO~XBYu80TONl3e+ zA7W$ra6LcDW_j4s-`3tI^VhG*sa5lLc+V6ONf=hO@q4|p`CinYqk1Ko*MbZ6_M05k zSwSwkvu;`|I*_Vl=zPd|dVD0lh&Ha)CSJJvV{AEdF{^Kn_Yfsd!{Pc1GNgw}(^~%)jk5~0L~ms|Rez1fiK~s5t(p1ci5Gq$JC#^JrXf?8 z-Y-Zi_Hvi>oBzV8DSRG!7dm|%IlZg3^0{5~;>)8-+Nk&EhAd(}s^7%MuU}lphNW9Q zT)DPo(ob{tB7_?u;4-qGDo!sh&7gHaJfkh43QwL|bbFVi@+oy;i;M zM&CP^v~lx1U`pi9PmSr&Mc<%HAq0DGH?Ft95)WY`P?~7O z`O^Nr{Py9M#Ls4Y7OM?e%Y*Mvrme%=DwQaye^Qut_1pOMrg^!5u(f9p(D%MR%1K>% zRGw%=dYvw@)o}Fw@tOtPjz`45mfpn;OT&V(;z75J*<$52{sB65$gDjwX3Xa!x_wE- z!#RpwHM#WrO*|~f7z}(}o7US(+0FYLM}6de>gQdtPazXz?OcNv4R^oYLJ_BQOd_l172oSK$6!1r@g+B@0ofJ4*{>_AIxfe-#xp>(1 z@Y3Nfd>fmqvjL;?+DmZk*KsfXJf<%~(gcLwEez%>1c6XSboURUh&k=B)MS>6kw9bY z{7vdev7;A}5fy*ZE23DS{J?8at~xwVk`pEwP5^k?XMQ7u64;KmFJ#POzdG#np~F&H ze-BUh@g54)dsS%nkBb}+GuUEKU~pHcYIg4vSo$J(J|U36bs0Use+3A&IMcR%6@jv$ z=+QI+@wW@?iu}Hpyzlvj-EYeop{f65GX0O%>w#0t|V z1-svWk`hU~m`|O$kw5?Yn5UhI%9P-<45A(v0ld1n+%Ziq&TVpBcV9n}L9Tus-TI)f zd_(g+nYCDR@+wYNQm1GwxhUN4tGMLCzDzPqY$~`l<47{+l<{FZ$L6(>J)|}!bi<)| zE35dl{a2)&leQ@LlDxLQOfUDS`;+ZQ4ozrleQwaR-K|@9T{#hB5Z^t#8 zC-d_G;B4;F#8A2EBL58s$zF-=SCr`P#z zNCTnHF&|X@q>SkAoYu>&s9v@zCpv9lLSH-UZzfhJh`EZA{X#%nqw@@aW^vPcfQrlPs(qQxmC|4tp^&sHy!H!2FH5eC{M@g;ElWNzlb-+ zxpfc0m4<}L){4|RZ>KReag2j%Ot_UKkgpJN!7Y_y3;Ssz{9 z!K3isRtaFtQII5^6}cm9RZd5nTp9psk&u1C(BY`(_tolBwzV_@0F*m%3G%Y?2utyS zY`xM0iDRT)yTyYukFeGQ&W@ReM+ADG1xu@ruq&^GK35`+2r}b^V!m1(VgH|QhIPDE X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-512.png b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/index.html b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/index.html deleted file mode 100644 index 613d02c..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - {{#titleCase}}{{project_name}}{{/titleCase}} - - - - - - - - - - diff --git a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/manifest.json b/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/manifest.json deleted file mode 100644 index 0f04494..0000000 --- a/bricks/wyatt_clean_code/__brick__/{{#enable_web}}web{{/enable_web}}/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "{{#titleCase}}{{project_name}}{{/titleCase}}", - "short_name": "{{#titleCase}}{{project_name}}{{/titleCase}}", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "{{{description}}}", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/bricks/wyatt_clean_code/brick.yaml b/bricks/wyatt_clean_code/brick.yaml deleted file mode 100644 index 34f3765..0000000 --- a/bricks/wyatt_clean_code/brick.yaml +++ /dev/null @@ -1,52 +0,0 @@ -name: wyatt_clean_code -description: Create clean new Flutter project from scratch following Clean Code Architecture. - -# The following defines the version and build number for your brick. -# A version number is three numbers separated by dots, like 1.2.34 -# followed by an optional build number (separated by a +). -version: 0.1.0+1 - -# The following defines the environment for the current brick. -# It includes the version of mason that the brick requires. -environment: - mason: ">=0.1.0-dev.26 <0.1.0" - -# Variables specify dynamic values that your brick depends on. -# Zero or more variables can be specified for a given brick. -# Each variable has: -# * a type (string, number, boolean, enum, or array) -# * an optional short description -# * an optional default value -# * an optional list of default values (array only) -# * an optional prompt phrase used when asking for the variable -# * a list of values (enums only) -vars: - project_name: - type: string - description: The project name - default: app - prompt: "What is the project name?" - org_name: - type: string - description: The organization name - default: fr.wyattstudio.app - prompt: "What is the organization name?" - description: - type: string - description: A short project description - default: A new Wyatt Studio project. - prompt: "What is the project description?" - platforms: - type: array - description: Supported platforms - prompt: Which platforms would you like to support? - defaults: - - android - - ios - values: - - android - - ios - - web - - macos - - windows - - linux \ No newline at end of file diff --git a/bricks/wyatt_clean_code/hooks/post_gen.dart b/bricks/wyatt_clean_code/hooks/post_gen.dart deleted file mode 100644 index f6bc986..0000000 --- a/bricks/wyatt_clean_code/hooks/post_gen.dart +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'dart:io'; - -import 'package:mason/mason.dart'; - -Future run(HookContext context) async { - final workingDirectory = '${Directory.current.path}'; - final process = await Process.start( - 'make', - ['gen'], - workingDirectory: workingDirectory, - ); - await process.stdout.pipe(stdout); - -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/hooks/pre_gen.dart b/bricks/wyatt_clean_code/hooks/pre_gen.dart deleted file mode 100644 index 352be21..0000000 --- a/bricks/wyatt_clean_code/hooks/pre_gen.dart +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:mason/mason.dart'; - -void run(HookContext context) { - final platforms = context.vars['platforms']; - final enabled_platforms = { - 'enable_android': platforms?.contains('android') ?? false, - 'enable_ios': platforms?.contains('ios') ?? false, - 'enable_web': platforms?.contains('web') ?? false, - 'enable_macos': platforms?.contains('macos') ?? false, - 'enable_windows': platforms?.contains('windows') ?? false, - 'enable_linux': platforms?.contains('linux') ?? false, - }; - final features = context.vars['features']; - final enabled_features = { - 'enable_l10n': features?.contains('localization') ?? false, - 'enable_analysis': features?.contains('analysis') ?? false, - 'enable_freezed': features?.contains('freezed') ?? false, - 'enable_http': features?.contains('http') ?? false, - 'enable_router': features?.contains('router') ?? false, - 'enable_auth': features?.contains('authentication') ?? false, - 'enable_forms': features?.contains('forms') ?? false, - }; - context.vars = {...context.vars, ...enabled_platforms, ...enabled_features}; -} \ No newline at end of file diff --git a/bricks/wyatt_clean_code/hooks/pubspec.yaml b/bricks/wyatt_clean_code/hooks/pubspec.yaml deleted file mode 100644 index cd21d39..0000000 --- a/bricks/wyatt_clean_code/hooks/pubspec.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: hooks - -environment: - sdk: ">=2.17.0 <3.0.0" - -dependencies: - mason: any \ No newline at end of file diff --git a/bricks/wyatt_package/CHANGELOG.md b/bricks/wyatt_package/CHANGELOG.md deleted file mode 100644 index 445ee03..0000000 --- a/bricks/wyatt_package/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -# 0.1.0+1 - -- Initial release 🎉 diff --git a/bricks/wyatt_package/LICENSE b/bricks/wyatt_package/LICENSE deleted file mode 100644 index e72bfdd..0000000 --- a/bricks/wyatt_package/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/bricks/wyatt_package/README.md b/bricks/wyatt_package/README.md deleted file mode 100644 index e09867d..0000000 --- a/bricks/wyatt_package/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# Wyatt - Package - -[![Powered by Mason](https://img.shields.io/endpoint?url=https%3A%2F%2Ftinyurl.com%2Fmason-badge)](https://github.com/felangel/mason) - -A package generator following Wyatt Studio convention. See [wyatt-packages][1] repository for more infos. - -## Usage 🚀 - -```sh -mason make wyatt_package --package_name Analysis --description A new Wyatt package --flutter_only false -``` - -## Variables ✨ - -| variable | description | default | type | -| ------------------ | ---------------------------- | ------- | --------- | -| `package_name` | Package name (without wyatt prefix) | package | `string` | -| `description` | A short package description | A new Wyatt package | `string` | -| `flutter_only` | Should generate a plugin (Flutter only) or a package (Dart and Flutter) | false | `boolean` | - -## Prerequisite -No prerequisites needed. - -[1]: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/.gitignore b/bricks/wyatt_package/__brick__/.gitignore deleted file mode 100644 index e38f9b0..0000000 --- a/bricks/wyatt_package/__brick__/.gitignore +++ /dev/null @@ -1,133 +0,0 @@ -# Miscellaneous -*.class -*.lock -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/* - -# Visual Studio Code related -.classpath -.project -.settings/ -.vscode/* -!.vscode/settings.json -!.vscode/extensions.json - -# Flutter repo-specific -/bin/cache/ -/bin/mingit/ -/dev/benchmarks/mega_gallery/ -/dev/bots/.recipe_deps -/dev/bots/android_tools/ -/dev/docs/doc/ -/dev/docs/flutter.docs.zip -/dev/docs/lib/ -/dev/docs/pubspec.yaml -/dev/integration_tests/**/xcuserdata -/dev/integration_tests/**/Pods -/packages/flutter/coverage/ -version - -# packages file containing multi-root paths -.packages.generated - -# Flutter/Dart/Pub related -**/doc/api/ -**/ios/Flutter/.last_build_id -.dart_tool/ -.flutter-plugins -.flutter-plugins-dependencies -.packages -.pub-cache/ -.pub/ -build/ -flutter_*.png -linked_*.ds -unlinked.ds -unlinked_spec.ds -.fvm/ - -# Android related -**/android/**/gradle-wrapper.jar -**/android/.gradle -**/android/captures/ -**/android/gradlew -**/android/gradlew.bat -**/android/local.properties -**/android/**/GeneratedPluginRegistrant.java -**/android/key.properties -**/android/.idea/ -*.jks - -# iOS/XCode related -**/ios/**/*.mode1v3 -**/ios/**/*.mode2v3 -**/ios/**/*.moved-aside -**/ios/**/*.pbxuser -**/ios/**/*.perspectivev3 -**/ios/**/*sync/ -**/ios/**/.sconsign.dblite -**/ios/**/.tags* -**/ios/**/.vagrant/ -**/ios/**/DerivedData/ -**/ios/**/Icon? -**/ios/**/Pods/ -**/ios/**/.symlinks/ -**/ios/**/profile -**/ios/**/xcuserdata -**/ios/.generated/ -**/ios/Flutter/App.framework -**/ios/Flutter/Flutter.framework -**/ios/Flutter/Flutter.podspec -**/ios/Flutter/Generated.xcconfig -**/ios/Flutter/app.flx -**/ios/Flutter/app.zip -**/ios/Flutter/.last_build_id -**/ios/Flutter/flutter_assets/ -**/ios/Flutter/flutter_export_environment.sh -**/ios/ServiceDefinitions.json -**/ios/Runner/GeneratedPluginRegistrant.* - -# Coverage -coverage/ - -# Submodules -!pubspec.lock -packages/**/pubspec.lock - -# Web related -lib/generated_plugin_registrant.dart - -# Symbolication related -app.*.symbols - -# Obfuscation related -app.*.map.json - -# Exceptions to the above rules. -!**/ios/**/default.mode1v3 -!**/ios/**/default.mode2v3 -!**/ios/**/default.pbxuser -!**/ios/**/default.perspectivev3 -!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages -!/dev/ci/**/Gemfile.lock -!.vscode/extensions.json -!.vscode/launch.json -!.idea/codeStyles/ -!.idea/dictionaries/ -!.idea/runConfigurations/ - -# Omit committing pubspec.lock for library packages; see -# https://dart.dev/guides/libraries/private-files#pubspeclock. -pubspec.lock diff --git a/bricks/wyatt_package/__brick__/.vscode/extensions.json b/bricks/wyatt_package/__brick__/.vscode/extensions.json deleted file mode 100644 index 30cd223..0000000 --- a/bricks/wyatt_package/__brick__/.vscode/extensions.json +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2022 WYATT GROUP - * Please see the AUTHORS file for details. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -{ - "recommendations": [ - "psioniq.psi-header", - "blaugold.melos-code" - ] -} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/.vscode/launch.json b/bricks/wyatt_package/__brick__/.vscode/launch.json deleted file mode 100644 index a5f4f14..0000000 --- a/bricks/wyatt_package/__brick__/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch Example", - "request": "launch", - "type": "dart", - "cwd": "example/", - "program": "lib/main.dart", - "flutterMode": "debug" - }, - ] -} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/.vscode/settings.json b/bricks/wyatt_package/__brick__/.vscode/settings.json deleted file mode 100644 index 708f5ba..0000000 --- a/bricks/wyatt_package/__brick__/.vscode/settings.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "psi-header.changes-tracking": { - "isActive": true - }, - "psi-header.config": { - "blankLinesAfter": 1, - "forceToTop": true - }, - "psi-header.lang-config": [ - { - "beforeHeader": [ - "# -*- coding:utf-8 -*-", - "#!/usr/bin/env python3" - ], - "begin": "###", - "end": "###", - "language": "python", - "prefix": "# " - }, - { - "beforeHeader": [ - "#!/usr/bin/env sh", - "" - ], - "language": "shellscript", - "begin": "", - "end": "", - "prefix": "# " - }, - { - "begin": "", - "end": "", - "language": "dart", - "prefix": "// " - }, - { - "begin": "", - "end": "", - "language": "yaml", - "prefix": "# " - }, - { - "begin": "", - "language": "markdown", - }, - ], - "psi-header.templates": [ - { - "language": "*", - "template": [ - "Copyright (C) <> WYATT GROUP", - "Please see the AUTHORS file for details.", - "", - "This program is free software: you can redistribute it and/or modify", - "it under the terms of the GNU General Public License as published by", - "the Free Software Foundation, either version 3 of the License, or", - "any later version.", - "", - "This program is distributed in the hope that it will be useful,", - "but WITHOUT ANY WARRANTY; without even the implied warranty of", - "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", - "GNU General Public License for more details.", - "", - "You should have received a copy of the GNU General Public License", - "along with this program. If not, see ." - ], - } - ], - "dart.runPubGetOnPubspecChanges": false, -} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/AUTHORS b/bricks/wyatt_package/__brick__/AUTHORS deleted file mode 100644 index f950613..0000000 --- a/bricks/wyatt_package/__brick__/AUTHORS +++ /dev/null @@ -1,8 +0,0 @@ -# Below is a list of people and organizations that have contributed -# to this project. Names should be added to the list like so: -# -# Name/Organization - -Wyatt Group S.A.S -Hugo Pointcheval -Malo Léon \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/CHANGELOG.md b/bricks/wyatt_package/__brick__/CHANGELOG.md deleted file mode 100644 index 7ad72ac..0000000 --- a/bricks/wyatt_package/__brick__/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -# 0.0.1 - -- TODO: Describe initial release. diff --git a/bricks/wyatt_package/__brick__/LICENSE b/bricks/wyatt_package/__brick__/LICENSE deleted file mode 100644 index e72bfdd..0000000 --- a/bricks/wyatt_package/__brick__/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/README.md b/bricks/wyatt_package/__brick__/README.md deleted file mode 100644 index 7c8c457..0000000 --- a/bricks/wyatt_package/__brick__/README.md +++ /dev/null @@ -1,54 +0,0 @@ - - -{{#flutter_only}} -# Flutter - Wyatt {{#titleCase}}{{package_name}}{{/titleCase}} - - - -{{#titleCase}}{{package_name}}{{/titleCase}} for Flutter. -{{/flutter_only}} -{{^flutter_only}} -# Dart - Wyatt {{#titleCase}}{{package_name}}{{/titleCase}} - -

- - Style: Wyatt Analysis - - SDK: Dart & Flutter -

- -{{#titleCase}}{{package_name}}{{/titleCase}} for Dart & Flutter. -{{/flutter_only}} - -## Features - - - -## Getting started - - - -## Usage - - \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/analysis_options.yaml b/bricks/wyatt_package/__brick__/analysis_options.yaml deleted file mode 100644 index 569a59a..0000000 --- a/bricks/wyatt_package/__brick__/analysis_options.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright (C) {{year}} WYATT GROUP -# Please see the AUTHORS file for details. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -{{#flutter_only}} -include: package:wyatt_analysis/analysis_options.flutter.experimental.yaml -{{/flutter_only}} -{{^flutter_only}} -include: package:wyatt_analysis/analysis_options.yaml -{{/flutter_only}} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/example/lib/main.dart b/bricks/wyatt_package/__brick__/example/lib/main.dart deleted file mode 100644 index 9e0ee41..0000000 --- a/bricks/wyatt_package/__brick__/example/lib/main.dart +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -{{#flutter_only}} -import 'package:flutter/material.dart'; -{{/flutter_only}} -import 'package:wyatt_{{package_name.snakeCase()}}/wyatt_{{package_name.snakeCase()}}.dart'; - -{{#flutter_only}} -void main() { - runApp(const MyApp()); -} - -class MyApp extends StatelessWidget { - const MyApp({super.key}); - - // This widget is the root of your application. - @override - Widget build(BuildContext context) { - return MaterialApp( - title: '{{package_name.titleCase()}} Example', - theme: ThemeData( - primarySwatch: Colors.blue, - ), - home: Scaffold( - appBar: AppBar( - title: const Text('{{package_name.titleCase()}} Example'), - ), - body: Center(child: Text(wyatt())), - ), - ); - } -} -{{/flutter_only}} -{{^flutter_only}} -void main() { - print(wyatt()); -} -{{/flutter_only}} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/example/pubspec.yaml b/bricks/wyatt_package/__brick__/example/pubspec.yaml deleted file mode 100644 index 0c6fcae..0000000 --- a/bricks/wyatt_package/__brick__/example/pubspec.yaml +++ /dev/null @@ -1,92 +0,0 @@ -name: {{#snakeCase}}{{package_name}}{{/snakeCase}}_example -description: A new Flutter project. - -# The following line prevents the package from being accidentally published to -# pub.dev using `flutter pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev - -# The following defines the version and build number for your application. -# A version number is three numbers separated by dots, like 1.2.43 -# followed by an optional build number separated by a +. -# Both the version and the builder number may be overridden in flutter -# build by specifying --build-name and --build-number, respectively. -# In Android, build-name is used as versionName while build-number used as versionCode. -# Read more about Android versioning at https://developer.android.com/studio/publish/versioning -# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. -# Read more about iOS versioning at -# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.0.0+1 - -environment: - sdk: ">=2.17.0 <3.0.0" - -# Dependencies specify other packages that your package needs in order to work. -# To automatically upgrade your package dependencies to the latest versions -# consider running `flutter pub upgrade --major-versions`. Alternatively, -# dependencies can be manually updated by changing the version numbers below to -# the latest version available on pub.dev. To see which dependencies have newer -# versions available, run `flutter pub outdated`. -dependencies: - {{#flutter_only}} - flutter: - sdk: flutter - {{/flutter_only}} - - wyatt_{{#snakeCase}}{{package_name}}{{/snakeCase}}: - path: "../" - -dev_dependencies: - {{#flutter_only}} - flutter_test: - sdk: flutter - {{/flutter_only}} - - wyatt_analysis: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_analysis-v2.1.0 - path: packages/wyatt_analysis - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -{{#flutter_only}} -# The following section is specific to Flutter. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true - - # To add assets to your application, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages - - # To add custom fonts to your application, add a fonts section here, - # in this "flutter" section. Each entry in this list should have a - # "family" key with the font family name, and a "fonts" key with a - # list giving the asset and other descriptors for the font. For - # example: - # fonts: - # - family: Schyler - # fonts: - # - asset: fonts/Schyler-Regular.ttf - # - asset: fonts/Schyler-Italic.ttf - # style: italic - # - family: Trajan Pro - # fonts: - # - asset: fonts/TrajanPro.ttf - # - asset: fonts/TrajanPro_Bold.ttf - # weight: 700 - # - # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages -{{/flutter_only}} \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/example/test/widget_test.dart b/bricks/wyatt_package/__brick__/example/test/widget_test.dart deleted file mode 100644 index 437162e..0000000 --- a/bricks/wyatt_package/__brick__/example/test/widget_test.dart +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/example/web/favicon.png b/bricks/wyatt_package/__brick__/example/web/favicon.png deleted file mode 100644 index 8aaa46ac1ae21512746f852a42ba87e4165dfdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 917 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|I14-?iy0X7 zltGxWVyS%@P(fs7NJL45ua8x7ey(0(N`6wRUPW#JP&EUCO@$SZnVVXYs8ErclUHn2 zVXFjIVFhG^g!Ppaz)DK8ZIvQ?0~DO|i&7O#^-S~(l1AfjnEK zjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o z3raHc^AtelCMM;Vme?vOfh>Xph&xL%(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XKjo zGZknv$b36P8?Z_gF{nK@`XI}Z90TzwSQO}0J1!f2c(B=V`5aP@1P1a|PZ!4!3&Gl8 zTYqUsf!gYFyJnXpu0!n&N*SYAX-%d(5gVjrHJWqXQshj@!Zm{!01WsQrH~9=kTxW#6SvuapgMqt>$=j#%eyGrQzr zP{L-3gsMA^$I1&gsBAEL+vxi1*Igl=8#8`5?A-T5=z-sk46WA1IUT)AIZHx1rdUrf zVJrJn<74DDw`j)Ki#gt}mIT-Q`XRa2-jQXQoI%w`nb|XblvzK${ZzlV)m-XcwC(od z71_OEC5Bt9GEXosOXaPTYOia#R4ID2TiU~`zVMl08TV_C%DnU4^+HE>9(CE4D6?Fz oujB08i7adh9xk7*FX66dWH6F5TM;?E2b5PlUHx3vIVCg!0Dx9vYXATM diff --git a/bricks/wyatt_package/__brick__/example/web/icons/Icon-192.png b/bricks/wyatt_package/__brick__/example/web/icons/Icon-192.png deleted file mode 100644 index b749bfef07473333cf1dd31e9eed89862a5d52aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5292 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 diff --git a/bricks/wyatt_package/__brick__/example/web/icons/Icon-512.png b/bricks/wyatt_package/__brick__/example/web/icons/Icon-512.png deleted file mode 100644 index 88cfd48dff1169879ba46840804b412fe02fefd6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8252 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 diff --git a/bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-192.png b/bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-192.png deleted file mode 100644 index eb9b4d76e525556d5d89141648c724331630325d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5594 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 X>c!)3PgKfL&lX^$Z>Cpu&6)6jvi^Z! diff --git a/bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-512.png b/bricks/wyatt_package/__brick__/example/web/icons/Icon-maskable-512.png deleted file mode 100644 index d69c56691fbdb0b7efa65097c7cc1edac12a6d3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20998 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 MPgg&ebxsLQ025IeI{*Lx diff --git a/bricks/wyatt_package/__brick__/example/web/index.html b/bricks/wyatt_package/__brick__/example/web/index.html deleted file mode 100644 index 41b3bc3..0000000 --- a/bricks/wyatt_package/__brick__/example/web/index.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - example - - - - - - - - - - diff --git a/bricks/wyatt_package/__brick__/example/web/manifest.json b/bricks/wyatt_package/__brick__/example/web/manifest.json deleted file mode 100644 index 096edf8..0000000 --- a/bricks/wyatt_package/__brick__/example/web/manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "example", - "short_name": "example", - "start_url": ".", - "display": "standalone", - "background_color": "#0175C2", - "theme_color": "#0175C2", - "description": "A new Flutter project.", - "orientation": "portrait-primary", - "prefer_related_applications": false, - "icons": [ - { - "src": "icons/Icon-192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "icons/Icon-512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "icons/Icon-maskable-192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "icons/Icon-maskable-512.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} diff --git a/bricks/wyatt_package/__brick__/lib/src/package.dart b/bricks/wyatt_package/__brick__/lib/src/package.dart deleted file mode 100644 index f315c9c..0000000 --- a/bricks/wyatt_package/__brick__/lib/src/package.dart +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -String wyatt() => "wyatt_{{package_name.snakeCase()}}"; \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/lib/src/src.dart b/bricks/wyatt_package/__brick__/lib/src/src.dart deleted file mode 100644 index c5d6e28..0000000 --- a/bricks/wyatt_package/__brick__/lib/src/src.dart +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -export 'package.dart'; \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/lib/wyatt_{{package_name.snakeCase()}}.dart b/bricks/wyatt_package/__brick__/lib/wyatt_{{package_name.snakeCase()}}.dart deleted file mode 100644 index e271015..0000000 --- a/bricks/wyatt_package/__brick__/lib/wyatt_{{package_name.snakeCase()}}.dart +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -/// {{package_name.titleCase()}} -library wyatt_{{package_name.snakeCase()}}; - -export 'src/src.dart'; diff --git a/bricks/wyatt_package/__brick__/pubspec.yaml b/bricks/wyatt_package/__brick__/pubspec.yaml deleted file mode 100644 index 612f40b..0000000 --- a/bricks/wyatt_package/__brick__/pubspec.yaml +++ /dev/null @@ -1,26 +0,0 @@ -name: wyatt_{{#snakeCase}}{{package_name}}{{/snakeCase}} -description: {{description}} -repository: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages/src/branch/master/packages/wyatt_{{#snakeCase}}{{package_name}}{{/snakeCase}} -version: 0.0.1 - -environment: - sdk: '>=2.17.0 <3.0.0' - -dependencies: - {{#flutter_only}} - flutter: - sdk: flutter - {{/flutter_only}} - http: ^0.13.4 - -dev_dependencies: - {{#flutter_only}} - flutter_test: - sdk: flutter - {{/flutter_only}} - - wyatt_analysis: - git: - url: https://git.wyatt-studio.fr/Wyatt-FOSS/wyatt-packages - ref: wyatt_analysis-v2.1.0 - path: packages/wyatt_analysis \ No newline at end of file diff --git a/bricks/wyatt_package/__brick__/test/wyatt_{{package_name.snakeCase()}}_test.dart b/bricks/wyatt_package/__brick__/test/wyatt_{{package_name.snakeCase()}}_test.dart deleted file mode 100644 index 493adb1..0000000 --- a/bricks/wyatt_package/__brick__/test/wyatt_{{package_name.snakeCase()}}_test.dart +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (C) {{year}} WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -// TODO(wyatt): Add some tests \ No newline at end of file diff --git a/bricks/wyatt_package/brick.yaml b/bricks/wyatt_package/brick.yaml deleted file mode 100644 index 07f3cdd..0000000 --- a/bricks/wyatt_package/brick.yaml +++ /dev/null @@ -1,40 +0,0 @@ -name: wyatt_package -description: A package generator following Wyatt Studio convention. - -# The following defines the version and build number for your brick. -# A version number is three numbers separated by dots, like 1.2.34 -# followed by an optional build number (separated by a +). -version: 0.1.0+1 - -# The following defines the environment for the current brick. -# It includes the version of mason that the brick requires. -environment: - mason: ">=0.1.0-dev.26 <0.1.0" - -# Variables specify dynamic values that your brick depends on. -# Zero or more variables can be specified for a given brick. -# Each variable has: -# * a type (string, number, boolean, enum, or array) -# * an optional short description -# * an optional default value -# * an optional list of default values (array only) -# * an optional prompt phrase used when asking for the variable -# * a list of values (enums only) -vars: - package_name: - type: string - description: Package name (without wyatt prefix) - default: package - prompt: What is the package name ? - - description: - type: string - description: A short package description - default: A new Wyatt package - prompt: "What is the package description?" - - flutter_only: - type: boolean - description: Should generate a plugin (Flutter only) or a package (Dart and Flutter). - default: false - prompt: Should generate Flutter only plugin ? diff --git a/bricks/wyatt_package/hooks/pre_gen.dart b/bricks/wyatt_package/hooks/pre_gen.dart deleted file mode 100644 index eccf6d7..0000000 --- a/bricks/wyatt_package/hooks/pre_gen.dart +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (C) 2022 WYATT GROUP -// Please see the AUTHORS file for details. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -import 'package:mason/mason.dart'; - -void run(HookContext context) { - context.vars = {...context.vars, 'year': DateTime.now().year.toString()}; -} \ No newline at end of file diff --git a/bricks/wyatt_package/hooks/pubspec.yaml b/bricks/wyatt_package/hooks/pubspec.yaml deleted file mode 100644 index 77be56e..0000000 --- a/bricks/wyatt_package/hooks/pubspec.yaml +++ /dev/null @@ -1,7 +0,0 @@ -name: wyatt_package_hooks - -environment: - sdk: ">=2.17.0 <3.0.0" - -dependencies: - mason: any \ No newline at end of file diff --git a/mason.yaml b/mason.yaml index c62a7fd..62dd13f 100644 --- a/mason.yaml +++ b/mason.yaml @@ -1,10 +1,4 @@ bricks: - core_app_brick: - path: bricks/core_app_brick - wyatt_package: - path: bricks/wyatt_package - wyatt_clean_code: - path: bricks/wyatt_clean_code wyatt_feature_brick: path: bricks/wyatt_feature_brick wyatt_brick_template:

- - Style: Wyatt Analysis - - SDK: Flutter -