diff --git a/.gitignore b/.gitignore
index 28b7aa96c..dfadb621d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,33 +1,114 @@
-# See https://www.dartlang.org/guides/libraries/private-files
+# Miscellaneous
+*.class
+*.lock
+*.log
+*.pyc
+*.swp
+.DS_Store
+.atom/
+.buildlog/
+.history
+.svn/
+
+# IntelliJ related
+*.iml
+*.ipr
+*.iws
+.idea/
+
+# Fleet related
+.fleet/
+
+# Visual Studio Code related
+.classpath
+.project
+.settings/
+.vscode/
-# Files and directories created by pub
+# packages file containing multi-root paths
+.packages.generated
+
+# Flutter/Dart/Pub related
+# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
+**/pubspec.lock
+# https://melos.invertase.dev/configuration/overview#commandbootstrapusepubspecoverrides
+**/pubspec_overrides.yaml
+**/doc/api/
.dart_tool/
-.packages
-build/
-# If you're building an application, you may want to check-in your pubspec.lock
-pubspec.lock
+**/.flutter-plugins
+**/.flutter-plugins-dependencies
+**/generated_plugin_registrant.dart
+**/.packages
+**/.pub-cache/
+**/.pub/
+**/build/
+**/flutter_*.png
+**/linked_*.ds
+**/unlinked.ds
+**/unlinked_spec.ds
-# Directory created by dartdoc
-# If you don't generate documentation locally you can remove this line.
-doc/api/
+# Android related
+**/android/**/gradle-wrapper.jar
+.gradle/
+**/android/captures/
+**/android/gradlew
+**/android/gradlew.bat
+**/android/local.properties
+**/android/**/GeneratedPluginRegistrant.java
+**/android/key.properties
+*.jks
-# dotenv environment variables file
-.env*
+# 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/.last_build_id
+**/ios/Flutter/App.framework
+**/ios/Flutter/Flutter.framework
+**/ios/Flutter/Flutter.podspec
+**/ios/Flutter/Generated.xcconfig
+**/ios/Flutter/ephemeral
+**/ios/Flutter/app.flx
+**/ios/Flutter/app.zip
+**/ios/Flutter/flutter_assets/
+**/ios/Flutter/flutter_export_environment.sh
+**/ios/ServiceDefinitions.json
+**/ios/Runner/GeneratedPluginRegistrant.*
-# Avoid committing generated Javascript files:
-*.dart.js
-*.info.json # Produced by the --dump-info flag.
-*.js # When generated by dart2js. Don't specify *.js if your
- # project includes source files written in JavaScript.
-*.js_
-*.js.deps
-*.js.map
+# macOS
+**/Flutter/ephemeral/
+**/Pods/
+**/macos/Flutter/GeneratedPluginRegistrant.swift
+**/macos/Flutter/ephemeral
+**/xcuserdata/
-.flutter-plugins
-.flutter-plugins-dependencies
+# Windows
+**/windows/flutter/generated_plugin_registrant.cc
+**/windows/flutter/generated_plugin_registrant.h
-.env
+# Coverage
+coverage/
-.idea/
-*.iml
-*.lock
+# Symbols
+app.*.symbols
+
+# Exceptions to 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
\ No newline at end of file
diff --git a/.idea/.name b/.idea/.name
deleted file mode 100644
index a81a775ba..000000000
--- a/.idea/.name
+++ /dev/null
@@ -1 +0,0 @@
-stream_video_flutter
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 113f30b29..000000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations/melos_bootstrap.xml b/.idea/runConfigurations/melos_bootstrap.xml
deleted file mode 100644
index d5715306f..000000000
--- a/.idea/runConfigurations/melos_bootstrap.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_clean.xml b/.idea/runConfigurations/melos_clean.xml
deleted file mode 100644
index f45d43624..000000000
--- a/.idea/runConfigurations/melos_clean.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_analyze.xml b/.idea/runConfigurations/melos_run_analyze.xml
deleted file mode 100644
index 4287f1c5e..000000000
--- a/.idea/runConfigurations/melos_run_analyze.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_analyze_all.xml b/.idea/runConfigurations/melos_run_analyze_all.xml
deleted file mode 100644
index 30dfaa85d..000000000
--- a/.idea/runConfigurations/melos_run_analyze_all.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_clean_flutter.xml b/.idea/runConfigurations/melos_run_clean_flutter.xml
deleted file mode 100644
index 6595ed1c0..000000000
--- a/.idea/runConfigurations/melos_run_clean_flutter.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_coverage_ignore_file.xml b/.idea/runConfigurations/melos_run_coverage_ignore_file.xml
deleted file mode 100644
index 585fe1721..000000000
--- a/.idea/runConfigurations/melos_run_coverage_ignore_file.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_format.xml b/.idea/runConfigurations/melos_run_format.xml
deleted file mode 100644
index 04ba109fe..000000000
--- a/.idea/runConfigurations/melos_run_format.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_generate_all.xml b/.idea/runConfigurations/melos_run_generate_all.xml
deleted file mode 100644
index 57076749c..000000000
--- a/.idea/runConfigurations/melos_run_generate_all.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_generate_dart.xml b/.idea/runConfigurations/melos_run_generate_dart.xml
deleted file mode 100644
index 3f84c12fd..000000000
--- a/.idea/runConfigurations/melos_run_generate_dart.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_generate_flutter.xml b/.idea/runConfigurations/melos_run_generate_flutter.xml
deleted file mode 100644
index 2ffa7092c..000000000
--- a/.idea/runConfigurations/melos_run_generate_flutter.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_lint_all.xml b/.idea/runConfigurations/melos_run_lint_all.xml
deleted file mode 100644
index ad6581896..000000000
--- a/.idea/runConfigurations/melos_run_lint_all.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_lint_pub.xml b/.idea/runConfigurations/melos_run_lint_pub.xml
deleted file mode 100644
index 19ccf5f36..000000000
--- a/.idea/runConfigurations/melos_run_lint_pub.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_metrics.xml b/.idea/runConfigurations/melos_run_metrics.xml
deleted file mode 100644
index 3e62682ea..000000000
--- a/.idea/runConfigurations/melos_run_metrics.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_postclean.xml b/.idea/runConfigurations/melos_run_postclean.xml
deleted file mode 100644
index c73b4a2e9..000000000
--- a/.idea/runConfigurations/melos_run_postclean.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_test_all.xml b/.idea/runConfigurations/melos_run_test_all.xml
deleted file mode 100644
index 24a0d3b7b..000000000
--- a/.idea/runConfigurations/melos_run_test_all.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_test_dart.xml b/.idea/runConfigurations/melos_run_test_dart.xml
deleted file mode 100644
index c18e99de2..000000000
--- a/.idea/runConfigurations/melos_run_test_dart.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/.idea/runConfigurations/melos_run_test_flutter.xml b/.idea/runConfigurations/melos_run_test_flutter.xml
deleted file mode 100644
index beda0b0bb..000000000
--- a/.idea/runConfigurations/melos_run_test_flutter.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/all_lint_rules.yaml b/all_lint_rules.yaml
new file mode 100644
index 000000000..8ed068ac8
--- /dev/null
+++ b/all_lint_rules.yaml
@@ -0,0 +1,211 @@
+linter:
+ rules:
+ - always_declare_return_types
+ - always_put_control_body_on_new_line
+ - always_put_required_named_parameters_first
+ - always_require_non_null_named_parameters
+ - always_specify_types
+ - always_use_package_imports
+ - annotate_overrides
+ - avoid_annotating_with_dynamic
+ - avoid_bool_literals_in_conditional_expressions
+ - avoid_catches_without_on_clauses
+ - avoid_catching_errors
+ - avoid_classes_with_only_static_members
+ - avoid_double_and_int_checks
+ - avoid_dynamic_calls
+ - avoid_empty_else
+ - avoid_equals_and_hash_code_on_mutable_classes
+ - avoid_escaping_inner_quotes
+ - avoid_field_initializers_in_const_classes
+ - avoid_final_parameters
+ - avoid_function_literals_in_foreach_calls
+ - avoid_implementing_value_types
+ - avoid_init_to_null
+ - avoid_js_rounded_ints
+ - avoid_multiple_declarations_per_line
+ - avoid_null_checks_in_equality_operators
+ - avoid_positional_boolean_parameters
+ - avoid_print
+ - avoid_private_typedef_functions
+ - avoid_redundant_argument_values
+ - avoid_relative_lib_imports
+ - avoid_renaming_method_parameters
+ - avoid_return_types_on_setters
+ - avoid_returning_null
+ - avoid_returning_null_for_future
+ - avoid_returning_null_for_void
+ - avoid_returning_this
+ - avoid_setters_without_getters
+ - avoid_shadowing_type_parameters
+ - avoid_single_cascade_in_expression_statements
+ - avoid_slow_async_io
+ - avoid_type_to_string
+ - avoid_types_as_parameter_names
+ - avoid_types_on_closure_parameters
+ - avoid_unnecessary_containers
+ - avoid_unused_constructor_parameters
+ - avoid_void_async
+ - avoid_web_libraries_in_flutter
+ - await_only_futures
+ - camel_case_extensions
+ - camel_case_types
+ - cancel_subscriptions
+ - cascade_invocations
+ - cast_nullable_to_non_nullable
+ - close_sinks
+ - collection_methods_unrelated_type
+ - combinators_ordering
+ - comment_references
+ - conditional_uri_does_not_exist
+ - constant_identifier_names
+ - control_flow_in_finally
+ - curly_braces_in_flow_control_structures
+ - depend_on_referenced_packages
+ - deprecated_consistency
+ - diagnostic_describe_all_properties
+ - directives_ordering
+ - discarded_futures
+ - do_not_use_environment
+ - empty_catches
+ - empty_constructor_bodies
+ - empty_statements
+ - eol_at_end_of_file
+ - exhaustive_cases
+ - file_names
+ - flutter_style_todos
+ - hash_and_equals
+ - implementation_imports
+ - iterable_contains_unrelated_type
+ - join_return_with_assignment
+ - leading_newlines_in_multiline_strings
+ - library_names
+ - library_prefixes
+ - library_private_types_in_public_api
+ - lines_longer_than_80_chars
+ - list_remove_unrelated_type
+ - literal_only_boolean_expressions
+ - missing_whitespace_between_adjacent_strings
+ - no_adjacent_strings_in_list
+ - no_default_cases
+ - no_duplicate_case_values
+ - no_leading_underscores_for_library_prefixes
+ - no_leading_underscores_for_local_identifiers
+ - no_logic_in_create_state
+ - no_runtimeType_toString
+ - non_constant_identifier_names
+ - noop_primitive_operations
+ - null_check_on_nullable_type_parameter
+ - null_closures
+ - omit_local_variable_types
+ - one_member_abstracts
+ - only_throw_errors
+ - overridden_fields
+ - package_api_docs
+ - package_names
+ - package_prefixed_library_names
+ - parameter_assignments
+ - prefer_adjacent_string_concatenation
+ - prefer_asserts_in_initializer_lists
+ - prefer_asserts_with_message
+ - prefer_collection_literals
+ - prefer_conditional_assignment
+ - prefer_const_constructors
+ - prefer_const_constructors_in_immutables
+ - prefer_const_declarations
+ - prefer_const_literals_to_create_immutables
+ - prefer_constructors_over_static_methods
+ - prefer_contains
+ - prefer_double_quotes
+ - prefer_equal_for_default_values
+ - prefer_expression_function_bodies
+ - prefer_final_fields
+ - prefer_final_in_for_each
+ - prefer_final_locals
+ - prefer_final_parameters
+ - prefer_for_elements_to_map_fromIterable
+ - prefer_foreach
+ - prefer_function_declarations_over_variables
+ - prefer_generic_function_type_aliases
+ - prefer_if_elements_to_conditional_expressions
+ - prefer_if_null_operators
+ - prefer_initializing_formals
+ - prefer_inlined_adds
+ - prefer_int_literals
+ - prefer_interpolation_to_compose_strings
+ - prefer_is_empty
+ - prefer_is_not_empty
+ - prefer_is_not_operator
+ - prefer_iterable_whereType
+ - prefer_mixin
+ - prefer_null_aware_method_calls
+ - prefer_null_aware_operators
+ - prefer_relative_imports
+ - prefer_single_quotes
+ - prefer_spread_collections
+ - prefer_typing_uninitialized_variables
+ - prefer_void_to_null
+ - provide_deprecation_message
+ - public_member_api_docs
+ - recursive_getters
+ - require_trailing_commas
+ - secure_pubspec_urls
+ - sized_box_for_whitespace
+ - sized_box_shrink_expand
+ - slash_for_doc_comments
+ - sort_child_properties_last
+ - sort_constructors_first
+ - sort_pub_dependencies
+ - sort_unnamed_constructors_first
+ - test_types_in_equals
+ - throw_in_finally
+ - tighten_type_of_initializing_formals
+ - type_annotate_public_apis
+ - type_init_formals
+ - unawaited_futures
+ - unnecessary_await_in_return
+ - unnecessary_brace_in_string_interps
+ - unnecessary_const
+ - unnecessary_constructor_name
+ - unnecessary_final
+ - unnecessary_getters_setters
+ - unnecessary_lambdas
+ - unnecessary_late
+ - unnecessary_new
+ - unnecessary_null_aware_assignments
+ - unnecessary_null_aware_operator_on_extension_on_nullable
+ - unnecessary_null_checks
+ - unnecessary_null_in_if_null_operators
+ - unnecessary_nullable_for_final_variable_declarations
+ - unnecessary_overrides
+ - unnecessary_parenthesis
+ - unnecessary_raw_strings
+ - unnecessary_statements
+ - unnecessary_string_escapes
+ - unnecessary_string_interpolations
+ - unnecessary_this
+ - unnecessary_to_list_in_spreads
+ - unreachable_from_main
+ - unrelated_type_equality_checks
+ - unsafe_html
+ - use_build_context_synchronously
+ - use_colored_box
+ - use_decorated_box
+ - use_enums
+ - use_full_hex_values_for_flutter_colors
+ - use_function_type_syntax_for_parameters
+ - use_if_null_to_convert_nulls_to_bools
+ - use_is_even_rather_than_modulo
+ - use_key_in_widget_constructors
+ - use_late_for_private_fields_and_variables
+ - use_named_constants
+ - use_raw_strings
+ - use_rethrow_when_possible
+ - use_setters_to_change_properties
+ - use_string_buffers
+ - use_string_in_part_of_directives
+ - use_super_parameters
+ - use_test_throws_matchers
+ - use_to_and_as_if_applicable
+ - valid_regexps
+ - void_checks
\ No newline at end of file
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 1f023dccd..d401238fd 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,185 +1,90 @@
+include: all_lint_rules.yaml
+
analyzer:
- plugins:
- - dart_code_metrics
+ language:
+ strict-casts: false
+ strict-inference: true
+ strict-raw-types: true
+ errors:
+ # Otherwise cause the import of all_lint_rules to warn because of some rules conflicts.
+ # We explicitly enabled even conflicting rules and are fixing the conflict
+ # in this file.
+ included_file_warning: ignore
exclude:
- - packages/*/lib/**/*.pb.dart
- - packages/*/lib/**/*.pbenum.dart
- - packages/*/lib/**/*.pbjson.dart
- - packages/*/lib/**/*.pbserver.dart
- - packages/*/lib/**/*.pbtwirp.dart
- - packages/*/lib/**/*.g.dart
- - packages/*/lib/**/*.freezed.dart
+ # exclude all the generated files
+ - packages/*/lib/**/*.*.dart
+
linter:
rules:
- # these rules are documented on and in the same order as
- # the Dart Lint rules page to make maintenance easier
- # https://github.com/dart-lang/linter/blob/master/example/all.yaml
- - always_use_package_imports
- - avoid_empty_else
- - avoid_relative_lib_imports
- - avoid_slow_async_io
- - avoid_types_as_parameter_names
- - cancel_subscriptions
- - close_sinks
- - control_flow_in_finally
- - empty_statements
- - hash_and_equals
- - invariant_booleans
- - iterable_contains_unrelated_type
- - list_remove_unrelated_type
- - literal_only_boolean_expressions
- - no_adjacent_strings_in_list
- - no_duplicate_case_values
- - no_logic_in_create_state
- - prefer_void_to_null
- - test_types_in_equals
- - throw_in_finally
- - unnecessary_statements
- - unrelated_type_equality_checks
- - omit_local_variable_types
- - use_key_in_widget_constructors
- - valid_regexps
- - always_declare_return_types
- - always_require_non_null_named_parameters
- - annotate_overrides
- - avoid_bool_literals_in_conditional_expressions
- - avoid_catching_errors
- - avoid_init_to_null
- - avoid_null_checks_in_equality_operators
- - avoid_positional_boolean_parameters
- - avoid_private_typedef_functions
- - avoid_redundant_argument_values
- - avoid_return_types_on_setters
- - avoid_returning_null_for_void
- - avoid_shadowing_type_parameters
- - avoid_single_cascade_in_expression_statements
- - avoid_unnecessary_containers
- - avoid_unused_constructor_parameters
- - await_only_futures
- - camel_case_extensions
- - camel_case_types
- - cascade_invocations
-
- - constant_identifier_names
- - curly_braces_in_flow_control_structures
- - directives_ordering
- - empty_catches
- - empty_constructor_bodies
- - exhaustive_cases
- - file_names
- - implementation_imports
- - join_return_with_assignment
- - leading_newlines_in_multiline_strings
- - library_names
- - library_prefixes
- - lines_longer_than_80_chars
- - missing_whitespace_between_adjacent_strings
- - non_constant_identifier_names
- - null_closures
- - one_member_abstracts
- - only_throw_errors
- - package_api_docs
- - package_prefixed_library_names
- - parameter_assignments
- - prefer_adjacent_string_concatenation
- - prefer_asserts_in_initializer_lists
- - prefer_asserts_with_message
- - prefer_collection_literals
- - prefer_conditional_assignment
- - prefer_const_constructors
- - prefer_const_constructors_in_immutables
- - prefer_const_declarations
- - prefer_const_literals_to_create_immutables
- - prefer_constructors_over_static_methods
- - prefer_contains
- - prefer_equal_for_default_values
- - prefer_final_fields
- - prefer_final_in_for_each
- - prefer_final_locals
- - prefer_function_declarations_over_variables
- - prefer_generic_function_type_aliases
- - prefer_if_elements_to_conditional_expressions
- - prefer_if_null_operators
- - prefer_initializing_formals
- - prefer_inlined_adds
- - prefer_int_literals
- - prefer_interpolation_to_compose_strings
- - prefer_is_empty
- - prefer_is_not_empty
- - prefer_is_not_operator
- - prefer_null_aware_operators
- - prefer_single_quotes
- - prefer_spread_collections
- - prefer_typing_uninitialized_variables
- - provide_deprecation_message
- - public_member_api_docs
- - recursive_getters
- - sized_box_for_whitespace
- - slash_for_doc_comments
- - sort_child_properties_last
- - sort_constructors_first
- - sort_unnamed_constructors_first
-
- - type_annotate_public_apis
- - type_init_formals
- - unnecessary_await_in_return
- - unnecessary_brace_in_string_interps
- - unnecessary_const
- - unnecessary_getters_setters
- - unnecessary_lambdas
- - unnecessary_new
- - unnecessary_null_aware_assignments
- - unnecessary_null_in_if_null_operators
- - unnecessary_nullable_for_final_variable_declarations
- - unnecessary_parenthesis
- - unnecessary_raw_strings
- - unnecessary_string_escapes
- - unnecessary_string_interpolations
- - unnecessary_this
- - use_is_even_rather_than_modulo
- - use_late_for_private_fields_and_variables
- - use_rethrow_when_possible
- - use_setters_to_change_properties
- - use_to_and_as_if_applicable
- - package_names
- - sort_pub_dependencies
-
- - cast_nullable_to_non_nullable
- - unnecessary_null_checks
- - tighten_type_of_initializing_formals
- - null_check_on_nullable_type_parameter
-
- - conditional_uri_does_not_exist
- - secure_pubspec_urls
- - sized_box_shrink_expand
- - unnecessary_constructor_name
- - unnecessary_late
- - use_colored_box
- - use_decorated_box
- - use_enums
- - use_super_parameters
- - avoid_escaping_inner_quotes
- - unnecessary_overrides
- - prefer_null_aware_method_calls
- - use_named_constants
- - use_raw_strings
-
-# https://dartcodemetrics.dev/docs/getting-started/introduction
-dart_code_metrics:
- rules:
- # Dart Specific
- - binary-expression-operand-order
- - double-literal-format
- - no-boolean-literal-compare
- - no-equal-then-else
- - no-empty-block:
- exclude:
- - packages/*/test/**
- - prefer-trailing-comma:
- exclude:
- - packages/*/test/**
-
- # Flutter specific
- - always-remove-listener
- - avoid-unnecessary-setstate
\ No newline at end of file
+ ## Disabled rules because the repository doesn't respect them (yet)
+ avoid_setters_without_getters: false
+ discarded_futures: false
+
+ #############
+
+ # TODO: re-enable documentation rule and fix issues.
+ public_member_api_docs: false
+
+ always_put_control_body_on_new_line: false
+
+ # Does not always make code more readable.
+ cascade_invocations: false
+
+ # Conflicts with `prefer_single_quotes`
+ # Single quotes are easier to type and don't compromise on readability.
+ prefer_double_quotes: false
+
+ # Conflicts with `omit_local_variable_types` and other rules.
+ # As per Dart guidelines, we want to avoid unnecessary types to make the code
+ # more readable.
+ # See https://dart.dev/guides/language/effective-dart/design#avoid-type-annotating-initialized-local-variables
+ always_specify_types: false
+
+ # Incompatible with `prefer_final_locals`
+ # Having immutable local variables makes larger functions more predictable,
+ # so we will use `prefer_final_locals` instead.
+ unnecessary_final: false
+
+ # Not quite suitable for Flutter, which may have a `build` method with a single
+ # return, but that return is still complex enough that a "body" is worth it.
+ prefer_expression_function_bodies: false
+
+ # Conflicts with the convention used by flutter, which puts `Key key`
+ # and `@required Widget child` last.
+ always_put_required_named_parameters_first: false
+
+ # `as` is not that bad (especially with the upcoming non-nullable types).
+ # Explicit exceptions is better than implicit exceptions.
+ avoid_as: false
+
+ # This project doesn't use Flutter-style todos
+ flutter_style_todos: false
+
+ # There are situations where we voluntarily want to catch everything,
+ # especially as a library.
+ avoid_catches_without_on_clauses: false
+
+ # Boring as it sometimes force a line of 81 characters to be split in two.
+ # As long as we try to respect that 80 characters limit, going slightly
+ # above is fine.
+ lines_longer_than_80_chars: false
+
+ # Conflicts with disabling `implicit-dynamic`
+ avoid_annotating_with_dynamic: false
+
+ # conflicts with `prefer_relative_imports`
+ always_use_package_imports: false
+
+ # False positive, null checks don't need a message
+ prefer_asserts_with_message: false
+
+ # Cumbersome with `context.select`
+ avoid_types_on_closure_parameters: false
+
+ # Too many false positive (builders)
+ diagnostic_describe_all_properties: false
+
+ # Not a common style and would add a lot of verbosity to function signature.
+ # 'parameter_assignments' already enforces this to an extent.
+ prefer_final_parameters: false
\ No newline at end of file
diff --git a/dogfooding/.gitignore b/dogfooding/.gitignore
deleted file mode 100644
index 24476c5d1..000000000
--- a/dogfooding/.gitignore
+++ /dev/null
@@ -1,44 +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/
-
-# 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/dogfooding/analysis_options.yaml b/dogfooding/analysis_options.yaml
deleted file mode 100644
index 61b6c4de1..000000000
--- a/dogfooding/analysis_options.yaml
+++ /dev/null
@@ -1,29 +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 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
diff --git a/dogfooding/android/.gitignore b/dogfooding/android/.gitignore
deleted file mode 100644
index 6f568019d..000000000
--- a/dogfooding/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/dogfooding/ios/.gitignore b/dogfooding/ios/.gitignore
deleted file mode 100644
index 7a7f9873a..000000000
--- a/dogfooding/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/dogfooding/ios/Podfile.lock b/dogfooding/ios/Podfile.lock
deleted file mode 100644
index eb8241b93..000000000
--- a/dogfooding/ios/Podfile.lock
+++ /dev/null
@@ -1,123 +0,0 @@
-PODS:
- - AppAuth (1.6.0):
- - AppAuth/Core (= 1.6.0)
- - AppAuth/ExternalUserAgent (= 1.6.0)
- - AppAuth/Core (1.6.0)
- - AppAuth/ExternalUserAgent (1.6.0):
- - AppAuth/Core
- - Firebase/Auth (10.2.0):
- - Firebase/CoreOnly
- - FirebaseAuth (~> 10.2.0)
- - Firebase/CoreOnly (10.2.0):
- - FirebaseCore (= 10.2.0)
- - firebase_auth (4.1.4):
- - Firebase/Auth (= 10.2.0)
- - firebase_core
- - Flutter
- - firebase_core (2.3.0):
- - Firebase/CoreOnly (= 10.2.0)
- - Flutter
- - FirebaseAuth (10.2.0):
- - FirebaseCore (~> 10.0)
- - GoogleUtilities/AppDelegateSwizzler (~> 7.8)
- - GoogleUtilities/Environment (~> 7.8)
- - GTMSessionFetcher/Core (< 4.0, >= 2.1)
- - FirebaseCore (10.2.0):
- - FirebaseCoreInternal (~> 10.0)
- - GoogleUtilities/Environment (~> 7.8)
- - GoogleUtilities/Logger (~> 7.8)
- - FirebaseCoreInternal (10.2.0):
- - "GoogleUtilities/NSData+zlib (~> 7.8)"
- - Flutter (1.0.0)
- - flutter_webrtc (0.9.17):
- - Flutter
- - WebRTC-SDK (= 104.5112.07)
- - google_sign_in_ios (0.0.1):
- - Flutter
- - GoogleSignIn (~> 6.2)
- - GoogleSignIn (6.2.4):
- - AppAuth (~> 1.5)
- - GTMAppAuth (~> 1.3)
- - GTMSessionFetcher/Core (< 3.0, >= 1.1)
- - GoogleUtilities/AppDelegateSwizzler (7.10.0):
- - GoogleUtilities/Environment
- - GoogleUtilities/Logger
- - GoogleUtilities/Network
- - GoogleUtilities/Environment (7.10.0):
- - PromisesObjC (< 3.0, >= 1.2)
- - GoogleUtilities/Logger (7.10.0):
- - GoogleUtilities/Environment
- - GoogleUtilities/Network (7.10.0):
- - GoogleUtilities/Logger
- - "GoogleUtilities/NSData+zlib"
- - GoogleUtilities/Reachability
- - "GoogleUtilities/NSData+zlib (7.10.0)"
- - GoogleUtilities/Reachability (7.10.0):
- - GoogleUtilities/Logger
- - GTMAppAuth (1.3.1):
- - AppAuth/Core (~> 1.6)
- - GTMSessionFetcher/Core (< 3.0, >= 1.5)
- - GTMSessionFetcher/Core (2.3.0)
- - path_provider_ios (0.0.1):
- - Flutter
- - PromisesObjC (2.1.1)
- - WebRTC-SDK (104.5112.07)
-
-DEPENDENCIES:
- - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`)
- - firebase_core (from `.symlinks/plugins/firebase_core/ios`)
- - Flutter (from `Flutter`)
- - flutter_webrtc (from `.symlinks/plugins/flutter_webrtc/ios`)
- - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/ios`)
- - path_provider_ios (from `.symlinks/plugins/path_provider_ios/ios`)
-
-SPEC REPOS:
- trunk:
- - AppAuth
- - Firebase
- - FirebaseAuth
- - FirebaseCore
- - FirebaseCoreInternal
- - GoogleSignIn
- - GoogleUtilities
- - GTMAppAuth
- - GTMSessionFetcher
- - PromisesObjC
- - WebRTC-SDK
-
-EXTERNAL SOURCES:
- firebase_auth:
- :path: ".symlinks/plugins/firebase_auth/ios"
- firebase_core:
- :path: ".symlinks/plugins/firebase_core/ios"
- Flutter:
- :path: Flutter
- flutter_webrtc:
- :path: ".symlinks/plugins/flutter_webrtc/ios"
- google_sign_in_ios:
- :path: ".symlinks/plugins/google_sign_in_ios/ios"
- path_provider_ios:
- :path: ".symlinks/plugins/path_provider_ios/ios"
-
-SPEC CHECKSUMS:
- AppAuth: 8fca6b5563a5baef2c04bee27538025e4ceb2add
- Firebase: a3ea7eba4382afd83808376edb99acdaff078dcf
- firebase_auth: 2e7181850b75b99cdf7eccffa35def8f7704b905
- firebase_core: db1432de826785171029b7c1a26e5b22ce1dd477
- FirebaseAuth: 08e7739244eeae5216d0a3f8d9f16a76be9c252e
- FirebaseCore: 813838072b797b64f529f3c2ee35e696e5641dd1
- FirebaseCoreInternal: 091bde13e47bb1c5e9fe397634f3593dc390430f
- Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
- flutter_webrtc: 6767eafaa728c1e58026e901ca19f3fd5d713397
- google_sign_in_ios: 4f85eb9f937450765c8573bb85fd8cd6a5af675c
- GoogleSignIn: 5651ce3a61e56ca864160e79b484cd9ed3f49b7a
- GoogleUtilities: bad72cb363809015b1f7f19beb1f1cd23c589f95
- GTMAppAuth: 0ff230db599948a9ad7470ca667337803b3fc4dd
- GTMSessionFetcher: 3a63d75eecd6aa32c2fc79f578064e1214dfdec2
- path_provider_ios: 14f3d2fd28c4fdb42f44e0f751d12861c43cee02
- PromisesObjC: ab77feca74fa2823e7af4249b8326368e61014cb
- WebRTC-SDK: ef83f71e443c135d98de109940343bcf6d313e8f
-
-PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
-
-COCOAPODS: 1.11.3
diff --git a/dogfooding/linux/.gitignore b/dogfooding/linux/.gitignore
deleted file mode 100644
index d3896c984..000000000
--- a/dogfooding/linux/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-flutter/ephemeral
diff --git a/dogfooding/macos/.gitignore b/dogfooding/macos/.gitignore
deleted file mode 100644
index 746adbb6b..000000000
--- a/dogfooding/macos/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-# Flutter-related
-**/Flutter/ephemeral/
-**/Pods/
-
-# Xcode-related
-**/dgph
-**/xcuserdata/
diff --git a/dogfooding/macos/Flutter/GeneratedPluginRegistrant.swift b/dogfooding/macos/Flutter/GeneratedPluginRegistrant.swift
deleted file mode 100644
index c0ee6a604..000000000
--- a/dogfooding/macos/Flutter/GeneratedPluginRegistrant.swift
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-import FlutterMacOS
-import Foundation
-
-import firebase_auth
-import firebase_core
-import flutter_webrtc
-import path_provider_macos
-
-func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
- FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin"))
- FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
- FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin"))
- PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
-}
diff --git a/dogfooding/pubspec.yaml b/dogfooding/pubspec.yaml
index c79b76cd5..a7db22520 100644
--- a/dogfooding/pubspec.yaml
+++ b/dogfooding/pubspec.yaml
@@ -24,7 +24,6 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
- flutter_lints: ^2.0.0
# The following section is specific to Flutter packages.
flutter:
diff --git a/dogfooding/windows/.gitignore b/dogfooding/windows/.gitignore
deleted file mode 100644
index d492d0d98..000000000
--- a/dogfooding/windows/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-flutter/ephemeral/
-
-# Visual Studio user-specific files.
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-
-# Visual Studio build-related files.
-x64/
-x86/
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!*.[Cc]ache/
diff --git a/dogfooding/windows/flutter/generated_plugin_registrant.cc b/dogfooding/windows/flutter/generated_plugin_registrant.cc
deleted file mode 100644
index e8559e4a0..000000000
--- a/dogfooding/windows/flutter/generated_plugin_registrant.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#include "generated_plugin_registrant.h"
-
-#include
-
-void RegisterPlugins(flutter::PluginRegistry* registry) {
- FlutterWebRTCPluginRegisterWithRegistrar(
- registry->GetRegistrarForPlugin("FlutterWebRTCPlugin"));
-}
diff --git a/dogfooding/windows/flutter/generated_plugin_registrant.h b/dogfooding/windows/flutter/generated_plugin_registrant.h
deleted file mode 100644
index dc139d85a..000000000
--- a/dogfooding/windows/flutter/generated_plugin_registrant.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#ifndef GENERATED_PLUGIN_REGISTRANT_
-#define GENERATED_PLUGIN_REGISTRANT_
-
-#include
-
-// Registers Flutter plugins.
-void RegisterPlugins(flutter::PluginRegistry* registry);
-
-#endif // GENERATED_PLUGIN_REGISTRANT_
diff --git a/melos.yaml b/melos.yaml
index e63285b73..994d0d3e9 100644
--- a/melos.yaml
+++ b/melos.yaml
@@ -8,6 +8,10 @@ packages:
- dogfooding
- packages/**
+command:
+ bootstrap:
+ usePubspecOverrides: true
+
scripts:
postclean:
run: melos run clean:flutter --no-select
diff --git a/melos_stream_video_flutter.iml b/melos_stream_video_flutter.iml
deleted file mode 100644
index 8bf66670b..000000000
--- a/melos_stream_video_flutter.iml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/stream_video/.gitignore b/packages/stream_video/.gitignore
deleted file mode 100644
index 3c8a15727..000000000
--- a/packages/stream_video/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-# Files and directories created by pub.
-.dart_tool/
-.packages
-
-# Conventional directory for build output.
-build/
diff --git a/packages/stream_video/lib/version.g.dart b/packages/stream_video/lib/version.g.dart
new file mode 100644
index 000000000..13b030614
--- /dev/null
+++ b/packages/stream_video/lib/version.g.dart
@@ -0,0 +1,3 @@
+// This file is generated. Do not manually edit.
+/// Current package version.
+String streamVideoVersion = '1.0.0';
diff --git a/packages/stream_video/melos_stream_video.iml b/packages/stream_video/melos_stream_video.iml
deleted file mode 100644
index 9c9fbeb94..000000000
--- a/packages/stream_video/melos_stream_video.iml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/packages/stream_video/pubspec.yaml b/packages/stream_video/pubspec.yaml
index 2a71dcf7e..853b932a9 100644
--- a/packages/stream_video/pubspec.yaml
+++ b/packages/stream_video/pubspec.yaml
@@ -25,6 +25,5 @@ dependencies:
rate_limiter: ^1.0.0
dev_dependencies:
- dart_code_metrics: ^4.4.0
flutter_test:
sdk: flutter
\ No newline at end of file
diff --git a/packages/stream_video_flutter/.gitignore b/packages/stream_video_flutter/.gitignore
deleted file mode 100644
index 746d6016e..000000000
--- a/packages/stream_video_flutter/.gitignore
+++ /dev/null
@@ -1,85 +0,0 @@
-# Miscellaneous
-*.class
-*.log
-*.pyc
-*.swp
-.DS_Store
-.atom/
-.buildlog/
-.history
-.svn/
-
-# 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/
-.dart_tool/
-.flutter-plugins
-.flutter-plugins-dependencies
-.packages
-.pub-cache/
-.pub/
-build/
-
-# Android related
-**/android/**/gradle-wrapper.jar
-**/.gradle
-**/android/captures/
-**/android/gradlew
-**/android/gradlew.bat
-**/local.properties
-**/android/**/GeneratedPluginRegistrant.java
-
-# 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/ephemeral
-**/ios/Flutter/app.flx
-**/ios/Flutter/app.zip
-**/ios/Flutter/flutter_assets/
-**/ios/Flutter/flutter_export_environment.sh
-**/ios/ServiceDefinitions.json
-**/ios/Runner/GeneratedPluginRegistrant.*
-
-# Exceptions to above rules.
-!**/ios/**/default.mode1v3
-!**/ios/**/default.mode2v3
-!**/ios/**/default.pbxuser
-!**/ios/**/default.perspectivev3
-
-# VS Code
-.vscode/
-*.code-workspace
-
-# Windows
-_build
-
-# FVM
-.fvm/
\ No newline at end of file
diff --git a/packages/stream_video_flutter/analysis_options.yaml b/packages/stream_video_flutter/analysis_options.yaml
deleted file mode 100644
index a5744c1cf..000000000
--- a/packages/stream_video_flutter/analysis_options.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-include: package:flutter_lints/flutter.yaml
-
-# Additional information about this file can be found at
-# https://dart.dev/guides/language/analysis-options
diff --git a/packages/stream_video_flutter/example/.gitignore b/packages/stream_video_flutter/example/.gitignore
deleted file mode 100644
index 24476c5d1..000000000
--- a/packages/stream_video_flutter/example/.gitignore
+++ /dev/null
@@ -1,44 +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/
-
-# 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/packages/stream_video_flutter/example/analysis_options.yaml b/packages/stream_video_flutter/example/analysis_options.yaml
deleted file mode 100644
index 61b6c4de1..000000000
--- a/packages/stream_video_flutter/example/analysis_options.yaml
+++ /dev/null
@@ -1,29 +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 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
diff --git a/packages/stream_video_flutter/example/android/.gitignore b/packages/stream_video_flutter/example/android/.gitignore
deleted file mode 100644
index 6f568019d..000000000
--- a/packages/stream_video_flutter/example/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/packages/stream_video_flutter/example/ios/.gitignore b/packages/stream_video_flutter/example/ios/.gitignore
deleted file mode 100644
index 7a7f9873a..000000000
--- a/packages/stream_video_flutter/example/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/packages/stream_video_flutter/example/ios/Podfile b/packages/stream_video_flutter/example/ios/Podfile
new file mode 100644
index 000000000..88359b225
--- /dev/null
+++ b/packages/stream_video_flutter/example/ios/Podfile
@@ -0,0 +1,41 @@
+# Uncomment this line to define a global platform for your project
+# platform :ios, '11.0'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+ use_modular_headers!
+
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_ios_build_settings(target)
+ end
+end
diff --git a/packages/stream_video_flutter/example/linux/.gitignore b/packages/stream_video_flutter/example/linux/.gitignore
deleted file mode 100644
index d3896c984..000000000
--- a/packages/stream_video_flutter/example/linux/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-flutter/ephemeral
diff --git a/packages/stream_video_flutter/example/macos/.gitignore b/packages/stream_video_flutter/example/macos/.gitignore
deleted file mode 100644
index 746adbb6b..000000000
--- a/packages/stream_video_flutter/example/macos/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-# Flutter-related
-**/Flutter/ephemeral/
-**/Pods/
-
-# Xcode-related
-**/dgph
-**/xcuserdata/
diff --git a/packages/stream_video_flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/stream_video_flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift
deleted file mode 100644
index 2d2c6677f..000000000
--- a/packages/stream_video_flutter/example/macos/Flutter/GeneratedPluginRegistrant.swift
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-import FlutterMacOS
-import Foundation
-
-import flutter_webrtc
-import path_provider_macos
-
-func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
- FlutterWebRTCPlugin.register(with: registry.registrar(forPlugin: "FlutterWebRTCPlugin"))
- PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
-}
diff --git a/packages/stream_video_flutter/example/macos/Podfile b/packages/stream_video_flutter/example/macos/Podfile
new file mode 100644
index 000000000..dade8dfad
--- /dev/null
+++ b/packages/stream_video_flutter/example/macos/Podfile
@@ -0,0 +1,40 @@
+platform :osx, '10.11'
+
+# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
+ENV['COCOAPODS_DISABLE_STATS'] = 'true'
+
+project 'Runner', {
+ 'Debug' => :debug,
+ 'Profile' => :release,
+ 'Release' => :release,
+}
+
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'ephemeral', 'Flutter-Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure \"flutter pub get\" is executed first"
+ end
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Flutter-Generated.xcconfig, then run \"flutter pub get\""
+end
+
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_macos_podfile_setup
+
+target 'Runner' do
+ use_frameworks!
+ use_modular_headers!
+
+ flutter_install_all_macos_pods File.dirname(File.realpath(__FILE__))
+end
+
+post_install do |installer|
+ installer.pods_project.targets.each do |target|
+ flutter_additional_macos_build_settings(target)
+ end
+end
diff --git a/packages/stream_video_flutter/example/pubspec.yaml b/packages/stream_video_flutter/example/pubspec.yaml
index c42981be4..772eb4927 100644
--- a/packages/stream_video_flutter/example/pubspec.yaml
+++ b/packages/stream_video_flutter/example/pubspec.yaml
@@ -47,13 +47,6 @@ 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: ^2.0.0
-
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
diff --git a/packages/stream_video_flutter/example/windows/.gitignore b/packages/stream_video_flutter/example/windows/.gitignore
deleted file mode 100644
index d492d0d98..000000000
--- a/packages/stream_video_flutter/example/windows/.gitignore
+++ /dev/null
@@ -1,17 +0,0 @@
-flutter/ephemeral/
-
-# Visual Studio user-specific files.
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-
-# Visual Studio build-related files.
-x64/
-x86/
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!*.[Cc]ache/
diff --git a/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.cc b/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.cc
deleted file mode 100644
index e8559e4a0..000000000
--- a/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.cc
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#include "generated_plugin_registrant.h"
-
-#include
-
-void RegisterPlugins(flutter::PluginRegistry* registry) {
- FlutterWebRTCPluginRegisterWithRegistrar(
- registry->GetRegistrarForPlugin("FlutterWebRTCPlugin"));
-}
diff --git a/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.h b/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.h
deleted file mode 100644
index dc139d85a..000000000
--- a/packages/stream_video_flutter/example/windows/flutter/generated_plugin_registrant.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Generated file. Do not edit.
-//
-
-// clang-format off
-
-#ifndef GENERATED_PLUGIN_REGISTRANT_
-#define GENERATED_PLUGIN_REGISTRANT_
-
-#include
-
-// Registers Flutter plugins.
-void RegisterPlugins(flutter::PluginRegistry* registry);
-
-#endif // GENERATED_PLUGIN_REGISTRANT_
diff --git a/packages/stream_video_flutter/pubspec.yaml b/packages/stream_video_flutter/pubspec.yaml
index 28b4faace..b4fcdfe0a 100644
--- a/packages/stream_video_flutter/pubspec.yaml
+++ b/packages/stream_video_flutter/pubspec.yaml
@@ -20,7 +20,6 @@ dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
- flutter_lints: ^2.0.0
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec