diff --git a/.github/workflows/flutter.yaml b/.github/workflows/flutter.yaml index 63e9e9e..7f0e84f 100644 --- a/.github/workflows/flutter.yaml +++ b/.github/workflows/flutter.yaml @@ -1,27 +1,14 @@ -name: CI +name: Iconica Standard Component CI Workflow +# Workflow Caller version: 2.0.0 on: - push: - branches: [master, develop] pull_request: + workflow_dispatch: jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: | - ~/.gradle/wrapper - /opt/hostedtoolcache/flutter - key: ${{ runner.OS }}-flutter-install-cache - - uses: subosito/flutter-action@v2 - with: - channel: 'stable' - - name: Project preparation - run: flutter pub get - - name: Dart format - run: dart format -o none --set-exit-if-changed . - - name: Flutter analyze - run: flutter analyze + call-global-iconica-workflow: + uses: Iconica-Development/.github/.github/workflows/component-ci.yml@master + secrets: inherit + permissions: write-all + with: + subfolder: '.' # add optional subfolder to run workflow in \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml index 61b6c4d..4adea75 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -5,25 +5,7 @@ # 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 apps, -# packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml 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 + rules: \ No newline at end of file diff --git a/example/analysis_options.yaml b/example/analysis_options.yaml index 933b8e7..f16eead 100644 --- a/example/analysis_options.yaml +++ b/example/analysis_options.yaml @@ -1,207 +1,4 @@ -# 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 apps, -# packages, and plugins designed to encourage good coding practices. include: package:flutter_lints/flutter.yaml 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: - always_use_package_imports: true - avoid_dynamic_calls: true - avoid_empty_else: true - avoid_print: true - avoid_relative_lib_imports: true - avoid_returning_null_for_future: true - avoid_slow_async_io: true - avoid_type_to_string: true - avoid_types_as_parameter_names: true - avoid_web_libraries_in_flutter: true - cancel_subscriptions: true - close_sinks: true - comment_references: false - control_flow_in_finally: true - diagnostic_describe_all_properties: false - empty_statements: true - hash_and_equals: true - list_remove_unrelated_type: true - literal_only_boolean_expressions: true - no_adjacent_strings_in_list: true - no_duplicate_case_values: true - no_logic_in_create_state: true - prefer_void_to_null: true - test_types_in_equals: true - throw_in_finally: true - unnecessary_statements: true - unrelated_type_equality_checks: true - use_build_context_synchronously: true - use_key_in_widget_constructors: true - valid_regexps: true - always_declare_return_types: true - always_put_control_body_on_new_line: true - always_put_required_named_parameters_first: true - always_require_non_null_named_parameters: true - always_specify_types: false - annotate_overrides: true - avoid_annotating_with_dynamic: false - avoid_bool_literals_in_conditional_expressions: true - avoid_catches_without_on_clauses: false - avoid_catching_errors: false - avoid_classes_with_only_static_members: true - avoid_double_and_int_checks: true - avoid_equals_and_hash_code_on_mutable_classes: false - avoid_escaping_inner_quotes: false - avoid_field_initializers_in_const_classes: true - avoid_function_literals_in_foreach_calls: true - avoid_implementing_value_types: true - avoid_init_to_null: true - avoid_multiple_declarations_per_line: true - avoid_null_checks_in_equality_operators: true - avoid_private_typedef_functions: true - avoid_renaming_method_parameters: true - avoid_return_types_on_setters: true - avoid_returning_null: true - avoid_returning_null_for_void: true - avoid_returning_this: true - avoid_shadowing_type_parameters: true - avoid_single_cascade_in_expression_statements: true - avoid_types_on_closure_parameters: false - avoid_unnecessary_containers: false - avoid_unused_constructor_parameters: true - avoid_void_async: true - await_only_futures: true - camel_case_extensions: true - camel_case_types: true - cascade_invocations: true - cast_nullable_to_non_nullable: true - constant_identifier_names: true - curly_braces_in_flow_control_structures: true - deprecated_consistency: true - directives_ordering: true - do_not_use_environment: true - empty_catches: true - empty_constructor_bodies: true - eol_at_end_of_file: true - exhaustive_cases: true - file_names: true - flutter_style_todos: true - implementation_imports: true - join_return_with_assignment: true - leading_newlines_in_multiline_strings: true - library_names: true - library_prefixes: true - library_private_types_in_public_api: true - lines_longer_than_80_chars: true - missing_whitespace_between_adjacent_strings: true - no_default_cases: true - non_constant_identifier_names: true - noop_primitive_operations: true - null_check_on_nullable_type_parameter: true - null_closures: true - omit_local_variable_types: true - one_member_abstracts: true - only_throw_errors: true - overridden_fields: true - package_api_docs: true - package_prefixed_library_names: true - parameter_assignments: true - prefer_adjacent_string_concatenation: true - prefer_asserts_in_initializer_lists: true - prefer_asserts_with_message: true - prefer_collection_literals: true - prefer_conditional_assignment: true - prefer_const_constructors: false - prefer_const_constructors_in_immutables: true - prefer_const_declarations: false - prefer_const_literals_to_create_immutables: false - prefer_constructors_over_static_methods: true - prefer_contains: true - prefer_double_quotes: false - prefer_equal_for_default_values: true - prefer_expression_function_bodies: false - prefer_final_fields: true - prefer_final_in_for_each: false - prefer_final_locals: false - prefer_final_parameters: false - prefer_for_elements_to_map_fromIterable: true - prefer_foreach: true - prefer_function_declarations_over_variables: true - prefer_generic_function_type_aliases: true - prefer_if_elements_to_conditional_expressions: true - prefer_if_null_operators: true - prefer_initializing_formals: true - prefer_inlined_adds: true - prefer_int_literals: false - prefer_interpolation_to_compose_strings: true - prefer_is_empty: true - prefer_is_not_empty: true - prefer_is_not_operator: true - prefer_iterable_whereType: true - prefer_mixin: true - prefer_null_aware_method_calls: true - prefer_null_aware_operators: true - prefer_single_quotes: true - prefer_spread_collections: true - prefer_typing_uninitialized_variables: true - public_member_api_docs: false - recursive_getters: true - require_trailing_commas: true - sized_box_for_whitespace: true - slash_for_doc_comments: true - sort_child_properties_last: true - sort_constructors_first: true - sort_unnamed_constructors_first: true - tighten_type_of_initializing_formals: true - type_annotate_public_apis: true - type_init_formals: true - unawaited_futures: true - unnecessary_await_in_return: true - unnecessary_brace_in_string_interps: true - unnecessary_const: false - unnecessary_constructor_name: true - unnecessary_final: true - unnecessary_getters_setters: true - unnecessary_lambdas: true - unnecessary_new: true - unnecessary_null_aware_assignments: true - unnecessary_null_checks: true - unnecessary_null_in_if_null_operators: true - unnecessary_nullable_for_final_variable_declarations: true - unnecessary_overrides: true - unnecessary_parenthesis: true - unnecessary_raw_strings: true - unnecessary_string_escapes: true - unnecessary_string_interpolations: true - unnecessary_this: true - use_full_hex_values_for_flutter_colors: true - use_function_type_syntax_for_parameters: true - use_if_null_to_convert_nulls_to_bools: true - use_is_even_rather_than_modulo: true - use_late_for_private_fields_and_variables: true - use_named_constants: true - use_raw_strings: false - use_rethrow_when_possible: true - use_setters_to_change_properties: true - use_string_buffers: true - use_test_throws_matchers: true - use_to_and_as_if_applicable: true - void_checks: true - - -# Additional information about this file can be found at -# https://dart.dev/guides/language/analysis-options + rules: \ No newline at end of file diff --git a/example/lib/main.dart b/example/lib/main.dart index 12e59f9..477ff7a 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -3,7 +3,7 @@ import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart' show rootBundle; -import 'package:google_track_trace/google_track_trace.dart'; +import 'package:flutter_google_track_and_trace/google_track_trace.dart'; class TrackTraceDemo extends StatefulWidget { const TrackTraceDemo({Key? key}) : super(key: key); @@ -77,15 +77,15 @@ class _TrackTraceDemoState extends State { ], ), startPosition: Marker( - markerId: MarkerId('Start locatie'), - anchor: Offset(0.5, 0.5), - position: LatLng(52.356057, 4.897540), + markerId: const MarkerId('Start locatie'), + anchor: const Offset(0.5, 0.5), + position: const LatLng(52.356057, 4.897540), icon: startMarkerIcon ?? BitmapDescriptor.defaultMarker, ), destinationPosition: Marker( - markerId: MarkerId('Bestemming Locatie'), - anchor: Offset(0.5, 0.5), - position: LatLng(52.364709, 4.877157), + markerId: const MarkerId('Bestemming Locatie'), + anchor: const Offset(0.5, 0.5), + position: const LatLng(52.364709, 4.877157), icon: destinationMarkerIcon ?? BitmapDescriptor.defaultMarker, ), buildingsEnabled: false, @@ -93,7 +93,7 @@ class _TrackTraceDemoState extends State { travelMode: TravelMode.walking, mapType: MapType.normal, indoorViewEnabled: false, - routeUpdateInterval: Duration(seconds: 30), + routeUpdateInterval: const Duration(seconds: 30), timerPrecision: TimePrecision.everySecond, zoomGesturesEnabled: true, scrollGesturesEnabled: true, @@ -138,20 +138,20 @@ class _TrackTraceDemoState extends State { addBorder: true, borderColor: Colors.grey, title: 'Alex', - titleBackgroundColor: Color(0xffff7884), + titleBackgroundColor: const Color(0xffff7884), ); startMarkerIcon = bitmap; var bitmapDescriptor = await BitmapDescriptor.fromAssetImage( - ImageConfiguration(size: Size(100, 100)), + const ImageConfiguration(size: Size(100, 100)), 'assets/ic_location_on.png', ); setState(() { destinationMarkerIcon = bitmapDescriptor; controller?.end = Marker( - anchor: Offset(0.5, 0.5), - markerId: MarkerId('Bestemming Locatie'), - position: LatLng(52.364709, 4.877157), + anchor: const Offset(0.5, 0.5), + markerId: const MarkerId('Bestemming Locatie'), + position: const LatLng(52.364709, 4.877157), icon: bitmapDescriptor, ); }); @@ -177,7 +177,7 @@ class _TrackTraceDemoState extends State { controller!.route!.line.length > 1) { controller!.start = Marker( markerId: const MarkerId('Start Locatie'), - anchor: Offset(0.5, 0.5), + anchor: const Offset(0.5, 0.5), position: LatLng( controller!.route!.line[step].latitude, controller!.route!.line[step].longitude, diff --git a/example/pubspec.lock b/example/pubspec.lock index fccdc4e..7ce5fe4 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -5,10 +5,10 @@ packages: dependency: transitive description: name: async - sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.11.0" boolean_selector: dependency: transitive description: @@ -21,10 +21,10 @@ packages: dependency: transitive description: name: characters - sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.3.0" clock: dependency: transitive description: @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 url: "https://pub.dev" source: hosted - version: "1.17.0" + version: "1.17.2" csslib: dependency: transitive description: @@ -49,14 +49,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.17.2" - cupertino_icons: - dependency: "direct main" - description: - name: cupertino_icons - sha256: e35129dc44c9118cee2a5603506d823bab99c68393879edb440e0090d07586be - url: "https://pub.dev" - source: hosted - version: "1.0.5" fake_async: dependency: transitive description: @@ -70,6 +62,13 @@ packages: description: flutter source: sdk version: "0.0.0" + flutter_google_track_and_trace: + dependency: "direct main" + description: + path: ".." + relative: true + source: path + version: "2.0.0" flutter_lints: dependency: "direct dev" description: @@ -152,13 +151,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.3.3" - google_track_trace: - dependency: "direct main" - description: - path: ".." - relative: true - source: path - version: "1.1.0" html: dependency: transitive description: @@ -211,34 +203,34 @@ packages: dependency: transitive description: name: matcher - sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" url: "https://pub.dev" source: hosted - version: "0.12.13" + version: "0.12.16" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" url: "https://pub.dev" source: hosted - version: "0.2.0" + version: "0.5.0" meta: dependency: transitive description: name: meta - sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.9.1" path: dependency: transitive description: name: path - sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" url: "https://pub.dev" source: hosted - version: "1.8.2" + version: "1.8.3" plugin_platform_interface: dependency: transitive description: @@ -264,10 +256,10 @@ packages: dependency: transitive description: name: source_span - sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" url: "https://pub.dev" source: hosted - version: "1.9.1" + version: "1.10.0" stack_trace: dependency: transitive description: @@ -312,10 +304,10 @@ packages: dependency: transitive description: name: test_api - sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8" url: "https://pub.dev" source: hosted - version: "0.4.16" + version: "0.6.0" typed_data: dependency: transitive description: @@ -332,6 +324,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10 + url: "https://pub.dev" + source: hosted + version: "0.1.4-beta" sdks: - dart: ">=2.18.0 <3.0.0" + dart: ">=3.1.0-185.0.dev <4.0.0" flutter: ">=3.0.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 1006ee4..462d44e 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,92 +1,29 @@ name: tracktrace_example description: Demonstrates how to use the track_trace plugin. -# 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 +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.12.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: sdk: flutter - - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.2 - google_track_trace: + flutter_google_track_and_trace: path: ../ dev_dependencies: flutter_test: sdk: flutter - # The "flutter_lints" 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. flutter_lints: ^1.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec -# 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: - - 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 + - assets/ \ No newline at end of file diff --git a/lib/google_track_trace.dart b/lib/google_track_trace.dart index 6a44405..9bd7573 100644 --- a/lib/google_track_trace.dart +++ b/lib/google_track_trace.dart @@ -1,4 +1,4 @@ -library google_track_trace; +library flutter_google_track_and_trace; import 'dart:async'; import 'dart:convert'; diff --git a/lib/src/controller.dart b/lib/src/controller.dart index 91828f7..2bb68dc 100644 --- a/lib/src/controller.dart +++ b/lib/src/controller.dart @@ -1,4 +1,4 @@ -part of google_track_trace; +part of flutter_google_track_and_trace; class TrackTraceController extends ChangeNotifier { TrackTraceController(Marker start, Marker destination) diff --git a/lib/src/directions_repository.dart b/lib/src/directions_repository.dart index aaffa2d..07c0e5e 100644 --- a/lib/src/directions_repository.dart +++ b/lib/src/directions_repository.dart @@ -1,4 +1,4 @@ -part of google_track_trace; +part of flutter_google_track_and_trace; enum TravelMode { driving, walking, bicycling, transit } diff --git a/lib/src/google_map.dart b/lib/src/google_map.dart index 5f13483..12bb468 100644 --- a/lib/src/google_map.dart +++ b/lib/src/google_map.dart @@ -1,4 +1,4 @@ -part of google_track_trace; +part of flutter_google_track_and_trace; enum TimePrecision { updateOnly, everySecond, everyMinute } diff --git a/lib/src/google_map_theme.dart b/lib/src/google_map_theme.dart index d490046..be4ba6f 100644 --- a/lib/src/google_map_theme.dart +++ b/lib/src/google_map_theme.dart @@ -1,4 +1,4 @@ -part of google_track_trace; +part of flutter_google_track_and_trace; /// Styling object for the Google maps Style /// diff --git a/lib/src/marker_generator.dart b/lib/src/marker_generator.dart index 375b4e9..bb3bb10 100644 --- a/lib/src/marker_generator.dart +++ b/lib/src/marker_generator.dart @@ -1,4 +1,4 @@ -part of google_track_trace; +part of flutter_google_track_and_trace; Future convertBytesToCustomBitmapDescriptor( Uint8List image, { diff --git a/pubspec.yaml b/pubspec.yaml index 95e94f7..18935b6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ -name: google_track_trace -description: An Iconica Flutter pluginin for Track & Trace Package -version: 1.1.0 +name: flutter_google_track_and_trace +description: An Iconica Flutter plugin for Track & Trace Package +version: 2.0.0 environment: sdk: ">=2.14.0 <3.0.0" @@ -19,42 +19,4 @@ dev_dependencies: sdk: flutter flutter_lints: ^1.0.0 -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. -flutter: - # plugin: - # platforms: - # android: - # ios: - # To add assets to your package, add an assets section, like this: - # assets: - # - images/a_dot_burr.jpeg - # - images/a_dot_ham.jpeg - # - # For details regarding assets in packages, see - # https://flutter.dev/assets-and-images/#from-packages - # - # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware. - - # To add custom fonts to your package, 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 in packages, see - # https://flutter.dev/custom-fonts/#from-packages +flutter: \ No newline at end of file