From 8d5a139e7c57f971aa4e3cce79660115022b1248 Mon Sep 17 00:00:00 2001 From: Arjen <4867268+atezet@users.noreply.github.com> Date: Thu, 29 Aug 2024 10:28:03 +0200 Subject: [PATCH] Run precommit --- .../lib/src/rust/api/minimal.dart | 2 +- .../lib/src/rust/frb_generated.dart | 2 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../dart_build_rs/rust/src/frb_generated.rs | 6 +- .../lib/src/rust/api/minimal.dart | 2 +- .../lib/src/rust/frb_generated.dart | 2 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../dart_minimal/rust/src/frb_generated.rs | 6 +- .../lib/src/rust/api/simple.dart | 2 +- .../lib/src/rust/frb_generated.dart | 2 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../deliberate_bad/rust/src/frb_generated.rs | 6 +- frb_example/flutter_package/.metadata | 26 +- frb_example/flutter_package/README.md | 4 +- .../flutter_package/cargokit/.gitignore | 4 - frb_example/flutter_package/cargokit/LICENSE | 42 -- frb_example/flutter_package/cargokit/README | 11 - .../flutter_package/cargokit/build_pod.sh | 58 --- .../cargokit/build_tool/README.md | 5 - .../cargokit/build_tool/analysis_options.yaml | 34 -- .../cargokit/build_tool/bin/build_tool.dart | 8 - .../cargokit/build_tool/lib/build_tool.dart | 8 - .../lib/src/android_environment.dart | 195 -------- .../lib/src/artifacts_provider.dart | 266 ---------- .../build_tool/lib/src/build_cmake.dart | 40 -- .../build_tool/lib/src/build_gradle.dart | 49 -- .../build_tool/lib/src/build_pod.dart | 89 ---- .../build_tool/lib/src/build_tool.dart | 271 ----------- .../cargokit/build_tool/lib/src/builder.dart | 198 -------- .../cargokit/build_tool/lib/src/cargo.dart | 48 -- .../build_tool/lib/src/crate_hash.dart | 124 ----- .../build_tool/lib/src/environment.dart | 68 --- .../cargokit/build_tool/lib/src/logging.dart | 52 -- .../cargokit/build_tool/lib/src/options.dart | 309 ------------ .../lib/src/precompile_binaries.dart | 202 -------- .../cargokit/build_tool/lib/src/rustup.dart | 136 ------ .../cargokit/build_tool/lib/src/target.dart | 140 ------ .../cargokit/build_tool/lib/src/util.dart | 172 ------- .../build_tool/lib/src/verify_binaries.dart | 84 ---- .../cargokit/build_tool/pubspec.lock | 453 ------------------ .../cargokit/build_tool/pubspec.yaml | 33 -- .../cargokit/cmake/cargokit.cmake | 99 ---- .../cargokit/cmake/resolve_symlinks.ps1 | 27 -- .../cargokit/gradle/plugin.gradle | 179 ------- .../cargokit/run_build_tool.cmd | 91 ---- .../cargokit/run_build_tool.sh | 94 ---- .../example/android/.gitignore | 2 +- .../example/android/app/build.gradle | 28 +- .../example/android/gradle.properties | 2 +- .../example/ios/Flutter/Debug.xcconfig | 1 - .../example/ios/Flutter/Release.xcconfig | 1 - .../flutter_package/example/ios/Podfile | 44 -- .../ios/Runner.xcodeproj/project.pbxproj | 3 + .../example/ios/Runner/AppDelegate.swift | 2 +- .../flutter/generated_plugin_registrant.cc | 11 - .../flutter/generated_plugin_registrant.h | 15 - .../linux/flutter/generated_plugins.cmake | 24 - .../macos/Flutter/Flutter-Debug.xcconfig | 1 - .../macos/Flutter/Flutter-Release.xcconfig | 1 - .../Flutter/GeneratedPluginRegistrant.swift | 10 - .../flutter_package/example/macos/Podfile | 43 -- .../example/macos/Runner/AppDelegate.swift | 2 +- .../flutter_package/example/pubspec.lock | 120 +---- .../flutter_package/example/pubspec.yaml | 14 +- .../flutter/generated_plugin_registrant.cc | 11 - .../flutter/generated_plugin_registrant.h | 15 - .../windows/flutter/generated_plugins.cmake | 24 - .../windows/runner/runner.exe.manifest | 6 - frb_example/flutter_package/pubspec.yaml | 14 +- frb_example/flutter_package/rust/Cargo.lock | 14 +- frb_example/flutter_via_create/.metadata | 30 +- .../flutter_via_create/android/.gitignore | 2 +- .../android/app/build.gradle | 28 +- .../android/gradle.properties | 2 +- .../ios/Flutter/Debug.xcconfig | 1 - .../ios/Flutter/Release.xcconfig | 1 - frb_example/flutter_via_create/ios/Podfile | 44 -- .../ios/Runner.xcodeproj/project.pbxproj | 3 + .../ios/Runner/AppDelegate.swift | 2 +- .../linux/flutter/generated_plugins.cmake | 1 - .../macos/Flutter/Flutter-Debug.xcconfig | 1 - .../macos/Flutter/Flutter-Release.xcconfig | 1 - frb_example/flutter_via_create/macos/Podfile | 43 -- .../macos/Runner/AppDelegate.swift | 2 +- frb_example/flutter_via_create/pubspec.lock | 135 +----- frb_example/flutter_via_create/pubspec.yaml | 18 +- .../rust_builder/cargokit/.gitignore | 4 - .../rust_builder/cargokit/LICENSE | 42 -- .../rust_builder/cargokit/README | 11 - .../rust_builder/cargokit/build_pod.sh | 58 --- .../cargokit/build_tool/README.md | 5 - .../cargokit/build_tool/analysis_options.yaml | 34 -- .../cargokit/build_tool/bin/build_tool.dart | 8 - .../cargokit/build_tool/lib/build_tool.dart | 8 - .../lib/src/android_environment.dart | 195 -------- .../lib/src/artifacts_provider.dart | 266 ---------- .../build_tool/lib/src/build_cmake.dart | 40 -- .../build_tool/lib/src/build_gradle.dart | 49 -- .../build_tool/lib/src/build_pod.dart | 89 ---- .../build_tool/lib/src/build_tool.dart | 271 ----------- .../cargokit/build_tool/lib/src/builder.dart | 198 -------- .../cargokit/build_tool/lib/src/cargo.dart | 48 -- .../build_tool/lib/src/crate_hash.dart | 124 ----- .../build_tool/lib/src/environment.dart | 68 --- .../cargokit/build_tool/lib/src/logging.dart | 52 -- .../cargokit/build_tool/lib/src/options.dart | 309 ------------ .../lib/src/precompile_binaries.dart | 202 -------- .../cargokit/build_tool/lib/src/rustup.dart | 136 ------ .../cargokit/build_tool/lib/src/target.dart | 140 ------ .../cargokit/build_tool/lib/src/util.dart | 172 ------- .../build_tool/lib/src/verify_binaries.dart | 84 ---- .../cargokit/build_tool/pubspec.lock | 453 ------------------ .../cargokit/build_tool/pubspec.yaml | 33 -- .../cargokit/cmake/cargokit.cmake | 99 ---- .../cargokit/cmake/resolve_symlinks.ps1 | 27 -- .../cargokit/gradle/plugin.gradle | 179 ------- .../rust_builder/cargokit/run_build_tool.cmd | 91 ---- .../rust_builder/cargokit/run_build_tool.sh | 94 ---- .../windows/flutter/generated_plugins.cmake | 1 - .../windows/runner/runner.exe.manifest | 6 - frb_example/flutter_via_integrate/.metadata | 30 +- .../flutter_via_integrate/android/.gitignore | 2 +- .../android/app/build.gradle | 28 +- .../android/gradle.properties | 2 +- .../ios/Flutter/Debug.xcconfig | 1 - .../ios/Flutter/Release.xcconfig | 1 - frb_example/flutter_via_integrate/ios/Podfile | 44 -- .../ios/Runner.xcodeproj/project.pbxproj | 3 + .../ios/Runner/AppDelegate.swift | 2 +- .../flutter_via_integrate/lib/main.dart | 24 +- .../linux/flutter/generated_plugins.cmake | 1 - .../macos/Flutter/Flutter-Debug.xcconfig | 1 - .../macos/Flutter/Flutter-Release.xcconfig | 1 - .../flutter_via_integrate/macos/Podfile | 43 -- .../macos/Runner/AppDelegate.swift | 2 +- .../flutter_via_integrate/pubspec.lock | 135 +----- .../flutter_via_integrate/pubspec.yaml | 18 +- .../rust_builder/cargokit/.gitignore | 4 - .../rust_builder/cargokit/LICENSE | 42 -- .../rust_builder/cargokit/README | 11 - .../rust_builder/cargokit/build_pod.sh | 58 --- .../cargokit/build_tool/README.md | 5 - .../cargokit/build_tool/analysis_options.yaml | 34 -- .../cargokit/build_tool/bin/build_tool.dart | 8 - .../cargokit/build_tool/lib/build_tool.dart | 8 - .../lib/src/android_environment.dart | 195 -------- .../lib/src/artifacts_provider.dart | 266 ---------- .../build_tool/lib/src/build_cmake.dart | 40 -- .../build_tool/lib/src/build_gradle.dart | 49 -- .../build_tool/lib/src/build_pod.dart | 89 ---- .../build_tool/lib/src/build_tool.dart | 271 ----------- .../cargokit/build_tool/lib/src/builder.dart | 198 -------- .../cargokit/build_tool/lib/src/cargo.dart | 48 -- .../build_tool/lib/src/crate_hash.dart | 124 ----- .../build_tool/lib/src/environment.dart | 68 --- .../cargokit/build_tool/lib/src/logging.dart | 52 -- .../cargokit/build_tool/lib/src/options.dart | 309 ------------ .../lib/src/precompile_binaries.dart | 202 -------- .../cargokit/build_tool/lib/src/rustup.dart | 136 ------ .../cargokit/build_tool/lib/src/target.dart | 140 ------ .../cargokit/build_tool/lib/src/util.dart | 172 ------- .../build_tool/lib/src/verify_binaries.dart | 84 ---- .../cargokit/build_tool/pubspec.lock | 453 ------------------ .../cargokit/build_tool/pubspec.yaml | 33 -- .../cargokit/cmake/cargokit.cmake | 99 ---- .../cargokit/cmake/resolve_symlinks.ps1 | 27 -- .../cargokit/gradle/plugin.gradle | 179 ------- .../rust_builder/cargokit/run_build_tool.cmd | 91 ---- .../rust_builder/cargokit/run_build_tool.sh | 94 ---- .../windows/flutter/generated_plugins.cmake | 1 - .../windows/runner/runner.exe.manifest | 6 - .../gallery/lib/src/rust/api/mandelbrot.dart | 2 +- .../gallery/lib/src/rust/frb_generated.dart | 2 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- frb_example/gallery/pubspec.lock | 36 +- frb_example/gallery/rust/src/frb_generated.rs | 6 +- .../lib/src/rust/api/media_element.dart | 2 +- .../src/rust/api/override_web_audio_api.dart | 2 +- .../lib/src/rust/api/simple.dart | 2 +- .../lib/src/rust/frb_generated.dart | 4 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../src/rust/third_party/web_audio_api.dart | 2 +- .../third_party/web_audio_api/context.dart | 2 +- .../web_audio_api/media_devices.dart | 2 +- .../web_audio_api/media_recorder.dart | 2 +- .../web_audio_api/media_streams.dart | 2 +- .../rust/third_party/web_audio_api/node.dart | 2 +- .../third_party/web_audio_api/worklet.dart | 2 +- .../integrate_third_party/pubspec.lock | 36 +- .../rust/src/frb_generated.rs | 6 +- frb_example/pure_dart/lib/src/rust/api.dart | 2 +- .../pure_dart/lib/src/rust/api/array.dart | 2 +- .../lib/src/rust/api/async_misc.dart | 2 +- .../lib/src/rust/api/async_spawn.dart | 2 +- .../pure_dart/lib/src/rust/api/attribute.dart | 2 +- .../lib/src/rust/api/benchmark_misc.dart | 2 +- .../lib/src/rust/api/casted_primitive.dart | 2 +- .../lib/src/rust/api/chrono_type.dart | 2 +- .../pure_dart/lib/src/rust/api/comment.dart | 2 +- .../lib/src/rust/api/constructor.dart | 2 +- .../lib/src/rust/api/custom_ser_des.dart | 2 +- .../lib/src/rust/api/customization.dart | 2 +- .../pure_dart/lib/src/rust/api/dart_code.dart | 2 +- .../lib/src/rust/api/dart_dynamic.dart | 2 +- .../pure_dart/lib/src/rust/api/dart_fn.dart | 2 +- .../lib/src/rust/api/dart_opaque.dart | 2 +- .../lib/src/rust/api/dart_opaque_sync.dart | 2 +- .../rust/api/deliberate_name_conflict.dart | 2 +- .../pure_dart/lib/src/rust/api/dropping.dart | 2 +- .../pure_dart/lib/src/rust/api/dyn_trait.dart | 2 +- .../lib/src/rust/api/enumeration.dart | 2 +- .../lib/src/rust/api/event_listener.dart | 2 +- .../pure_dart/lib/src/rust/api/exception.dart | 2 +- .../lib/src/rust/api/external_impl.dart | 2 +- .../src/rust/api/external_type_in_crate.dart | 2 +- .../lib/src/rust/api/impl_trait.dart | 2 +- .../lib/src/rust/api/inside_macro.dart | 2 +- .../lib/src/rust/api/lifetimeable.dart | 2 +- .../lib/src/rust/api/map_and_set.dart | 2 +- .../pure_dart/lib/src/rust/api/method.dart | 2 +- .../pure_dart/lib/src/rust/api/mirror.dart | 2 +- .../lib/src/rust/api/misc_example.dart | 2 +- .../src/rust/api/misc_no_twin_example_a.dart | 2 +- .../src/rust/api/misc_no_twin_example_b.dart | 2 +- .../pure_dart/lib/src/rust/api/misc_type.dart | 2 +- .../lib/src/rust/api/newtype_pattern.dart | 2 +- .../pure_dart/lib/src/rust/api/optional.dart | 2 +- .../src/rust/api/optional_primitive_misc.dart | 2 +- .../pure_dart/lib/src/rust/api/ownership.dart | 2 +- .../lib/src/rust/api/primitive_list_misc.dart | 2 +- .../lib/src/rust/api/primitive_misc.dart | 2 +- .../pure_dart/lib/src/rust/api/proxy.dart | 2 +- .../pseudo_manual/array_twin_rust_async.dart | 2 +- .../array_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/array_twin_sse.dart | 2 +- .../api/pseudo_manual/array_twin_sync.dart | 2 +- .../pseudo_manual/array_twin_sync_sse.dart | 2 +- .../pseudo_manual/async_misc_twin_sse.dart | 2 +- .../attribute_twin_rust_async.dart | 2 +- .../attribute_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/attribute_twin_sse.dart | 2 +- .../pseudo_manual/attribute_twin_sync.dart | 2 +- .../attribute_twin_sync_sse.dart | 2 +- .../lib/src/rust/api/pseudo_manual/basic.dart | 2 +- .../rust/api/pseudo_manual/basic_list.dart | 2 +- .../basic_list_twin_rust_async.dart | 2 +- .../basic_list_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/basic_list_twin_sse.dart | 2 +- .../pseudo_manual/basic_list_twin_sync.dart | 2 +- .../basic_list_twin_sync_sse.dart | 2 +- .../src/rust/api/pseudo_manual/basic_map.dart | 2 +- .../basic_map_twin_rust_async.dart | 2 +- .../basic_map_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/basic_map_twin_sse.dart | 2 +- .../pseudo_manual/basic_map_twin_sync.dart | 2 +- .../basic_map_twin_sync_sse.dart | 2 +- .../api/pseudo_manual/basic_optional.dart | 2 +- .../basic_optional_twin_rust_async.dart | 2 +- .../basic_optional_twin_rust_async_sse.dart | 2 +- .../basic_optional_twin_sse.dart | 2 +- .../basic_optional_twin_sync.dart | 2 +- .../basic_optional_twin_sync_sse.dart | 2 +- .../pseudo_manual/basic_twin_rust_async.dart | 2 +- .../basic_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/basic_twin_sse.dart | 2 +- .../api/pseudo_manual/basic_twin_sync.dart | 2 +- .../pseudo_manual/basic_twin_sync_sse.dart | 2 +- .../rust/api/pseudo_manual/benchmark_api.dart | 2 +- .../benchmark_api_twin_rust_async.dart | 2 +- .../benchmark_api_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/benchmark_api_twin_sse.dart | 2 +- .../benchmark_api_twin_sync.dart | 2 +- .../benchmark_api_twin_sync_sse.dart | 2 +- .../chrono_type_twin_rust_async.dart | 2 +- .../chrono_type_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/chrono_type_twin_sse.dart | 2 +- .../pseudo_manual/chrono_type_twin_sync.dart | 2 +- .../chrono_type_twin_sync_sse.dart | 2 +- .../comment_twin_rust_async.dart | 2 +- .../comment_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/comment_twin_sse.dart | 2 +- .../api/pseudo_manual/comment_twin_sync.dart | 2 +- .../pseudo_manual/comment_twin_sync_sse.dart | 2 +- .../dart_dynamic_twin_rust_async.dart | 2 +- .../pseudo_manual/dart_dynamic_twin_sync.dart | 2 +- .../dart_fn_twin_rust_async.dart | 2 +- .../dart_fn_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/dart_fn_twin_sse.dart | 2 +- .../dart_opaque_sync_twin_sse.dart | 2 +- .../dart_opaque_twin_rust_async.dart | 2 +- .../dart_opaque_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/dart_opaque_twin_sse.dart | 2 +- .../pseudo_manual/dart_opaque_twin_sync.dart | 2 +- .../dart_opaque_twin_sync_sse.dart | 2 +- .../dropping_twin_rust_async.dart | 2 +- .../dropping_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/dropping_twin_sse.dart | 2 +- .../api/pseudo_manual/dropping_twin_sync.dart | 2 +- .../pseudo_manual/dropping_twin_sync_sse.dart | 2 +- .../enumeration_twin_rust_async.dart | 2 +- .../enumeration_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/enumeration_twin_sse.dart | 2 +- .../pseudo_manual/enumeration_twin_sync.dart | 2 +- .../enumeration_twin_sync_sse.dart | 2 +- .../event_listener_twin_rust_async.dart | 2 +- .../event_listener_twin_rust_async_sse.dart | 2 +- .../event_listener_twin_sse.dart | 2 +- .../exception_twin_rust_async.dart | 2 +- .../exception_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/exception_twin_sse.dart | 2 +- .../pseudo_manual/exception_twin_sync.dart | 2 +- .../exception_twin_sync_sse.dart | 2 +- ...xternal_type_in_crate_twin_rust_async.dart | 2 +- ...nal_type_in_crate_twin_rust_async_sse.dart | 2 +- .../external_type_in_crate_twin_sse.dart | 2 +- .../external_type_in_crate_twin_sync.dart | 2 +- .../external_type_in_crate_twin_sync_sse.dart | 2 +- .../pseudo_manual/impl_trait_twin_sse.dart | 2 +- .../pseudo_manual/impl_trait_twin_sync.dart | 2 +- .../impl_trait_twin_sync_sse.dart | 2 +- .../pseudo_manual/lifetimeable_twin_sync.dart | 2 +- .../map_and_set_twin_rust_async.dart | 2 +- .../map_and_set_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/map_and_set_twin_sse.dart | 2 +- .../pseudo_manual/map_and_set_twin_sync.dart | 2 +- .../map_and_set_twin_sync_sse.dart | 2 +- .../pseudo_manual/method_twin_rust_async.dart | 2 +- .../method_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/method_twin_sse.dart | 2 +- .../api/pseudo_manual/method_twin_sync.dart | 2 +- .../pseudo_manual/method_twin_sync_sse.dart | 2 +- .../pseudo_manual/mirror_twin_rust_async.dart | 2 +- .../mirror_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/mirror_twin_sse.dart | 2 +- .../api/pseudo_manual/mirror_twin_sync.dart | 2 +- .../pseudo_manual/mirror_twin_sync_sse.dart | 2 +- .../misc_example_twin_rust_async.dart | 2 +- .../misc_example_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/misc_example_twin_sse.dart | 2 +- .../pseudo_manual/misc_example_twin_sync.dart | 2 +- .../misc_example_twin_sync_sse.dart | 2 +- .../misc_type_twin_rust_async.dart | 2 +- .../misc_type_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/misc_type_twin_sse.dart | 2 +- .../pseudo_manual/misc_type_twin_sync.dart | 2 +- .../misc_type_twin_sync_sse.dart | 2 +- .../newtype_pattern_twin_rust_async.dart | 2 +- .../newtype_pattern_twin_rust_async_sse.dart | 2 +- .../newtype_pattern_twin_sse.dart | 2 +- .../newtype_pattern_twin_sync.dart | 2 +- .../newtype_pattern_twin_sync_sse.dart | 2 +- ...tional_primitive_misc_twin_rust_async.dart | 2 +- ...al_primitive_misc_twin_rust_async_sse.dart | 2 +- .../optional_primitive_misc_twin_sse.dart | 2 +- .../optional_primitive_misc_twin_sync.dart | 2 +- ...optional_primitive_misc_twin_sync_sse.dart | 2 +- .../optional_twin_rust_async.dart | 2 +- .../optional_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/optional_twin_sse.dart | 2 +- .../api/pseudo_manual/optional_twin_sync.dart | 2 +- .../pseudo_manual/optional_twin_sync_sse.dart | 2 +- .../ownership_twin_rust_async.dart | 2 +- .../ownership_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/ownership_twin_sse.dart | 2 +- .../pseudo_manual/ownership_twin_sync.dart | 2 +- .../ownership_twin_sync_sse.dart | 2 +- .../primitive_list_misc_twin_rust_async.dart | 2 +- ...imitive_list_misc_twin_rust_async_sse.dart | 2 +- .../primitive_list_misc_twin_sse.dart | 2 +- .../primitive_list_misc_twin_sync.dart | 2 +- .../primitive_list_misc_twin_sync_sse.dart | 2 +- .../primitive_misc_twin_rust_async.dart | 2 +- .../primitive_misc_twin_rust_async_sse.dart | 2 +- .../primitive_misc_twin_sse.dart | 2 +- .../primitive_misc_twin_sync.dart | 2 +- .../primitive_misc_twin_sync_sse.dart | 2 +- .../raw_string_twin_rust_async.dart | 2 +- .../raw_string_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/raw_string_twin_sse.dart | 2 +- .../pseudo_manual/raw_string_twin_sync.dart | 2 +- .../raw_string_twin_sync_sse.dart | 2 +- .../rust_auto_opaque_twin_moi.dart | 2 +- .../rust_auto_opaque_twin_rust_async.dart | 2 +- .../rust_auto_opaque_twin_rust_async_moi.dart | 2 +- .../rust_auto_opaque_twin_rust_async_sse.dart | 2 +- ...t_auto_opaque_twin_rust_async_sse_moi.dart | 2 +- .../rust_auto_opaque_twin_sse.dart | 2 +- .../rust_auto_opaque_twin_sse_moi.dart | 2 +- .../rust_auto_opaque_twin_sync.dart | 2 +- .../rust_auto_opaque_twin_sync_moi.dart | 2 +- .../rust_auto_opaque_twin_sync_sse.dart | 2 +- .../rust_auto_opaque_twin_sync_sse_moi.dart | 2 +- .../rust_opaque_sync_twin_moi.dart | 2 +- .../rust_opaque_sync_twin_sse.dart | 2 +- .../rust_opaque_sync_twin_sse_moi.dart | 2 +- .../pseudo_manual/rust_opaque_twin_moi.dart | 2 +- .../rust_opaque_twin_rust_async.dart | 2 +- .../rust_opaque_twin_rust_async_moi.dart | 2 +- .../rust_opaque_twin_rust_async_sse.dart | 2 +- .../rust_opaque_twin_rust_async_sse_moi.dart | 2 +- .../pseudo_manual/rust_opaque_twin_sse.dart | 2 +- .../rust_opaque_twin_sse_moi.dart | 2 +- .../pseudo_manual/rust_opaque_twin_sync.dart | 2 +- .../rust_opaque_twin_sync_moi.dart | 2 +- .../rust_opaque_twin_sync_sse.dart | 2 +- .../rust_opaque_twin_sync_sse_moi.dart | 2 +- .../pseudo_manual/simple_twin_rust_async.dart | 2 +- .../simple_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/simple_twin_sse.dart | 2 +- .../api/pseudo_manual/simple_twin_sync.dart | 2 +- .../pseudo_manual/simple_twin_sync_sse.dart | 2 +- .../pseudo_manual/stream_misc_twin_sse.dart | 2 +- .../pseudo_manual/stream_twin_rust_async.dart | 2 +- .../stream_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/stream_twin_sse.dart | 2 +- .../structure_twin_rust_async.dart | 2 +- .../structure_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/structure_twin_sse.dart | 2 +- .../pseudo_manual/structure_twin_sync.dart | 2 +- .../structure_twin_sync_sse.dart | 2 +- .../pseudo_manual/tuple_twin_rust_async.dart | 2 +- .../tuple_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/tuple_twin_sse.dart | 2 +- .../api/pseudo_manual/tuple_twin_sync.dart | 2 +- .../pseudo_manual/tuple_twin_sync_sse.dart | 2 +- .../type_alias_twin_rust_async.dart | 2 +- .../type_alias_twin_rust_async_sse.dart | 2 +- .../pseudo_manual/type_alias_twin_sse.dart | 2 +- .../pseudo_manual/type_alias_twin_sync.dart | 2 +- .../type_alias_twin_sync_sse.dart | 2 +- .../uuid_type_twin_rust_async.dart | 2 +- .../uuid_type_twin_rust_async_sse.dart | 2 +- .../api/pseudo_manual/uuid_type_twin_sse.dart | 2 +- .../pseudo_manual/uuid_type_twin_sync.dart | 2 +- .../uuid_type_twin_sync_sse.dart | 2 +- .../lib/src/rust/api/raw_string.dart | 2 +- .../lib/src/rust/api/rust_auto_opaque.dart | 2 +- .../lib/src/rust/api/rust_opaque.dart | 2 +- .../lib/src/rust/api/rust_opaque_sync.dart | 2 +- .../pure_dart/lib/src/rust/api/simple.dart | 2 +- .../pure_dart/lib/src/rust/api/stream.dart | 2 +- .../lib/src/rust/api/stream_misc.dart | 2 +- .../pure_dart/lib/src/rust/api/structure.dart | 2 +- .../pure_dart/lib/src/rust/api/tuple.dart | 2 +- .../lib/src/rust/api/type_alias.dart | 2 +- .../pure_dart/lib/src/rust/api/uuid_type.dart | 2 +- .../new_module_system/sub_module.dart | 2 +- .../old_module_system/sub_module.dart | 2 +- .../lib/src/rust/auxiliary/sample_types.dart | 2 +- .../src/rust/deliberate_name_conflict.dart | 2 +- .../pure_dart/lib/src/rust/frb_generated.dart | 4 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../pure_dart/rust/src/frb_generated.rs | 6 +- .../pure_dart_pde/lib/src/rust/api.dart | 2 +- .../pure_dart_pde/lib/src/rust/api/array.dart | 2 +- .../lib/src/rust/api/async_misc.dart | 2 +- .../lib/src/rust/api/async_spawn.dart | 2 +- .../lib/src/rust/api/attribute.dart | 2 +- .../lib/src/rust/api/benchmark_misc.dart | 2 +- .../lib/src/rust/api/casted_primitive.dart | 2 +- .../lib/src/rust/api/chrono_type.dart | 2 +- .../lib/src/rust/api/comment.dart | 2 +- .../lib/src/rust/api/constructor.dart | 2 +- .../lib/src/rust/api/custom_ser_des.dart | 2 +- .../lib/src/rust/api/customization.dart | 2 +- .../lib/src/rust/api/dart_code.dart | 2 +- .../lib/src/rust/api/dart_fn.dart | 2 +- .../lib/src/rust/api/dart_opaque.dart | 2 +- .../lib/src/rust/api/dart_opaque_sync.dart | 2 +- .../rust/api/deliberate_name_conflict.dart | 2 +- .../lib/src/rust/api/dropping.dart | 2 +- .../lib/src/rust/api/dyn_trait.dart | 2 +- .../lib/src/rust/api/enumeration.dart | 2 +- .../lib/src/rust/api/event_listener.dart | 2 +- .../lib/src/rust/api/exception.dart | 2 +- .../lib/src/rust/api/external_impl.dart | 2 +- .../src/rust/api/external_type_in_crate.dart | 2 +- .../lib/src/rust/api/impl_trait.dart | 2 +- .../lib/src/rust/api/inside_macro.dart | 2 +- .../lib/src/rust/api/lifetimeable.dart | 2 +- .../lib/src/rust/api/map_and_set.dart | 2 +- .../lib/src/rust/api/method.dart | 2 +- .../lib/src/rust/api/mirror.dart | 2 +- .../lib/src/rust/api/misc_example.dart | 2 +- .../src/rust/api/misc_no_twin_example_a.dart | 2 +- .../src/rust/api/misc_no_twin_example_b.dart | 2 +- .../lib/src/rust/api/misc_type.dart | 2 +- .../lib/src/rust/api/newtype_pattern.dart | 2 +- .../lib/src/rust/api/optional.dart | 2 +- .../src/rust/api/optional_primitive_misc.dart | 2 +- .../lib/src/rust/api/ownership.dart | 2 +- .../lib/src/rust/api/primitive_list_misc.dart | 2 +- .../lib/src/rust/api/primitive_misc.dart | 2 +- .../pure_dart_pde/lib/src/rust/api/proxy.dart | 2 +- .../pseudo_manual/array_twin_rust_async.dart | 2 +- .../api/pseudo_manual/array_twin_sync.dart | 2 +- .../attribute_twin_rust_async.dart | 2 +- .../pseudo_manual/attribute_twin_sync.dart | 2 +- .../lib/src/rust/api/pseudo_manual/basic.dart | 2 +- .../rust/api/pseudo_manual/basic_list.dart | 2 +- .../basic_list_twin_rust_async.dart | 2 +- .../pseudo_manual/basic_list_twin_sync.dart | 2 +- .../src/rust/api/pseudo_manual/basic_map.dart | 2 +- .../basic_map_twin_rust_async.dart | 2 +- .../pseudo_manual/basic_map_twin_sync.dart | 2 +- .../api/pseudo_manual/basic_optional.dart | 2 +- .../basic_optional_twin_rust_async.dart | 2 +- .../basic_optional_twin_sync.dart | 2 +- .../pseudo_manual/basic_twin_rust_async.dart | 2 +- .../api/pseudo_manual/basic_twin_sync.dart | 2 +- .../rust/api/pseudo_manual/benchmark_api.dart | 2 +- .../benchmark_api_twin_rust_async.dart | 2 +- .../benchmark_api_twin_sync.dart | 2 +- .../chrono_type_twin_rust_async.dart | 2 +- .../pseudo_manual/chrono_type_twin_sync.dart | 2 +- .../comment_twin_rust_async.dart | 2 +- .../api/pseudo_manual/comment_twin_sync.dart | 2 +- .../dart_fn_twin_rust_async.dart | 2 +- .../dart_opaque_twin_rust_async.dart | 2 +- .../pseudo_manual/dart_opaque_twin_sync.dart | 2 +- .../dropping_twin_rust_async.dart | 2 +- .../api/pseudo_manual/dropping_twin_sync.dart | 2 +- .../enumeration_twin_rust_async.dart | 2 +- .../pseudo_manual/enumeration_twin_sync.dart | 2 +- .../event_listener_twin_rust_async.dart | 2 +- .../exception_twin_rust_async.dart | 2 +- .../pseudo_manual/exception_twin_sync.dart | 2 +- ...xternal_type_in_crate_twin_rust_async.dart | 2 +- .../external_type_in_crate_twin_sync.dart | 2 +- .../pseudo_manual/impl_trait_twin_sync.dart | 2 +- .../pseudo_manual/lifetimeable_twin_sync.dart | 2 +- .../map_and_set_twin_rust_async.dart | 2 +- .../pseudo_manual/map_and_set_twin_sync.dart | 2 +- .../pseudo_manual/method_twin_rust_async.dart | 2 +- .../api/pseudo_manual/method_twin_sync.dart | 2 +- .../pseudo_manual/mirror_twin_rust_async.dart | 2 +- .../api/pseudo_manual/mirror_twin_sync.dart | 2 +- .../misc_example_twin_rust_async.dart | 2 +- .../pseudo_manual/misc_example_twin_sync.dart | 2 +- .../misc_type_twin_rust_async.dart | 2 +- .../pseudo_manual/misc_type_twin_sync.dart | 2 +- .../newtype_pattern_twin_rust_async.dart | 2 +- .../newtype_pattern_twin_sync.dart | 2 +- ...tional_primitive_misc_twin_rust_async.dart | 2 +- .../optional_primitive_misc_twin_sync.dart | 2 +- .../optional_twin_rust_async.dart | 2 +- .../api/pseudo_manual/optional_twin_sync.dart | 2 +- .../ownership_twin_rust_async.dart | 2 +- .../pseudo_manual/ownership_twin_sync.dart | 2 +- .../primitive_list_misc_twin_rust_async.dart | 2 +- .../primitive_list_misc_twin_sync.dart | 2 +- .../primitive_misc_twin_rust_async.dart | 2 +- .../primitive_misc_twin_sync.dart | 2 +- .../raw_string_twin_rust_async.dart | 2 +- .../pseudo_manual/raw_string_twin_sync.dart | 2 +- .../rust_auto_opaque_twin_rust_async.dart | 2 +- .../rust_auto_opaque_twin_sync.dart | 2 +- .../rust_opaque_twin_rust_async.dart | 2 +- .../pseudo_manual/rust_opaque_twin_sync.dart | 2 +- .../pseudo_manual/simple_twin_rust_async.dart | 2 +- .../api/pseudo_manual/simple_twin_sync.dart | 2 +- .../pseudo_manual/stream_twin_rust_async.dart | 2 +- .../structure_twin_rust_async.dart | 2 +- .../pseudo_manual/structure_twin_sync.dart | 2 +- .../pseudo_manual/tuple_twin_rust_async.dart | 2 +- .../api/pseudo_manual/tuple_twin_sync.dart | 2 +- .../type_alias_twin_rust_async.dart | 2 +- .../pseudo_manual/type_alias_twin_sync.dart | 2 +- .../uuid_type_twin_rust_async.dart | 2 +- .../pseudo_manual/uuid_type_twin_sync.dart | 2 +- .../lib/src/rust/api/raw_string.dart | 2 +- .../lib/src/rust/api/rust_auto_opaque.dart | 2 +- .../lib/src/rust/api/rust_opaque.dart | 2 +- .../lib/src/rust/api/rust_opaque_sync.dart | 2 +- .../lib/src/rust/api/simple.dart | 2 +- .../lib/src/rust/api/stream.dart | 2 +- .../lib/src/rust/api/stream_misc.dart | 2 +- .../lib/src/rust/api/structure.dart | 2 +- .../pure_dart_pde/lib/src/rust/api/tuple.dart | 2 +- .../lib/src/rust/api/type_alias.dart | 2 +- .../lib/src/rust/api/uuid_type.dart | 2 +- .../new_module_system/sub_module.dart | 2 +- .../old_module_system/sub_module.dart | 2 +- .../lib/src/rust/auxiliary/sample_types.dart | 2 +- .../src/rust/deliberate_name_conflict.dart | 2 +- .../lib/src/rust/frb_generated.dart | 4 +- .../lib/src/rust/frb_generated.io.dart | 2 +- .../lib/src/rust/frb_generated.web.dart | 2 +- .../pure_dart_pde/rust/src/frb_generated.rs | 6 +- .../rust_ui_counter/src/frb_generated.rs | 6 +- .../rust_ui_counter/ui/lib/src/rust/app.dart | 2 +- .../ui/lib/src/rust/frb_generated.dart | 4 +- .../ui/lib/src/rust/frb_generated.io.dart | 2 +- .../ui/lib/src/rust/frb_generated.web.dart | 2 +- frb_example/rust_ui_counter/ui/pubspec.lock | 28 +- .../rust_ui_todo_list/src/frb_generated.rs | 6 +- .../ui/lib/src/rust/app.dart | 2 +- .../ui/lib/src/rust/frb_generated.dart | 4 +- .../ui/lib/src/rust/frb_generated.io.dart | 2 +- .../ui/lib/src/rust/frb_generated.web.dart | 2 +- frb_example/rust_ui_todo_list/ui/pubspec.lock | 28 +- 607 files changed, 711 insertions(+), 12222 deletions(-) delete mode 100644 frb_example/flutter_package/cargokit/.gitignore delete mode 100644 frb_example/flutter_package/cargokit/LICENSE delete mode 100644 frb_example/flutter_package/cargokit/README delete mode 100755 frb_example/flutter_package/cargokit/build_pod.sh delete mode 100644 frb_example/flutter_package/cargokit/build_tool/README.md delete mode 100644 frb_example/flutter_package/cargokit/build_tool/analysis_options.yaml delete mode 100644 frb_example/flutter_package/cargokit/build_tool/bin/build_tool.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/build_tool.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/android_environment.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/artifacts_provider.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/build_cmake.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/build_gradle.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/build_pod.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/build_tool.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/builder.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/cargo.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/crate_hash.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/environment.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/logging.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/options.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/precompile_binaries.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/rustup.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/target.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/util.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/lib/src/verify_binaries.dart delete mode 100644 frb_example/flutter_package/cargokit/build_tool/pubspec.lock delete mode 100644 frb_example/flutter_package/cargokit/build_tool/pubspec.yaml delete mode 100644 frb_example/flutter_package/cargokit/cmake/cargokit.cmake delete mode 100644 frb_example/flutter_package/cargokit/cmake/resolve_symlinks.ps1 delete mode 100644 frb_example/flutter_package/cargokit/gradle/plugin.gradle delete mode 100755 frb_example/flutter_package/cargokit/run_build_tool.cmd delete mode 100755 frb_example/flutter_package/cargokit/run_build_tool.sh delete mode 100644 frb_example/flutter_package/example/ios/Podfile delete mode 100644 frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.cc delete mode 100644 frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.h delete mode 100644 frb_example/flutter_package/example/linux/flutter/generated_plugins.cmake delete mode 100644 frb_example/flutter_package/example/macos/Flutter/GeneratedPluginRegistrant.swift delete mode 100644 frb_example/flutter_package/example/macos/Podfile delete mode 100644 frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.cc delete mode 100644 frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.h delete mode 100644 frb_example/flutter_package/example/windows/flutter/generated_plugins.cmake delete mode 100644 frb_example/flutter_via_create/ios/Podfile delete mode 100644 frb_example/flutter_via_create/macos/Podfile delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/.gitignore delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/LICENSE delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/README delete mode 100755 frb_example/flutter_via_create/rust_builder/cargokit/build_pod.sh delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/README.md delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/analysis_options.yaml delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/bin/build_tool.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/build_tool.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/android_environment.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_pod.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_tool.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/builder.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/cargo.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/environment.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/logging.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/options.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/rustup.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/target.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/util.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.lock delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.yaml delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/cmake/cargokit.cmake delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/cmake/resolve_symlinks.ps1 delete mode 100644 frb_example/flutter_via_create/rust_builder/cargokit/gradle/plugin.gradle delete mode 100755 frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.cmd delete mode 100755 frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.sh delete mode 100644 frb_example/flutter_via_integrate/ios/Podfile delete mode 100644 frb_example/flutter_via_integrate/macos/Podfile delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/.gitignore delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/LICENSE delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/README delete mode 100755 frb_example/flutter_via_integrate/rust_builder/cargokit/build_pod.sh delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/README.md delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/analysis_options.yaml delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/bin/build_tool.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/build_tool.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/android_environment.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_pod.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_tool.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/builder.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/cargo.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/environment.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/logging.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/options.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/rustup.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/target.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/util.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.lock delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.yaml delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/cargokit.cmake delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/resolve_symlinks.ps1 delete mode 100644 frb_example/flutter_via_integrate/rust_builder/cargokit/gradle/plugin.gradle delete mode 100755 frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.cmd delete mode 100755 frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.sh diff --git a/frb_example/dart_build_rs/lib/src/rust/api/minimal.dart b/frb_example/dart_build_rs/lib/src/rust/api/minimal.dart index d734c7f803..c6612f5d02 100644 --- a/frb_example/dart_build_rs/lib/src/rust/api/minimal.dart +++ b/frb_example/dart_build_rs/lib/src/rust/api/minimal.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/dart_build_rs/lib/src/rust/frb_generated.dart b/frb_example/dart_build_rs/lib/src/rust/frb_generated.dart index 422a8919df..2b3827924c 100644 --- a/frb_example/dart_build_rs/lib/src/rust/frb_generated.dart +++ b/frb_example/dart_build_rs/lib/src/rust/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_build_rs/lib/src/rust/frb_generated.io.dart b/frb_example/dart_build_rs/lib/src/rust/frb_generated.io.dart index 71da63c12c..6937e24db3 100644 --- a/frb_example/dart_build_rs/lib/src/rust/frb_generated.io.dart +++ b/frb_example/dart_build_rs/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_build_rs/lib/src/rust/frb_generated.web.dart b/frb_example/dart_build_rs/lib/src/rust/frb_generated.web.dart index 92876b25ae..cfa8d8f979 100644 --- a/frb_example/dart_build_rs/lib/src/rust/frb_generated.web.dart +++ b/frb_example/dart_build_rs/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_build_rs/rust/src/frb_generated.rs b/frb_example/dart_build_rs/rust/src/frb_generated.rs index 4039aee5e7..8c875580c2 100644 --- a/frb_example/dart_build_rs/rust/src/frb_generated.rs +++ b/frb_example/dart_build_rs/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -187,7 +187,7 @@ impl SseEncode for bool { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -209,7 +209,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/dart_minimal/lib/src/rust/api/minimal.dart b/frb_example/dart_minimal/lib/src/rust/api/minimal.dart index d734c7f803..c6612f5d02 100644 --- a/frb_example/dart_minimal/lib/src/rust/api/minimal.dart +++ b/frb_example/dart_minimal/lib/src/rust/api/minimal.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/dart_minimal/lib/src/rust/frb_generated.dart b/frb_example/dart_minimal/lib/src/rust/frb_generated.dart index b3ef4b911e..3a6a9e9ac2 100644 --- a/frb_example/dart_minimal/lib/src/rust/frb_generated.dart +++ b/frb_example/dart_minimal/lib/src/rust/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_minimal/lib/src/rust/frb_generated.io.dart b/frb_example/dart_minimal/lib/src/rust/frb_generated.io.dart index 71da63c12c..6937e24db3 100644 --- a/frb_example/dart_minimal/lib/src/rust/frb_generated.io.dart +++ b/frb_example/dart_minimal/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_minimal/lib/src/rust/frb_generated.web.dart b/frb_example/dart_minimal/lib/src/rust/frb_generated.web.dart index 92876b25ae..cfa8d8f979 100644 --- a/frb_example/dart_minimal/lib/src/rust/frb_generated.web.dart +++ b/frb_example/dart_minimal/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/dart_minimal/rust/src/frb_generated.rs b/frb_example/dart_minimal/rust/src/frb_generated.rs index 4039aee5e7..8c875580c2 100644 --- a/frb_example/dart_minimal/rust/src/frb_generated.rs +++ b/frb_example/dart_minimal/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -187,7 +187,7 @@ impl SseEncode for bool { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -209,7 +209,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/deliberate_bad/lib/src/rust/api/simple.dart b/frb_example/deliberate_bad/lib/src/rust/api/simple.dart index b0fb0f1ed1..2d3e7cd282 100644 --- a/frb_example/deliberate_bad/lib/src/rust/api/simple.dart +++ b/frb_example/deliberate_bad/lib/src/rust/api/simple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/deliberate_bad/lib/src/rust/frb_generated.dart b/frb_example/deliberate_bad/lib/src/rust/frb_generated.dart index 333fa51b15..a2af9f0ec0 100644 --- a/frb_example/deliberate_bad/lib/src/rust/frb_generated.dart +++ b/frb_example/deliberate_bad/lib/src/rust/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/deliberate_bad/lib/src/rust/frb_generated.io.dart b/frb_example/deliberate_bad/lib/src/rust/frb_generated.io.dart index a8eae94bde..988d89531b 100644 --- a/frb_example/deliberate_bad/lib/src/rust/frb_generated.io.dart +++ b/frb_example/deliberate_bad/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/deliberate_bad/lib/src/rust/frb_generated.web.dart b/frb_example/deliberate_bad/lib/src/rust/frb_generated.web.dart index 5d83a8f8f3..f5723da593 100644 --- a/frb_example/deliberate_bad/lib/src/rust/frb_generated.web.dart +++ b/frb_example/deliberate_bad/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/deliberate_bad/rust/src/frb_generated.rs b/frb_example/deliberate_bad/rust/src/frb_generated.rs index a163193dce..7a6d97e93a 100644 --- a/frb_example/deliberate_bad/rust/src/frb_generated.rs +++ b/frb_example/deliberate_bad/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -306,7 +306,7 @@ impl SseEncode for bool { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -328,7 +328,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/flutter_package/.metadata b/frb_example/flutter_package/.metadata index adb81d8701..1e0f2cf575 100644 --- a/frb_example/flutter_package/.metadata +++ b/frb_example/flutter_package/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" + revision: "5874a72aa4c779a02553007c47dacbefba2374dc" channel: "stable" project_type: plugin_ffi @@ -13,23 +13,23 @@ project_type: plugin_ffi migration: platforms: - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: android - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: ios - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: linux - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: macos - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: windows - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc # User provided section diff --git a/frb_example/flutter_package/README.md b/frb_example/flutter_package/README.md index 52856bf3ea..c809d75100 100644 --- a/frb_example/flutter_package/README.md +++ b/frb_example/flutter_package/README.md @@ -5,7 +5,7 @@ A new Flutter FFI plugin project. ## Getting Started This project is a starting point for a Flutter -[FFI plugin](https://docs.flutter.dev/development/platform-integration/c-interop), +[FFI plugin](https://flutter.dev/to/ffi-package), a specialized package that includes native code directly invoked with Dart FFI. ## Project structure @@ -87,6 +87,6 @@ For example, see `sumAsync` in `lib/flutter_package.dart`. ## Flutter help For help getting started with Flutter, view our -[online documentation](https://flutter.dev/docs), which offers tutorials, +[online documentation](https://docs.flutter.dev), which offers tutorials, samples, guidance on mobile development, and a full API reference. diff --git a/frb_example/flutter_package/cargokit/.gitignore b/frb_example/flutter_package/cargokit/.gitignore deleted file mode 100644 index cf7bb868c0..0000000000 --- a/frb_example/flutter_package/cargokit/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -target -.dart_tool -*.iml -!pubspec.lock diff --git a/frb_example/flutter_package/cargokit/LICENSE b/frb_example/flutter_package/cargokit/LICENSE deleted file mode 100644 index d33a5fea52..0000000000 --- a/frb_example/flutter_package/cargokit/LICENSE +++ /dev/null @@ -1,42 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Copyright 2022 Matej Knopp - -================================================================================ - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -================================================================================ - -APACHE LICENSE, VERSION 2.0 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/frb_example/flutter_package/cargokit/README b/frb_example/flutter_package/cargokit/README deleted file mode 100644 index 398474dbc8..0000000000 --- a/frb_example/flutter_package/cargokit/README +++ /dev/null @@ -1,11 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Experimental repository to provide glue for seamlessly integrating cargo build -with flutter plugins and packages. - -See https://matejknopp.com/post/flutter_plugin_in_rust_with_no_prebuilt_binaries/ -for a tutorial on how to use Cargokit. - -Example plugin available at https://github.com/irondash/hello_rust_ffi_plugin. - diff --git a/frb_example/flutter_package/cargokit/build_pod.sh b/frb_example/flutter_package/cargokit/build_pod.sh deleted file mode 100755 index ed0e0d987d..0000000000 --- a/frb_example/flutter_package/cargokit/build_pod.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -set -e - -BASEDIR=$(dirname "$0") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -BASEDIR=$(cd "$BASEDIR" ; pwd -P) - -# Remove XCode SDK from path. Otherwise this breaks tool compilation when building iOS project -NEW_PATH=`echo $PATH | tr ":" "\n" | grep -v "Contents/Developer/" | tr "\n" ":"` - -export PATH=${NEW_PATH%?} # remove trailing : - -env - -# Platform name (macosx, iphoneos, iphonesimulator) -export CARGOKIT_DARWIN_PLATFORM_NAME=$PLATFORM_NAME - -# Arctive architectures (arm64, armv7, x86_64), space separated. -export CARGOKIT_DARWIN_ARCHS=$ARCHS - -# Current build configuration (Debug, Release) -export CARGOKIT_CONFIGURATION=$CONFIGURATION - -# Path to directory containing Cargo.toml. -export CARGOKIT_MANIFEST_DIR=$PODS_TARGET_SRCROOT/$1 - -# Temporary directory for build artifacts. -export CARGOKIT_TARGET_TEMP_DIR=$TARGET_TEMP_DIR - -# Output directory for final artifacts. -export CARGOKIT_OUTPUT_DIR=$PODS_CONFIGURATION_BUILD_DIR/$PRODUCT_NAME - -# Directory to store built tool artifacts. -export CARGOKIT_TOOL_TEMP_DIR=$TARGET_TEMP_DIR/build_tool - -# Directory inside root project. Not necessarily the top level directory of root project. -export CARGOKIT_ROOT_PROJECT_DIR=$SRCROOT - -FLUTTER_EXPORT_BUILD_ENVIRONMENT=( - "$PODS_ROOT/../Flutter/ephemeral/flutter_export_environment.sh" # macOS - "$PODS_ROOT/../Flutter/flutter_export_environment.sh" # iOS -) - -for path in "${FLUTTER_EXPORT_BUILD_ENVIRONMENT[@]}" -do - if [[ -f "$path" ]]; then - source "$path" - fi -done - -sh "$BASEDIR/run_build_tool.sh" build-pod "$@" - -# Make a symlink from built framework to phony file, which will be used as input to -# build script. This should force rebuild (podspec currently doesn't support alwaysOutOfDate -# attribute on custom build phase) -ln -fs "$OBJROOT/XCBuildData/build.db" "${BUILT_PRODUCTS_DIR}/cargokit_phony" -ln -fs "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" "${BUILT_PRODUCTS_DIR}/cargokit_phony_out" diff --git a/frb_example/flutter_package/cargokit/build_tool/README.md b/frb_example/flutter_package/cargokit/build_tool/README.md deleted file mode 100644 index a878c27964..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/README.md +++ /dev/null @@ -1,5 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/frb_example/flutter_package/cargokit/build_tool/analysis_options.yaml b/frb_example/flutter_package/cargokit/build_tool/analysis_options.yaml deleted file mode 100644 index 0e16a8b092..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/analysis_options.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -linter: - rules: - - prefer_relative_imports - - directives_ordering - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/frb_example/flutter_package/cargokit/build_tool/bin/build_tool.dart b/frb_example/flutter_package/cargokit/build_tool/bin/build_tool.dart deleted file mode 100644 index 268eb524dc..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/bin/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:build_tool/build_tool.dart' as build_tool; - -void main(List arguments) { - build_tool.runMain(arguments); -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/build_tool.dart b/frb_example/flutter_package/cargokit/build_tool/lib/build_tool.dart deleted file mode 100644 index 7c1bb750a4..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'src/build_tool.dart' as build_tool; - -Future runMain(List args) async { - return build_tool.runMain(args); -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/android_environment.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/android_environment.dart deleted file mode 100644 index 15fc9eedac..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/android_environment.dart +++ /dev/null @@ -1,195 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; -import 'dart:isolate'; -import 'dart:math' as math; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; -import 'package:version/version.dart'; - -import 'target.dart'; -import 'util.dart'; - -class AndroidEnvironment { - AndroidEnvironment({ - required this.sdkPath, - required this.ndkVersion, - required this.minSdkVersion, - required this.targetTempDir, - required this.target, - }); - - static void clangLinkerWrapper(List args) { - final clang = Platform.environment['_CARGOKIT_NDK_LINK_CLANG']; - if (clang == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_CLANG env var"); - } - final target = Platform.environment['_CARGOKIT_NDK_LINK_TARGET']; - if (target == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_TARGET env var"); - } - - runCommand(clang, [ - target, - ...args, - ]); - } - - /// Full path to Android SDK. - final String sdkPath; - - /// Full version of Android NDK. - final String ndkVersion; - - /// Minimum supported SDK version. - final int minSdkVersion; - - /// Target directory for build artifacts. - final String targetTempDir; - - /// Target being built. - final Target target; - - bool ndkIsInstalled() { - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final ndkPackageXml = File(path.join(ndkPath, 'package.xml')); - return ndkPackageXml.existsSync(); - } - - void installNdk({ - required String javaHome, - }) { - final sdkManagerExtension = Platform.isWindows ? '.bat' : ''; - final sdkManager = path.join( - sdkPath, - 'cmdline-tools', - 'latest', - 'bin', - 'sdkmanager$sdkManagerExtension', - ); - - log.info('Installing NDK $ndkVersion'); - runCommand(sdkManager, [ - '--install', - 'ndk;$ndkVersion', - ], environment: { - 'JAVA_HOME': javaHome, - }); - } - - Future> buildEnvironment() async { - final hostArch = Platform.isMacOS - ? "darwin-x86_64" - : (Platform.isLinux ? "linux-x86_64" : "windows-x86_64"); - - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final toolchainPath = path.join( - ndkPath, - 'toolchains', - 'llvm', - 'prebuilt', - hostArch, - 'bin', - ); - - final minSdkVersion = - math.max(target.androidMinSdkVersion!, this.minSdkVersion); - - final exe = Platform.isWindows ? '.exe' : ''; - - final arKey = 'AR_${target.rust}'; - final arValue = ['${target.rust}-ar', 'llvm-ar', 'llvm-ar.exe'] - .map((e) => path.join(toolchainPath, e)) - .firstWhereOrNull((element) => File(element).existsSync()); - if (arValue == null) { - throw Exception('Failed to find ar for $target in $toolchainPath'); - } - - final targetArg = '--target=${target.rust}$minSdkVersion'; - - final ccKey = 'CC_${target.rust}'; - final ccValue = path.join(toolchainPath, 'clang$exe'); - final cfFlagsKey = 'CFLAGS_${target.rust}'; - final cFlagsValue = targetArg; - - final cxxKey = 'CXX_${target.rust}'; - final cxxValue = path.join(toolchainPath, 'clang++$exe'); - final cxxFlagsKey = 'CXXFLAGS_${target.rust}'; - final cxxFlagsValue = targetArg; - - final linkerKey = - 'cargo_target_${target.rust.replaceAll('-', '_')}_linker'.toUpperCase(); - - final ranlibKey = 'RANLIB_${target.rust}'; - final ranlibValue = path.join(toolchainPath, 'llvm-ranlib$exe'); - - final ndkVersionParsed = Version.parse(ndkVersion); - final rustFlagsKey = 'CARGO_ENCODED_RUSTFLAGS'; - final rustFlagsValue = _libGccWorkaround(targetTempDir, ndkVersionParsed); - - final runRustTool = - Platform.isWindows ? 'run_build_tool.cmd' : 'run_build_tool.sh'; - - final packagePath = (await Isolate.resolvePackageUri( - Uri.parse('package:build_tool/buildtool.dart')))! - .toFilePath(); - final selfPath = path.canonicalize(path.join( - packagePath, - '..', - '..', - '..', - runRustTool, - )); - - // Make sure that run_build_tool is working properly even initially launched directly - // through dart run. - final toolTempDir = - Platform.environment['CARGOKIT_TOOL_TEMP_DIR'] ?? targetTempDir; - - return { - arKey: arValue, - ccKey: ccValue, - cfFlagsKey: cFlagsValue, - cxxKey: cxxValue, - cxxFlagsKey: cxxFlagsValue, - ranlibKey: ranlibValue, - rustFlagsKey: rustFlagsValue, - linkerKey: selfPath, - // Recognized by main() so we know when we're acting as a wrapper - '_CARGOKIT_NDK_LINK_TARGET': targetArg, - '_CARGOKIT_NDK_LINK_CLANG': ccValue, - 'CARGOKIT_TOOL_TEMP_DIR': toolTempDir, - }; - } - - // Workaround for libgcc missing in NDK23, inspired by cargo-ndk - String _libGccWorkaround(String buildDir, Version ndkVersion) { - final workaroundDir = path.join( - buildDir, - 'cargokit', - 'libgcc_workaround', - '${ndkVersion.major}', - ); - Directory(workaroundDir).createSync(recursive: true); - if (ndkVersion.major >= 23) { - File(path.join(workaroundDir, 'libgcc.a')) - .writeAsStringSync('INPUT(-lunwind)'); - } else { - // Other way around, untested, forward libgcc.a from libunwind once Rust - // gets updated for NDK23+. - File(path.join(workaroundDir, 'libunwind.a')) - .writeAsStringSync('INPUT(-lgcc)'); - } - - var rustFlags = Platform.environment['CARGO_ENCODED_RUSTFLAGS'] ?? ''; - if (rustFlags.isNotEmpty) { - rustFlags = '$rustFlags\x1f'; - } - rustFlags = '$rustFlags-L\x1f$workaroundDir'; - return rustFlags; - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/artifacts_provider.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/artifacts_provider.dart deleted file mode 100644 index e608cece73..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/artifacts_provider.dart +++ /dev/null @@ -1,266 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'builder.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'rustup.dart'; -import 'target.dart'; - -class Artifact { - /// File system location of the artifact. - final String path; - - /// Actual file name that the artifact should have in destination folder. - final String finalFileName; - - AritifactType get type { - if (finalFileName.endsWith('.dll') || - finalFileName.endsWith('.dll.lib') || - finalFileName.endsWith('.pdb') || - finalFileName.endsWith('.so') || - finalFileName.endsWith('.dylib')) { - return AritifactType.dylib; - } else if (finalFileName.endsWith('.lib') || finalFileName.endsWith('.a')) { - return AritifactType.staticlib; - } else { - throw Exception('Unknown artifact type for $finalFileName'); - } - } - - Artifact({ - required this.path, - required this.finalFileName, - }); -} - -final _log = Logger('artifacts_provider'); - -class ArtifactProvider { - ArtifactProvider({ - required this.environment, - required this.userOptions, - }); - - final BuildEnvironment environment; - final CargokitUserOptions userOptions; - - Future>> getArtifacts(List targets) async { - final result = await _getPrecompiledArtifacts(targets); - - final pendingTargets = List.of(targets); - pendingTargets.removeWhere((element) => result.containsKey(element)); - - if (pendingTargets.isEmpty) { - return result; - } - - final rustup = Rustup(); - for (final target in targets) { - final builder = RustBuilder(target: target, environment: environment); - builder.prepare(rustup); - _log.info('Building ${environment.crateInfo.packageName} for $target'); - final targetDir = await builder.build(); - // For local build accept both static and dynamic libraries. - final artifactNames = { - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.dylib, - remote: false, - ), - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.staticlib, - remote: false, - ) - }; - final artifacts = artifactNames - .map((artifactName) => Artifact( - path: path.join(targetDir, artifactName), - finalFileName: artifactName, - )) - .where((element) => File(element.path).existsSync()) - .toList(); - result[target] = artifacts; - } - return result; - } - - Future>> _getPrecompiledArtifacts( - List targets) async { - if (userOptions.usePrecompiledBinaries == false) { - _log.info('Precompiled binaries are disabled'); - return {}; - } - if (environment.crateOptions.precompiledBinaries == null) { - _log.fine('Precompiled binaries not enabled for this crate'); - return {}; - } - - final start = Stopwatch()..start(); - final crateHash = CrateHash.compute(environment.manifestDir, - tempStorage: environment.targetTempDir); - _log.fine( - 'Computed crate hash $crateHash in ${start.elapsedMilliseconds}ms'); - - final downloadedArtifactsDir = - path.join(environment.targetTempDir, 'precompiled', crateHash); - Directory(downloadedArtifactsDir).createSync(recursive: true); - - final res = >{}; - - for (final target in targets) { - final requiredArtifacts = getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - remote: true, - ); - final artifactsForTarget = []; - - for (final artifact in requiredArtifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final downloadedPath = path.join(downloadedArtifactsDir, fileName); - if (!File(downloadedPath).existsSync()) { - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - await _tryDownloadArtifacts( - crateHash: crateHash, - fileName: fileName, - signatureFileName: signatureFileName, - finalPath: downloadedPath, - ); - } - if (File(downloadedPath).existsSync()) { - artifactsForTarget.add(Artifact( - path: downloadedPath, - finalFileName: artifact, - )); - } else { - break; - } - } - - // Only provide complete set of artifacts. - if (artifactsForTarget.length == requiredArtifacts.length) { - _log.fine('Found precompiled artifacts for $target'); - res[target] = artifactsForTarget; - } - } - - return res; - } - - static Future _get(Uri url, {Map? headers}) async { - int attempt = 0; - const maxAttempts = 10; - while (true) { - try { - return await get(url, headers: headers); - } on SocketException catch (e) { - // Try to detect reset by peer error and retry. - if (attempt++ < maxAttempts && - (e.osError?.errorCode == 54 || e.osError?.errorCode == 10054)) { - _log.severe( - 'Failed to download $url: $e, attempt $attempt of $maxAttempts, will retry...'); - await Future.delayed(Duration(seconds: 1)); - continue; - } else { - rethrow; - } - } - } - } - - Future _tryDownloadArtifacts({ - required String crateHash, - required String fileName, - required String signatureFileName, - required String finalPath, - }) async { - final precompiledBinaries = environment.crateOptions.precompiledBinaries!; - final prefix = precompiledBinaries.uriPrefix; - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = Uri.parse('$prefix$crateHash/$signatureFileName'); - _log.fine('Downloading signature from $signatureUrl'); - final signature = await _get(signatureUrl); - if (signature.statusCode == 404) { - _log.warning( - 'Precompiled binaries not available for crate hash $crateHash ($fileName)'); - return; - } - if (signature.statusCode != 200) { - _log.severe( - 'Failed to download signature $signatureUrl: status ${signature.statusCode}'); - return; - } - _log.fine('Downloading binary from $url'); - final res = await _get(url); - if (res.statusCode != 200) { - _log.severe('Failed to download binary $url: status ${res.statusCode}'); - return; - } - if (verify( - precompiledBinaries.publicKey, res.bodyBytes, signature.bodyBytes)) { - File(finalPath).writeAsBytesSync(res.bodyBytes); - } else { - _log.shout('Signature verification failed! Ignoring binary.'); - } - } -} - -enum AritifactType { - staticlib, - dylib, -} - -AritifactType artifactTypeForTarget(Target target) { - if (target.darwinPlatform != null) { - return AritifactType.staticlib; - } else { - return AritifactType.dylib; - } -} - -List getArtifactNames({ - required Target target, - required String libraryName, - required bool remote, - AritifactType? aritifactType, -}) { - aritifactType ??= artifactTypeForTarget(target); - if (target.darwinArch != null) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.dylib']; - } - } else if (target.rust.contains('-windows-')) { - if (aritifactType == AritifactType.staticlib) { - return ['$libraryName.lib']; - } else { - return [ - '$libraryName.dll', - '$libraryName.dll.lib', - if (!remote) '$libraryName.pdb' - ]; - } - } else if (target.rust.contains('-linux-')) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.so']; - } - } else { - throw Exception("Unsupported target: ${target.rust}"); - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_cmake.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/build_cmake.dart deleted file mode 100644 index 6f3b2a4ec1..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_cmake.dart +++ /dev/null @@ -1,40 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -class BuildCMake { - final CargokitUserOptions userOptions; - - BuildCMake({required this.userOptions}); - - Future build() async { - final targetPlatform = Environment.targetPlatform; - final target = Target.forFlutterName(Environment.targetPlatform); - if (target == null) { - throw Exception("Unknown target platform: $targetPlatform"); - } - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts([target]); - - final libs = artifacts[target]!; - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path) - .copySync(path.join(Environment.outputDir, lib.finalFileName)); - } - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_gradle.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/build_gradle.dart deleted file mode 100644 index 7e61fcbb7c..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_gradle.dart +++ /dev/null @@ -1,49 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -final log = Logger('build_gradle'); - -class BuildGradle { - BuildGradle({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.targetPlatforms.map((arch) { - final target = Target.forFlutterName(arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: true); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - for (final target in targets) { - final libs = artifacts[target]!; - final outputDir = path.join(Environment.outputDir, target.android!); - Directory(outputDir).createSync(recursive: true); - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path).copySync(path.join(outputDir, lib.finalFileName)); - } - } - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_pod.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/build_pod.dart deleted file mode 100644 index 8a9c0db5de..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_pod.dart +++ /dev/null @@ -1,89 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; -import 'util.dart'; - -class BuildPod { - BuildPod({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.darwinArchs.map((arch) { - final target = Target.forDarwin( - platformName: Environment.darwinPlatformName, darwinAarch: arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - void performLipo(String targetFile, Iterable sourceFiles) { - runCommand("lipo", [ - '-create', - ...sourceFiles, - '-output', - targetFile, - ]); - } - - final outputDir = Environment.outputDir; - - Directory(outputDir).createSync(recursive: true); - - final staticLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.staticlib) - .toList(); - final dynamicLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.dylib) - .toList(); - - final libName = environment.crateInfo.packageName; - - // If there is static lib, use it and link it with pod - if (staticLibs.isNotEmpty) { - final finalTargetFile = path.join(outputDir, "lib$libName.a"); - performLipo(finalTargetFile, staticLibs.map((e) => e.path)); - } else { - // Otherwise try to replace bundle dylib with our dylib - final bundlePaths = [ - '$libName.framework/Versions/A/$libName', - '$libName.framework/$libName', - ]; - - for (final bundlePath in bundlePaths) { - final targetFile = path.join(outputDir, bundlePath); - if (File(targetFile).existsSync()) { - performLipo(targetFile, dynamicLibs.map((e) => e.path)); - - // Replace absolute id with @rpath one so that it works properly - // when moved to Frameworks. - runCommand("install_name_tool", [ - '-id', - '@rpath/$bundlePath', - targetFile, - ]); - return; - } - } - throw Exception('Unable to find bundle for dynamic library'); - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_tool.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/build_tool.dart deleted file mode 100644 index c8f36981b5..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/build_tool.dart +++ /dev/null @@ -1,271 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:args/command_runner.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; - -import 'android_environment.dart'; -import 'build_cmake.dart'; -import 'build_gradle.dart'; -import 'build_pod.dart'; -import 'logging.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; -import 'util.dart'; -import 'verify_binaries.dart'; - -final log = Logger('build_tool'); - -abstract class BuildCommand extends Command { - Future runBuildCommand(CargokitUserOptions options); - - @override - Future run() async { - final options = CargokitUserOptions.load(); - - if (options.verboseLogging || - Platform.environment['CARGOKIT_VERBOSE'] == '1') { - enableVerboseLogging(); - } - - await runBuildCommand(options); - } -} - -class BuildPodCommand extends BuildCommand { - @override - final name = 'build-pod'; - - @override - final description = 'Build cocoa pod library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildPod(userOptions: options); - await build.build(); - } -} - -class BuildGradleCommand extends BuildCommand { - @override - final name = 'build-gradle'; - - @override - final description = 'Build android library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildGradle(userOptions: options); - await build.build(); - } -} - -class BuildCMakeCommand extends BuildCommand { - @override - final name = 'build-cmake'; - - @override - final description = 'Build CMake library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildCMake(userOptions: options); - await build.build(); - } -} - -class GenKeyCommand extends Command { - @override - final name = 'gen-key'; - - @override - final description = 'Generate key pair for signing precompiled binaries'; - - @override - void run() { - final kp = generateKey(); - final private = HEX.encode(kp.privateKey.bytes); - final public = HEX.encode(kp.publicKey.bytes); - print("Private Key: $private"); - print("Public Key: $public"); - } -} - -class PrecompileBinariesCommand extends Command { - PrecompileBinariesCommand() { - argParser - ..addOption( - 'repository', - mandatory: true, - help: 'Github repository slug in format owner/name', - ) - ..addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ) - ..addMultiOption('target', - help: 'Rust target triple of artifact to build.\n' - 'Can be specified multiple times or omitted in which case\n' - 'all targets for current platform will be built.') - ..addOption( - 'android-sdk-location', - help: 'Location of Android SDK (if available)', - ) - ..addOption( - 'android-ndk-version', - help: 'Android NDK version (if available)', - ) - ..addOption( - 'android-min-sdk-version', - help: 'Android minimum rquired version (if available)', - ) - ..addOption( - 'temp-dir', - help: 'Directory to store temporary build artifacts', - ) - ..addFlag( - "verbose", - abbr: "v", - defaultsTo: false, - help: "Enable verbose logging", - ); - } - - @override - final name = 'precompile-binaries'; - - @override - final description = 'Prebuild and upload binaries\n' - 'Private key must be passed through PRIVATE_KEY environment variable. ' - 'Use gen_key through generate priave key.\n' - 'Github token must be passed as GITHUB_TOKEN environment variable.\n'; - - @override - Future run() async { - final verbose = argResults!['verbose'] as bool; - if (verbose) { - enableVerboseLogging(); - } - - final privateKeyString = Platform.environment['PRIVATE_KEY']; - if (privateKeyString == null) { - throw ArgumentError('Missing PRIVATE_KEY environment variable'); - } - final githubToken = Platform.environment['GITHUB_TOKEN']; - if (githubToken == null) { - throw ArgumentError('Missing GITHUB_TOKEN environment variable'); - } - final privateKey = HEX.decode(privateKeyString); - if (privateKey.length != 64) { - throw ArgumentError('Private key must be 64 bytes long'); - } - final manifestDir = argResults!['manifest-dir'] as String; - if (!Directory(manifestDir).existsSync()) { - throw ArgumentError('Manifest directory does not exist: $manifestDir'); - } - String? androidMinSdkVersionString = - argResults!['android-min-sdk-version'] as String?; - int? androidMinSdkVersion; - if (androidMinSdkVersionString != null) { - androidMinSdkVersion = int.tryParse(androidMinSdkVersionString); - if (androidMinSdkVersion == null) { - throw ArgumentError( - 'Invalid android-min-sdk-version: $androidMinSdkVersionString'); - } - } - final targetStrigns = argResults!['target'] as List; - final targets = targetStrigns.map((target) { - final res = Target.forRustTriple(target); - if (res == null) { - throw ArgumentError('Invalid target: $target'); - } - return res; - }).toList(growable: false); - final precompileBinaries = PrecompileBinaries( - privateKey: PrivateKey(privateKey), - githubToken: githubToken, - manifestDir: manifestDir, - repositorySlug: RepositorySlug.full(argResults!['repository'] as String), - targets: targets, - androidSdkLocation: argResults!['android-sdk-location'] as String?, - androidNdkVersion: argResults!['android-ndk-version'] as String?, - androidMinSdkVersion: androidMinSdkVersion, - tempDir: argResults!['temp-dir'] as String?, - ); - - await precompileBinaries.run(); - } -} - -class VerifyBinariesCommand extends Command { - VerifyBinariesCommand() { - argParser.addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ); - } - - @override - final name = "verify-binaries"; - - @override - final description = 'Verifies published binaries\n' - 'Checks whether there is a binary published for each targets\n' - 'and checks the signature.'; - - @override - Future run() async { - final manifestDir = argResults!['manifest-dir'] as String; - final verifyBinaries = VerifyBinaries( - manifestDir: manifestDir, - ); - await verifyBinaries.run(); - } -} - -Future runMain(List args) async { - try { - // Init logging before options are loaded - initLogging(); - - if (Platform.environment['_CARGOKIT_NDK_LINK_TARGET'] != null) { - return AndroidEnvironment.clangLinkerWrapper(args); - } - - final runner = CommandRunner('build_tool', 'Cargokit built_tool') - ..addCommand(BuildPodCommand()) - ..addCommand(BuildGradleCommand()) - ..addCommand(BuildCMakeCommand()) - ..addCommand(GenKeyCommand()) - ..addCommand(PrecompileBinariesCommand()) - ..addCommand(VerifyBinariesCommand()); - - await runner.run(args); - } on ArgumentError catch (e) { - stderr.writeln(e.toString()); - exit(1); - } catch (e, s) { - log.severe(kDoubleSeparator); - log.severe('Cargokit BuildTool failed with error:'); - log.severe(kSeparator); - log.severe(e); - // This tells user to install Rust, there's no need to pollute the log with - // stack trace. - if (e is! RustupNotFoundException) { - log.severe(kSeparator); - log.severe(s); - log.severe(kSeparator); - log.severe('BuildTool arguments: $args'); - } - log.severe(kDoubleSeparator); - exit(1); - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/builder.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/builder.dart deleted file mode 100644 index 84c46e4f54..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/builder.dart +++ /dev/null @@ -1,198 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:collection/collection.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'android_environment.dart'; -import 'cargo.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; -import 'util.dart'; - -final _log = Logger('builder'); - -enum BuildConfiguration { - debug, - release, - profile, -} - -extension on BuildConfiguration { - bool get isDebug => this == BuildConfiguration.debug; - String get rustName => switch (this) { - BuildConfiguration.debug => 'debug', - BuildConfiguration.release => 'release', - BuildConfiguration.profile => 'release', - }; -} - -class BuildException implements Exception { - final String message; - - BuildException(this.message); - - @override - String toString() { - return 'BuildException: $message'; - } -} - -class BuildEnvironment { - final BuildConfiguration configuration; - final CargokitCrateOptions crateOptions; - final String targetTempDir; - final String manifestDir; - final CrateInfo crateInfo; - - final bool isAndroid; - final String? androidSdkPath; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? javaHome; - - BuildEnvironment({ - required this.configuration, - required this.crateOptions, - required this.targetTempDir, - required this.manifestDir, - required this.crateInfo, - required this.isAndroid, - this.androidSdkPath, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.javaHome, - }); - - static BuildConfiguration parseBuildConfiguration(String value) { - // XCode configuration adds the flavor to configuration name. - final firstSegment = value.split('-').first; - final buildConfiguration = BuildConfiguration.values.firstWhereOrNull( - (e) => e.name == firstSegment, - ); - if (buildConfiguration == null) { - _log.warning('Unknown build configuraiton $value, will assume release'); - return BuildConfiguration.release; - } - return buildConfiguration; - } - - static BuildEnvironment fromEnvironment({ - required bool isAndroid, - }) { - final buildConfiguration = - parseBuildConfiguration(Environment.configuration); - final manifestDir = Environment.manifestDir; - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - final crateInfo = CrateInfo.load(manifestDir); - return BuildEnvironment( - configuration: buildConfiguration, - crateOptions: crateOptions, - targetTempDir: Environment.targetTempDir, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: isAndroid, - androidSdkPath: isAndroid ? Environment.sdkPath : null, - androidNdkVersion: isAndroid ? Environment.ndkVersion : null, - androidMinSdkVersion: - isAndroid ? int.parse(Environment.minSdkVersion) : null, - javaHome: isAndroid ? Environment.javaHome : null, - ); - } -} - -class RustBuilder { - final Target target; - final BuildEnvironment environment; - - RustBuilder({ - required this.target, - required this.environment, - }); - - void prepare( - Rustup rustup, - ) { - final toolchain = _toolchain; - if (rustup.installedTargets(toolchain) == null) { - rustup.installToolchain(toolchain); - } - if (toolchain == 'nightly') { - rustup.installRustSrcForNightly(); - } - if (!rustup.installedTargets(toolchain)!.contains(target.rust)) { - rustup.installTarget(target.rust, toolchain: toolchain); - } - } - - CargoBuildOptions? get _buildOptions => - environment.crateOptions.cargo[environment.configuration]; - - String get _toolchain => _buildOptions?.toolchain.name ?? 'stable'; - - /// Returns the path of directory containing build artifacts. - Future build() async { - final extraArgs = _buildOptions?.flags ?? []; - final manifestPath = path.join(environment.manifestDir, 'Cargo.toml'); - runCommand( - 'rustup', - [ - 'run', - _toolchain, - 'cargo', - 'build', - ...extraArgs, - '--manifest-path', - manifestPath, - '-p', - environment.crateInfo.packageName, - if (!environment.configuration.isDebug) '--release', - '--target', - target.rust, - '--target-dir', - environment.targetTempDir, - ], - environment: await _buildEnvironment(), - ); - return path.join( - environment.targetTempDir, - target.rust, - environment.configuration.rustName, - ); - } - - Future> _buildEnvironment() async { - if (target.android == null) { - return {}; - } else { - final sdkPath = environment.androidSdkPath; - final ndkVersion = environment.androidNdkVersion; - final minSdkVersion = environment.androidMinSdkVersion; - if (sdkPath == null) { - throw BuildException('androidSdkPath is not set'); - } - if (ndkVersion == null) { - throw BuildException('androidNdkVersion is not set'); - } - if (minSdkVersion == null) { - throw BuildException('androidMinSdkVersion is not set'); - } - final env = AndroidEnvironment( - sdkPath: sdkPath, - ndkVersion: ndkVersion, - minSdkVersion: minSdkVersion, - targetTempDir: environment.targetTempDir, - target: target, - ); - if (!env.ndkIsInstalled() && environment.javaHome != null) { - env.installNdk(javaHome: environment.javaHome!); - } - return env.buildEnvironment(); - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/cargo.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/cargo.dart deleted file mode 100644 index 0d8958ff2e..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/cargo.dart +++ /dev/null @@ -1,48 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; -import 'package:toml/toml.dart'; - -class ManifestException { - ManifestException(this.message, {required this.fileName}); - - final String? fileName; - final String message; - - @override - String toString() { - if (fileName != null) { - return 'Failed to parse package manifest at $fileName: $message'; - } else { - return 'Failed to parse package manifest: $message'; - } - } -} - -class CrateInfo { - CrateInfo({required this.packageName}); - - final String packageName; - - static CrateInfo parseManifest(String manifest, {final String? fileName}) { - final toml = TomlDocument.parse(manifest); - final package = toml.toMap()['package']; - if (package == null) { - throw ManifestException('Missing package section', fileName: fileName); - } - final name = package['name']; - if (name == null) { - throw ManifestException('Missing package name', fileName: fileName); - } - return CrateInfo(packageName: name); - } - - static CrateInfo load(String manifestDir) { - final manifestFile = File(path.join(manifestDir, 'Cargo.toml')); - final manifest = manifestFile.readAsStringSync(); - return parseManifest(manifest, fileName: manifestFile.path); - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/crate_hash.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/crate_hash.dart deleted file mode 100644 index 0c4d88d16b..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/crate_hash.dart +++ /dev/null @@ -1,124 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:collection/collection.dart'; -import 'package:convert/convert.dart'; -import 'package:crypto/crypto.dart'; -import 'package:path/path.dart' as path; - -class CrateHash { - /// Computes a hash uniquely identifying crate content. This takes into account - /// content all all .rs files inside the src directory, as well as Cargo.toml, - /// Cargo.lock, build.rs and cargokit.yaml. - /// - /// If [tempStorage] is provided, computed hash is stored in a file in that directory - /// and reused on subsequent calls if the crate content hasn't changed. - static String compute(String manifestDir, {String? tempStorage}) { - return CrateHash._( - manifestDir: manifestDir, - tempStorage: tempStorage, - )._compute(); - } - - CrateHash._({ - required this.manifestDir, - required this.tempStorage, - }); - - String _compute() { - final files = getFiles(); - final tempStorage = this.tempStorage; - if (tempStorage != null) { - final quickHash = _computeQuickHash(files); - final quickHashFolder = Directory(path.join(tempStorage, 'crate_hash')); - quickHashFolder.createSync(recursive: true); - final quickHashFile = File(path.join(quickHashFolder.path, quickHash)); - if (quickHashFile.existsSync()) { - return quickHashFile.readAsStringSync(); - } - final hash = _computeHash(files); - quickHashFile.writeAsStringSync(hash); - return hash; - } else { - return _computeHash(files); - } - } - - /// Computes a quick hash based on files stat (without reading contents). This - /// is used to cache the real hash, which is slower to compute since it involves - /// reading every single file. - String _computeQuickHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - final data = ByteData(8); - for (final file in files) { - input.add(utf8.encode(file.path)); - final stat = file.statSync(); - data.setUint64(0, stat.size); - input.add(data.buffer.asUint8List()); - data.setUint64(0, stat.modified.millisecondsSinceEpoch); - input.add(data.buffer.asUint8List()); - } - - input.close(); - return base64Url.encode(output.events.single.bytes); - } - - String _computeHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - void addTextFile(File file) { - // text Files are hashed by lines in case we're dealing with github checkout - // that auto-converts line endings. - final splitter = LineSplitter(); - if (file.existsSync()) { - final data = file.readAsStringSync(); - final lines = splitter.convert(data); - for (final line in lines) { - input.add(utf8.encode(line)); - } - } - } - - for (final file in files) { - addTextFile(file); - } - - input.close(); - final res = output.events.single; - - // Truncate to 128bits. - final hash = res.bytes.sublist(0, 16); - return hex.encode(hash); - } - - List getFiles() { - final src = Directory(path.join(manifestDir, 'src')); - final files = src - .listSync(recursive: true, followLinks: false) - .whereType() - .toList(); - files.sortBy((element) => element.path); - void addFile(String relative) { - final file = File(path.join(manifestDir, relative)); - if (file.existsSync()) { - files.add(file); - } - } - - addFile('Cargo.toml'); - addFile('Cargo.lock'); - addFile('build.rs'); - addFile('cargokit.yaml'); - return files; - } - - final String manifestDir; - final String? tempStorage; -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/environment.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/environment.dart deleted file mode 100644 index 996483a180..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/environment.dart +++ /dev/null @@ -1,68 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -extension on String { - String resolveSymlink() => File(this).resolveSymbolicLinksSync(); -} - -class Environment { - /// Current build configuration (debug or release). - static String get configuration => - _getEnv("CARGOKIT_CONFIGURATION").toLowerCase(); - - static bool get isDebug => configuration == 'debug'; - static bool get isRelease => configuration == 'release'; - - /// Temporary directory where Rust build artifacts are placed. - static String get targetTempDir => _getEnv("CARGOKIT_TARGET_TEMP_DIR"); - - /// Final output directory where the build artifacts are placed. - static String get outputDir => _getEnvPath('CARGOKIT_OUTPUT_DIR'); - - /// Path to the crate manifest (containing Cargo.toml). - static String get manifestDir => _getEnvPath('CARGOKIT_MANIFEST_DIR'); - - /// Directory inside root project. Not necessarily root folder. Symlinks are - /// not resolved on purpose. - static String get rootProjectDir => _getEnv('CARGOKIT_ROOT_PROJECT_DIR'); - - // Pod - - /// Platform name (macosx, iphoneos, iphonesimulator). - static String get darwinPlatformName => - _getEnv("CARGOKIT_DARWIN_PLATFORM_NAME"); - - /// List of architectures to build for (arm64, armv7, x86_64). - static List get darwinArchs => - _getEnv("CARGOKIT_DARWIN_ARCHS").split(' '); - - // Gradle - static String get minSdkVersion => _getEnv("CARGOKIT_MIN_SDK_VERSION"); - static String get ndkVersion => _getEnv("CARGOKIT_NDK_VERSION"); - static String get sdkPath => _getEnvPath("CARGOKIT_SDK_DIR"); - static String get javaHome => _getEnvPath("CARGOKIT_JAVA_HOME"); - static List get targetPlatforms => - _getEnv("CARGOKIT_TARGET_PLATFORMS").split(','); - - // CMAKE - static String get targetPlatform => _getEnv("CARGOKIT_TARGET_PLATFORM"); - - static String _getEnv(String key) { - final res = Platform.environment[key]; - if (res == null) { - throw Exception("Missing environment variable $key"); - } - return res; - } - - static String _getEnvPath(String key) { - final res = _getEnv(key); - if (Directory(res).existsSync()) { - return res.resolveSymlink(); - } else { - return res; - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/logging.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/logging.dart deleted file mode 100644 index 5edd4fd184..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/logging.dart +++ /dev/null @@ -1,52 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; - -const String kSeparator = "--"; -const String kDoubleSeparator = "=="; - -bool _lastMessageWasSeparator = false; - -void _log(LogRecord rec) { - final prefix = '${rec.level.name}: '; - final out = rec.level == Level.SEVERE ? stderr : stdout; - if (rec.message == kSeparator) { - if (!_lastMessageWasSeparator) { - out.write(prefix); - out.writeln('-' * 80); - _lastMessageWasSeparator = true; - } - return; - } else if (rec.message == kDoubleSeparator) { - out.write(prefix); - out.writeln('=' * 80); - _lastMessageWasSeparator = true; - return; - } - out.write(prefix); - out.writeln(rec.message); - _lastMessageWasSeparator = false; -} - -void initLogging() { - Logger.root.level = Level.INFO; - Logger.root.onRecord.listen((LogRecord rec) { - final lines = rec.message.split('\n'); - for (final line in lines) { - if (line.isNotEmpty || lines.length == 1 || line != lines.last) { - _log(LogRecord( - rec.level, - line, - rec.loggerName, - )); - } - } - }); -} - -void enableVerboseLogging() { - Logger.root.level = Level.ALL; -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/options.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/options.dart deleted file mode 100644 index 22aef1d371..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/options.dart +++ /dev/null @@ -1,309 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; -import 'package:source_span/source_span.dart'; -import 'package:yaml/yaml.dart'; - -import 'builder.dart'; -import 'environment.dart'; -import 'rustup.dart'; - -final _log = Logger('options'); - -/// A class for exceptions that have source span information attached. -class SourceSpanException implements Exception { - // This is a getter so that subclasses can override it. - /// A message describing the exception. - String get message => _message; - final String _message; - - // This is a getter so that subclasses can override it. - /// The span associated with this exception. - /// - /// This may be `null` if the source location can't be determined. - SourceSpan? get span => _span; - final SourceSpan? _span; - - SourceSpanException(this._message, this._span); - - /// Returns a string representation of `this`. - /// - /// [color] may either be a [String], a [bool], or `null`. If it's a string, - /// it indicates an ANSI terminal color escape that should be used to - /// highlight the span's text. If it's `true`, it indicates that the text - /// should be highlighted using the default color. If it's `false` or `null`, - /// it indicates that the text shouldn't be highlighted. - @override - String toString({Object? color}) { - if (span == null) return message; - return 'Error on ${span!.message(message, color: color)}'; - } -} - -enum Toolchain { - stable, - beta, - nightly, -} - -class CargoBuildOptions { - final Toolchain toolchain; - final List flags; - - CargoBuildOptions({ - required this.toolchain, - required this.flags, - }); - - static Toolchain _toolchainFromNode(YamlNode node) { - if (node case YamlScalar(value: String name)) { - final toolchain = - Toolchain.values.firstWhereOrNull((element) => element.name == name); - if (toolchain != null) { - return toolchain; - } - } - throw SourceSpanException( - 'Unknown toolchain. Must be one of ${Toolchain.values.map((e) => e.name)}.', - node.span); - } - - static CargoBuildOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - Toolchain toolchain = Toolchain.stable; - List flags = []; - for (final MapEntry(:key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: 'toolchain')) { - toolchain = _toolchainFromNode(value); - } else if (key case YamlScalar(value: 'extra_flags')) { - if (value case YamlList(nodes: List list)) { - if (list.every((element) { - if (element case YamlScalar(value: String _)) { - return true; - } - return false; - })) { - flags = list.map((e) => e.value as String).toList(); - continue; - } - } - throw SourceSpanException( - 'Extra flags must be a list of strings', value.span); - } else { - throw SourceSpanException( - 'Unknown cargo option type. Must be "toolchain" or "extra_flags".', - key.span); - } - } - return CargoBuildOptions(toolchain: toolchain, flags: flags); - } -} - -extension on YamlMap { - /// Map that extracts keys so that we can do map case check on them. - Map get valueMap => - nodes.map((key, value) => MapEntry(key.value, value)); -} - -class PrecompiledBinaries { - final String uriPrefix; - final PublicKey publicKey; - - PrecompiledBinaries({ - required this.uriPrefix, - required this.publicKey, - }); - - static PublicKey _publicKeyFromHex(String key, SourceSpan? span) { - final bytes = HEX.decode(key); - if (bytes.length != 32) { - throw SourceSpanException( - 'Invalid public key. Must be 32 bytes long.', span); - } - return PublicKey(bytes); - } - - static PrecompiledBinaries parse(YamlNode node) { - if (node case YamlMap(valueMap: Map map)) { - if (map - case { - 'url_prefix': YamlNode urlPrefixNode, - 'public_key': YamlNode publicKeyNode, - }) { - final urlPrefix = switch (urlPrefixNode) { - YamlScalar(value: String urlPrefix) => urlPrefix, - _ => throw SourceSpanException( - 'Invalid URL prefix value.', urlPrefixNode.span), - }; - final publicKey = switch (publicKeyNode) { - YamlScalar(value: String publicKey) => - _publicKeyFromHex(publicKey, publicKeyNode.span), - _ => throw SourceSpanException( - 'Invalid public key value.', publicKeyNode.span), - }; - return PrecompiledBinaries( - uriPrefix: urlPrefix, - publicKey: publicKey, - ); - } - } - throw SourceSpanException( - 'Invalid precompiled binaries value. ' - 'Expected Map with "url_prefix" and "public_key".', - node.span); - } -} - -/// Cargokit options specified for Rust crate. -class CargokitCrateOptions { - CargokitCrateOptions({ - this.cargo = const {}, - this.precompiledBinaries, - }); - - final Map cargo; - final PrecompiledBinaries? precompiledBinaries; - - static CargokitCrateOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - final options = {}; - PrecompiledBinaries? precompiledBinaries; - - for (final entry in node.nodes.entries) { - if (entry - case MapEntry( - key: YamlScalar(value: 'cargo'), - value: YamlNode node, - )) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - for (final MapEntry(:YamlNode key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: String name)) { - final configuration = BuildConfiguration.values - .firstWhereOrNull((element) => element.name == name); - if (configuration != null) { - options[configuration] = CargoBuildOptions.parse(value); - continue; - } - } - throw SourceSpanException( - 'Unknown build configuration. Must be one of ${BuildConfiguration.values.map((e) => e.name)}.', - key.span); - } - } else if (entry.key case YamlScalar(value: 'precompiled_binaries')) { - precompiledBinaries = PrecompiledBinaries.parse(entry.value); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "cargo" or "precompiled_binaries".', - entry.key.span); - } - } - return CargokitCrateOptions( - cargo: options, - precompiledBinaries: precompiledBinaries, - ); - } - - static CargokitCrateOptions load({ - required String manifestDir, - }) { - final uri = Uri.file(path.join(manifestDir, "cargokit.yaml")); - final file = File.fromUri(uri); - if (file.existsSync()) { - final contents = loadYamlNode(file.readAsStringSync(), sourceUrl: uri); - return parse(contents); - } else { - return CargokitCrateOptions(); - } - } -} - -class CargokitUserOptions { - // When Rustup is installed always build locally unless user opts into - // using precompiled binaries. - static bool defaultUsePrecompiledBinaries() { - return Rustup.executablePath() == null; - } - - CargokitUserOptions({ - required this.usePrecompiledBinaries, - required this.verboseLogging, - }); - - CargokitUserOptions._() - : usePrecompiledBinaries = defaultUsePrecompiledBinaries(), - verboseLogging = false; - - static CargokitUserOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - bool usePrecompiledBinaries = defaultUsePrecompiledBinaries(); - bool verboseLogging = false; - - for (final entry in node.nodes.entries) { - if (entry.key case YamlScalar(value: 'use_precompiled_binaries')) { - if (entry.value case YamlScalar(value: bool value)) { - usePrecompiledBinaries = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "use_precompiled_binaries". Must be a boolean.', - entry.value.span); - } else if (entry.key case YamlScalar(value: 'verbose_logging')) { - if (entry.value case YamlScalar(value: bool value)) { - verboseLogging = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "verbose_logging". Must be a boolean.', - entry.value.span); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "use_precompiled_binaries" or "verbose_logging".', - entry.key.span); - } - } - return CargokitUserOptions( - usePrecompiledBinaries: usePrecompiledBinaries, - verboseLogging: verboseLogging, - ); - } - - static CargokitUserOptions load() { - String fileName = "cargokit_options.yaml"; - var userProjectDir = Directory(Environment.rootProjectDir); - - while (userProjectDir.parent.path != userProjectDir.path) { - final configFile = File(path.join(userProjectDir.path, fileName)); - if (configFile.existsSync()) { - final contents = loadYamlNode( - configFile.readAsStringSync(), - sourceUrl: configFile.uri, - ); - final res = parse(contents); - if (res.verboseLogging) { - _log.info('Found user options file at ${configFile.path}'); - } - return res; - } - userProjectDir = userProjectDir.parent; - } - return CargokitUserOptions._(); - } - - final bool usePrecompiledBinaries; - final bool verboseLogging; -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/precompile_binaries.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/precompile_binaries.dart deleted file mode 100644 index c27f4195dd..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/precompile_binaries.dart +++ /dev/null @@ -1,202 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; - -final _log = Logger('precompile_binaries'); - -class PrecompileBinaries { - PrecompileBinaries({ - required this.privateKey, - required this.githubToken, - required this.repositorySlug, - required this.manifestDir, - required this.targets, - this.androidSdkLocation, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.tempDir, - }); - - final PrivateKey privateKey; - final String githubToken; - final RepositorySlug repositorySlug; - final String manifestDir; - final List targets; - final String? androidSdkLocation; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? tempDir; - - static String fileName(Target target, String name) { - return '${target.rust}_$name'; - } - - static String signatureFileName(Target target, String name) { - return '${target.rust}_$name.sig'; - } - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final targets = List.of(this.targets); - if (targets.isEmpty) { - targets.addAll([ - ...Target.buildableTargets(), - if (androidSdkLocation != null) ...Target.androidTargets(), - ]); - } - - _log.info('Precompiling binaries for $targets'); - - final hash = CrateHash.compute(manifestDir); - _log.info('Computed crate hash: $hash'); - - final String tagName = 'precompiled_$hash'; - - final github = GitHub(auth: Authentication.withToken(githubToken)); - final repo = github.repositories; - final release = await _getOrCreateRelease( - repo: repo, - tagName: tagName, - packageName: crateInfo.packageName, - hash: hash, - ); - - final tempDir = this.tempDir != null - ? Directory(this.tempDir!) - : Directory.systemTemp.createTempSync('precompiled_'); - - tempDir.createSync(recursive: true); - - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - - final buildEnvironment = BuildEnvironment( - configuration: BuildConfiguration.release, - crateOptions: crateOptions, - targetTempDir: tempDir.path, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: androidSdkLocation != null, - androidSdkPath: androidSdkLocation, - androidNdkVersion: androidNdkVersion, - androidMinSdkVersion: androidMinSdkVersion, - ); - - final rustup = Rustup(); - - for (final target in targets) { - final artifactNames = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - if (artifactNames.every((name) { - final fileName = PrecompileBinaries.fileName(target, name); - return (release.assets ?? []).any((e) => e.name == fileName); - })) { - _log.info("All artifacts for $target already exist - skipping"); - continue; - } - - _log.info('Building for $target'); - - final builder = - RustBuilder(target: target, environment: buildEnvironment); - builder.prepare(rustup); - final res = await builder.build(); - - final assets = []; - for (final name in artifactNames) { - final file = File(path.join(res, name)); - if (!file.existsSync()) { - throw Exception('Missing artifact: ${file.path}'); - } - - final data = file.readAsBytesSync(); - final create = CreateReleaseAsset( - name: PrecompileBinaries.fileName(target, name), - contentType: "application/octet-stream", - assetData: data, - ); - final signature = sign(privateKey, data); - final signatureCreate = CreateReleaseAsset( - name: signatureFileName(target, name), - contentType: "application/octet-stream", - assetData: signature, - ); - bool verified = verify(public(privateKey), data, signature); - if (!verified) { - throw Exception('Signature verification failed'); - } - assets.add(create); - assets.add(signatureCreate); - } - _log.info('Uploading assets: ${assets.map((e) => e.name)}'); - for (final asset in assets) { - // This seems to be failing on CI so do it one by one - int retryCount = 0; - while (true) { - try { - await repo.uploadReleaseAssets(release, [asset]); - break; - } on Exception catch (e) { - if (retryCount == 10) { - rethrow; - } - ++retryCount; - _log.shout( - 'Upload failed (attempt $retryCount, will retry): ${e.toString()}'); - await Future.delayed(Duration(seconds: 2)); - } - } - } - } - - _log.info('Cleaning up'); - tempDir.deleteSync(recursive: true); - } - - Future _getOrCreateRelease({ - required RepositoriesService repo, - required String tagName, - required String packageName, - required String hash, - }) async { - Release release; - try { - _log.info('Fetching release $tagName'); - release = await repo.getReleaseByTagName(repositorySlug, tagName); - } on ReleaseNotFound { - _log.info('Release not found - creating release $tagName'); - release = await repo.createRelease( - repositorySlug, - CreateRelease.from( - tagName: tagName, - name: 'Precompiled binaries ${hash.substring(0, 8)}', - targetCommitish: null, - isDraft: false, - isPrerelease: false, - body: 'Precompiled binaries for crate $packageName, ' - 'crate hash $hash.', - )); - } - return release; - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/rustup.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/rustup.dart deleted file mode 100644 index 0ac8d08616..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/rustup.dart +++ /dev/null @@ -1,136 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; - -import 'util.dart'; - -class _Toolchain { - _Toolchain( - this.name, - this.targets, - ); - - final String name; - final List targets; -} - -class Rustup { - List? installedTargets(String toolchain) { - final targets = _installedTargets(toolchain); - return targets != null ? List.unmodifiable(targets) : null; - } - - void installToolchain(String toolchain) { - log.info("Installing Rust toolchain: $toolchain"); - runCommand("rustup", ['toolchain', 'install', toolchain]); - _installedToolchains - .add(_Toolchain(toolchain, _getInstalledTargets(toolchain))); - } - - void installTarget( - String target, { - required String toolchain, - }) { - log.info("Installing Rust target: $target"); - runCommand("rustup", [ - 'target', - 'add', - '--toolchain', - toolchain, - target, - ]); - _installedTargets(toolchain)?.add(target); - } - - final List<_Toolchain> _installedToolchains; - - Rustup() : _installedToolchains = _getInstalledToolchains(); - - List? _installedTargets(String toolchain) => _installedToolchains - .firstWhereOrNull( - (e) => e.name == toolchain || e.name.startsWith('$toolchain-')) - ?.targets; - - static List<_Toolchain> _getInstalledToolchains() { - String extractToolchainName(String line) { - // ignore (default) after toolchain name - final parts = line.split(' '); - return parts[0]; - } - - final res = runCommand("rustup", ['toolchain', 'list']); - - // To list all non-custom toolchains, we need to filter out lines that - // don't start with "stable", "beta", or "nightly". - Pattern nonCustom = RegExp(r"^(stable|beta|nightly)"); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty && e.startsWith(nonCustom)) - .map(extractToolchainName) - .toList(growable: true); - - return lines - .map( - (name) => _Toolchain( - name, - _getInstalledTargets(name), - ), - ) - .toList(growable: true); - } - - static List _getInstalledTargets(String toolchain) { - final res = runCommand("rustup", [ - 'target', - 'list', - '--toolchain', - toolchain, - '--installed', - ]); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty) - .toList(growable: true); - return lines; - } - - bool _didInstallRustSrcForNightly = false; - - void installRustSrcForNightly() { - if (_didInstallRustSrcForNightly) { - return; - } - // Useful for -Z build-std - runCommand( - "rustup", - ['component', 'add', 'rust-src', '--toolchain', 'nightly'], - ); - _didInstallRustSrcForNightly = true; - } - - static String? executablePath() { - final envPath = Platform.environment['PATH']; - final envPathSeparator = Platform.isWindows ? ';' : ':'; - final home = Platform.isWindows - ? Platform.environment['USERPROFILE'] - : Platform.environment['HOME']; - final paths = [ - if (home != null) path.join(home, '.cargo', 'bin'), - if (envPath != null) ...envPath.split(envPathSeparator), - ]; - for (final p in paths) { - final rustup = Platform.isWindows ? 'rustup.exe' : 'rustup'; - final rustupPath = path.join(p, rustup); - if (File(rustupPath).existsSync()) { - return rustupPath; - } - } - return null; - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/target.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/target.dart deleted file mode 100644 index 6fbc58b64f..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/target.dart +++ /dev/null @@ -1,140 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; - -import 'util.dart'; - -class Target { - Target({ - required this.rust, - this.flutter, - this.android, - this.androidMinSdkVersion, - this.darwinPlatform, - this.darwinArch, - }); - - static final all = [ - Target( - rust: 'armv7-linux-androideabi', - flutter: 'android-arm', - android: 'armeabi-v7a', - androidMinSdkVersion: 16, - ), - Target( - rust: 'aarch64-linux-android', - flutter: 'android-arm64', - android: 'arm64-v8a', - androidMinSdkVersion: 21, - ), - Target( - rust: 'i686-linux-android', - flutter: 'android-x86', - android: 'x86', - androidMinSdkVersion: 16, - ), - Target( - rust: 'x86_64-linux-android', - flutter: 'android-x64', - android: 'x86_64', - androidMinSdkVersion: 21, - ), - Target( - rust: 'x86_64-pc-windows-msvc', - flutter: 'windows-x64', - ), - Target( - rust: 'x86_64-unknown-linux-gnu', - flutter: 'linux-x64', - ), - Target( - rust: 'aarch64-unknown-linux-gnu', - flutter: 'linux-arm64', - ), - Target( - rust: 'x86_64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'x86_64', - ), - Target( - rust: 'aarch64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios', - darwinPlatform: 'iphoneos', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios-sim', - darwinPlatform: 'iphonesimulator', - darwinArch: 'arm64', - ), - Target( - rust: 'x86_64-apple-ios', - darwinPlatform: 'iphonesimulator', - darwinArch: 'x86_64', - ), - ]; - - static Target? forFlutterName(String flutterName) { - return all.firstWhereOrNull((element) => element.flutter == flutterName); - } - - static Target? forDarwin({ - required String platformName, - required String darwinAarch, - }) { - return all.firstWhereOrNull((element) => // - element.darwinPlatform == platformName && - element.darwinArch == darwinAarch); - } - - static Target? forRustTriple(String triple) { - return all.firstWhereOrNull((element) => element.rust == triple); - } - - static List androidTargets() { - return all - .where((element) => element.android != null) - .toList(growable: false); - } - - /// Returns buildable targets on current host platform ignoring Android targets. - static List buildableTargets() { - if (Platform.isLinux) { - // Right now we don't support cross-compiling on Linux. So we just return - // the host target. - final arch = runCommand('arch', []).stdout as String; - if (arch.trim() == 'aarch64') { - return [Target.forRustTriple('aarch64-unknown-linux-gnu')!]; - } else { - return [Target.forRustTriple('x86_64-unknown-linux-gnu')!]; - } - } - return all.where((target) { - if (Platform.isWindows) { - return target.rust.contains('-windows-'); - } else if (Platform.isMacOS) { - return target.darwinPlatform != null; - } - return false; - }).toList(growable: false); - } - - @override - String toString() { - return rust; - } - - final String? flutter; - final String rust; - final String? android; - final int? androidMinSdkVersion; - final String? darwinPlatform; - final String? darwinArch; -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/util.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/util.dart deleted file mode 100644 index 8bb6a8724f..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/util.dart +++ /dev/null @@ -1,172 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'logging.dart'; -import 'rustup.dart'; - -final log = Logger("process"); - -class CommandFailedException implements Exception { - final String executable; - final List arguments; - final ProcessResult result; - - CommandFailedException({ - required this.executable, - required this.arguments, - required this.result, - }); - - @override - String toString() { - final stdout = result.stdout.toString().trim(); - final stderr = result.stderr.toString().trim(); - return [ - "External Command: $executable ${arguments.map((e) => '"$e"').join(' ')}", - "Returned Exit Code: ${result.exitCode}", - kSeparator, - "STDOUT:", - if (stdout.isNotEmpty) stdout, - kSeparator, - "STDERR:", - if (stderr.isNotEmpty) stderr, - ].join('\n'); - } -} - -class TestRunCommandArgs { - final String executable; - final List arguments; - final String? workingDirectory; - final Map? environment; - final bool includeParentEnvironment; - final bool runInShell; - final Encoding? stdoutEncoding; - final Encoding? stderrEncoding; - - TestRunCommandArgs({ - required this.executable, - required this.arguments, - this.workingDirectory, - this.environment, - this.includeParentEnvironment = true, - this.runInShell = false, - this.stdoutEncoding, - this.stderrEncoding, - }); -} - -class TestRunCommandResult { - TestRunCommandResult({ - this.pid = 1, - this.exitCode = 0, - this.stdout = '', - this.stderr = '', - }); - - final int pid; - final int exitCode; - final String stdout; - final String stderr; -} - -TestRunCommandResult Function(TestRunCommandArgs args)? testRunCommandOverride; - -ProcessResult runCommand( - String executable, - List arguments, { - String? workingDirectory, - Map? environment, - bool includeParentEnvironment = true, - bool runInShell = false, - Encoding? stdoutEncoding = systemEncoding, - Encoding? stderrEncoding = systemEncoding, -}) { - if (testRunCommandOverride != null) { - final result = testRunCommandOverride!(TestRunCommandArgs( - executable: executable, - arguments: arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stdoutEncoding: stdoutEncoding, - stderrEncoding: stderrEncoding, - )); - return ProcessResult( - result.pid, - result.exitCode, - result.stdout, - result.stderr, - ); - } - log.finer('Running command $executable ${arguments.join(' ')}'); - final res = Process.runSync( - _resolveExecutable(executable), - arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stderrEncoding: stderrEncoding, - stdoutEncoding: stdoutEncoding, - ); - if (res.exitCode != 0) { - throw CommandFailedException( - executable: executable, - arguments: arguments, - result: res, - ); - } else { - return res; - } -} - -class RustupNotFoundException implements Exception { - @override - String toString() { - return [ - ' ', - 'rustup not found in PATH.', - ' ', - 'Maybe you need to install Rust? It only takes a minute:', - ' ', - if (Platform.isWindows) 'https://www.rust-lang.org/tools/install', - if (hasHomebrewRustInPath()) ...[ - '\$ brew unlink rust # Unlink homebrew Rust from PATH', - ], - if (!Platform.isWindows) - "\$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh", - ' ', - ].join('\n'); - } - - static bool hasHomebrewRustInPath() { - if (!Platform.isMacOS) { - return false; - } - final envPath = Platform.environment['PATH'] ?? ''; - final paths = envPath.split(':'); - return paths.any((p) { - return p.contains('homebrew') && File(path.join(p, 'rustc')).existsSync(); - }); - } -} - -String _resolveExecutable(String executable) { - if (executable == 'rustup') { - final resolved = Rustup.executablePath(); - if (resolved != null) { - return resolved; - } - throw RustupNotFoundException(); - } else { - return executable; - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/lib/src/verify_binaries.dart b/frb_example/flutter_package/cargokit/build_tool/lib/src/verify_binaries.dart deleted file mode 100644 index 2366b57bfd..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/lib/src/verify_binaries.dart +++ /dev/null @@ -1,84 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; - -import 'artifacts_provider.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; - -class VerifyBinaries { - VerifyBinaries({ - required this.manifestDir, - }); - - final String manifestDir; - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final config = CargokitCrateOptions.load(manifestDir: manifestDir); - final precompiledBinaries = config.precompiledBinaries; - if (precompiledBinaries == null) { - stdout.writeln('Crate does not support precompiled binaries.'); - } else { - final crateHash = CrateHash.compute(manifestDir); - stdout.writeln('Crate hash: $crateHash'); - - for (final target in Target.all) { - final message = 'Checking ${target.rust}...'; - stdout.write(message.padRight(40)); - stdout.flush(); - - final artifacts = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - final prefix = precompiledBinaries.uriPrefix; - - bool ok = true; - - for (final artifact in artifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = - Uri.parse('$prefix$crateHash/$signatureFileName'); - - final signature = await get(signatureUrl); - if (signature.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - final asset = await get(url); - if (asset.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - - if (!verify(precompiledBinaries.publicKey, asset.bodyBytes, - signature.bodyBytes)) { - stdout.writeln('INVALID SIGNATURE'); - ok = false; - } - } - - if (ok) { - stdout.writeln('OK'); - } - } - } - } -} diff --git a/frb_example/flutter_package/cargokit/build_tool/pubspec.lock b/frb_example/flutter_package/cargokit/build_tool/pubspec.lock deleted file mode 100644 index 343bdd3694..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/pubspec.lock +++ /dev/null @@ -1,453 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.dev" - source: hosted - version: "64.0.0" - adaptive_number: - dependency: transitive - description: - name: adaptive_number - sha256: "3a567544e9b5c9c803006f51140ad544aedc79604fd4f3f2c1380003f97c1d77" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.dev" - source: hosted - version: "6.2.0" - args: - dependency: "direct main" - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - collection: - dependency: "direct main" - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: "direct main" - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" - url: "https://pub.dev" - source: hosted - version: "1.6.3" - crypto: - dependency: "direct main" - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - ed25519_edwards: - dependency: "direct main" - description: - name: ed25519_edwards - sha256: "6ce0112d131327ec6d42beede1e5dfd526069b18ad45dcf654f15074ad9276cd" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - github: - dependency: "direct main" - description: - name: github - sha256: "9966bc13bf612342e916b0a343e95e5f046c88f602a14476440e9b75d2295411" - url: "https://pub.dev" - source: hosted - version: "9.17.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - hex: - dependency: "direct main" - description: - name: hex - sha256: "4e7cd54e4b59ba026432a6be2dd9d96e4c5205725194997193bf871703b82c4a" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - http: - dependency: "direct main" - description: - name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - lints: - dependency: "direct dev" - description: - name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - logging: - dependency: "direct main" - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" - url: "https://pub.dev" - source: hosted - version: "0.12.16" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - url: "https://pub.dev" - source: hosted - version: "2.0.2" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: "direct main" - description: - name: path - sha256: "2ad4cddff7f5cc0e2d13069f2a3f7a73ca18f66abd6f5ecf215219cdb3638edb" - url: "https://pub.dev" - source: hosted - version: "1.8.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 - url: "https://pub.dev" - source: hosted - version: "5.4.0" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" - url: "https://pub.dev" - source: hosted - version: "0.10.12" - source_span: - dependency: "direct main" - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - sha256: "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9" - url: "https://pub.dev" - source: hosted - version: "1.24.6" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - test_core: - dependency: transitive - description: - name: test_core - sha256: "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265" - url: "https://pub.dev" - source: hosted - version: "0.5.6" - toml: - dependency: "direct main" - description: - name: toml - sha256: "157c5dca5160fced243f3ce984117f729c788bb5e475504f3dbcda881accee44" - url: "https://pub.dev" - source: hosted - version: "0.14.0" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - version: - dependency: "direct main" - description: - name: version - sha256: "2307e23a45b43f96469eeab946208ed63293e8afca9c28cd8b5241ff31c55f55" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "0fae432c85c4ea880b33b497d32824b97795b04cdaa74d270219572a1f50268d" - url: "https://pub.dev" - source: hosted - version: "11.9.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.dev" - source: hosted - version: "2.4.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - yaml: - dependency: "direct main" - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.0.0 <4.0.0" diff --git a/frb_example/flutter_package/cargokit/build_tool/pubspec.yaml b/frb_example/flutter_package/cargokit/build_tool/pubspec.yaml deleted file mode 100644 index 18c61e3386..0000000000 --- a/frb_example/flutter_package/cargokit/build_tool/pubspec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -name: build_tool -description: Cargokit build_tool. Facilitates the build of Rust crate during Flutter application build. -publish_to: none -version: 1.0.0 - -environment: - sdk: ">=3.0.0 <4.0.0" - -# Add regular dependencies here. -dependencies: - # these are pinned on purpose because the bundle_tool_runner doesn't have - # pubspec.lock. See run_build_tool.sh - logging: 1.2.0 - path: 1.8.0 - version: 3.0.0 - collection: 1.18.0 - ed25519_edwards: 0.3.1 - hex: 0.2.0 - yaml: 3.1.2 - source_span: 1.10.0 - github: 9.17.0 - args: 2.4.2 - crypto: 3.0.3 - convert: 3.1.1 - http: 1.1.0 - toml: 0.14.0 - -dev_dependencies: - lints: ^2.1.0 - test: ^1.24.0 diff --git a/frb_example/flutter_package/cargokit/cmake/cargokit.cmake b/frb_example/flutter_package/cargokit/cmake/cargokit.cmake deleted file mode 100644 index ddd05df9b4..0000000000 --- a/frb_example/flutter_package/cargokit/cmake/cargokit.cmake +++ /dev/null @@ -1,99 +0,0 @@ -SET(cargokit_cmake_root "${CMAKE_CURRENT_LIST_DIR}/..") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -get_filename_component(cargokit_cmake_root "${cargokit_cmake_root}" REALPATH) - -if(WIN32) - # REALPATH does not properly resolve symlinks on windows :-/ - execute_process(COMMAND powershell -ExecutionPolicy Bypass -File "${CMAKE_CURRENT_LIST_DIR}/resolve_symlinks.ps1" "${cargokit_cmake_root}" OUTPUT_VARIABLE cargokit_cmake_root OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() - -# Arguments -# - target: CMAKE target to which rust library is linked -# - manifest_dir: relative path from current folder to directory containing cargo manifest -# - lib_name: cargo package name -# - any_symbol_name: name of any exported symbol from the library. -# used on windows to force linking with library. -function(apply_cargokit target manifest_dir lib_name any_symbol_name) - - set(CARGOKIT_LIB_NAME "${lib_name}") - set(CARGOKIT_LIB_FULL_NAME "${CMAKE_SHARED_MODULE_PREFIX}${CARGOKIT_LIB_NAME}${CMAKE_SHARED_MODULE_SUFFIX}") - if (CMAKE_CONFIGURATION_TYPES) - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/$/${CARGOKIT_LIB_FULL_NAME}") - else() - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/${CARGOKIT_LIB_FULL_NAME}") - endif() - set(CARGOKIT_TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/cargokit_build") - - if (FLUTTER_TARGET_PLATFORM) - set(CARGOKIT_TARGET_PLATFORM "${FLUTTER_TARGET_PLATFORM}") - else() - set(CARGOKIT_TARGET_PLATFORM "windows-x64") - endif() - - set(CARGOKIT_ENV - "CARGOKIT_CMAKE=${CMAKE_COMMAND}" - "CARGOKIT_CONFIGURATION=$" - "CARGOKIT_MANIFEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${manifest_dir}" - "CARGOKIT_TARGET_TEMP_DIR=${CARGOKIT_TEMP_DIR}" - "CARGOKIT_OUTPUT_DIR=${CARGOKIT_OUTPUT_DIR}" - "CARGOKIT_TARGET_PLATFORM=${CARGOKIT_TARGET_PLATFORM}" - "CARGOKIT_TOOL_TEMP_DIR=${CARGOKIT_TEMP_DIR}/tool" - "CARGOKIT_ROOT_PROJECT_DIR=${CMAKE_SOURCE_DIR}" - ) - - if (WIN32) - set(SCRIPT_EXTENSION ".cmd") - set(IMPORT_LIB_EXTENSION ".lib") - else() - set(SCRIPT_EXTENSION ".sh") - set(IMPORT_LIB_EXTENSION "") - execute_process(COMMAND chmod +x "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}") - endif() - - # Using generators in custom command is only supported in CMake 3.20+ - if (CMAKE_CONFIGURATION_TYPES AND ${CMAKE_VERSION} VERSION_LESS "3.20.0") - foreach(CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES) - add_custom_command( - OUTPUT - "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG}/${CARGOKIT_LIB_FULL_NAME}" - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endforeach() - else() - add_custom_command( - OUTPUT - ${OUTPUT_LIB} - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endif() - - - set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/_phony_" PROPERTIES SYMBOLIC TRUE) - - if (TARGET ${target}) - # If we have actual cmake target provided create target and make existing - # target depend on it - add_custom_target("${target}_cargokit" DEPENDS ${OUTPUT_LIB}) - add_dependencies("${target}" "${target}_cargokit") - target_link_libraries("${target}" PRIVATE "${OUTPUT_LIB}${IMPORT_LIB_EXTENSION}") - if(WIN32) - target_link_options(${target} PRIVATE "/INCLUDE:${any_symbol_name}") - endif() - else() - # Otherwise (FFI) just use ALL to force building always - add_custom_target("${target}_cargokit" ALL DEPENDS ${OUTPUT_LIB}) - endif() - - # Allow adding the output library to plugin bundled libraries - set("${target}_cargokit_lib" ${OUTPUT_LIB} PARENT_SCOPE) - -endfunction() diff --git a/frb_example/flutter_package/cargokit/cmake/resolve_symlinks.ps1 b/frb_example/flutter_package/cargokit/cmake/resolve_symlinks.ps1 deleted file mode 100644 index 3d10d283c2..0000000000 --- a/frb_example/flutter_package/cargokit/cmake/resolve_symlinks.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -function Resolve-Symlinks { - [CmdletBinding()] - [OutputType([string])] - param( - [Parameter(Position = 0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] - [string] $Path - ) - - [string] $separator = '/' - [string[]] $parts = $Path.Split($separator) - - [string] $realPath = '' - foreach ($part in $parts) { - if ($realPath -and !$realPath.EndsWith($separator)) { - $realPath += $separator - } - $realPath += $part - $item = Get-Item $realPath - if ($item.Target) { - $realPath = $item.Target.Replace('\', '/') - } - } - $realPath -} - -$path=Resolve-Symlinks -Path $args[0] -Write-Host $path diff --git a/frb_example/flutter_package/cargokit/gradle/plugin.gradle b/frb_example/flutter_package/cargokit/gradle/plugin.gradle deleted file mode 100644 index 1aead89136..0000000000 --- a/frb_example/flutter_package/cargokit/gradle/plugin.gradle +++ /dev/null @@ -1,179 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import java.nio.file.Paths -import org.apache.tools.ant.taskdefs.condition.Os - -CargoKitPlugin.file = buildscript.sourceFile - -apply plugin: CargoKitPlugin - -class CargoKitExtension { - String manifestDir; // Relative path to folder containing Cargo.toml - String libname; // Library name within Cargo.toml. Must be a cdylib -} - -abstract class CargoKitBuildTask extends DefaultTask { - - @Input - String buildMode - - @Input - String buildDir - - @Input - String outputDir - - @Input - String ndkVersion - - @Input - String sdkDirectory - - @Input - int compileSdkVersion; - - @Input - int minSdkVersion; - - @Input - String pluginFile - - @Input - List targetPlatforms - - @TaskAction - def build() { - if (project.cargokit.manifestDir == null) { - throw new GradleException("Property 'manifestDir' must be set on cargokit extension"); - } - - if (project.cargokit.libname == null) { - throw new GradleException("Property 'libname' must be set on cargokit extension"); - } - - def executableName = Os.isFamily(Os.FAMILY_WINDOWS) ? "run_build_tool.cmd" : "run_build_tool.sh" - def path = Paths.get(new File(pluginFile).parent, "..", executableName); - - def manifestDir = Paths.get(project.buildscript.sourceFile.parent, project.cargokit.manifestDir) - - def rootProjectDir = project.rootProject.projectDir - - if (!Os.isFamily(Os.FAMILY_WINDOWS)) { - project.exec { - commandLine 'chmod', '+x', path - } - } - - project.exec { - executable path - args "build-gradle" - environment "CARGOKIT_ROOT_PROJECT_DIR", rootProjectDir - environment "CARGOKIT_TOOL_TEMP_DIR", "${buildDir}/build_tool" - environment "CARGOKIT_MANIFEST_DIR", manifestDir - environment "CARGOKIT_CONFIGURATION", buildMode - environment "CARGOKIT_TARGET_TEMP_DIR", buildDir - environment "CARGOKIT_OUTPUT_DIR", outputDir - environment "CARGOKIT_NDK_VERSION", ndkVersion - environment "CARGOKIT_SDK_DIR", sdkDirectory - environment "CARGOKIT_COMPILE_SDK_VERSION", compileSdkVersion - environment "CARGOKIT_MIN_SDK_VERSION", minSdkVersion - environment "CARGOKIT_TARGET_PLATFORMS", targetPlatforms.join(",") - environment "CARGOKIT_JAVA_HOME", System.properties['java.home'] - } - } -} - -class CargoKitPlugin implements Plugin { - - static String file; - - private Plugin findFlutterPlugin(Project rootProject) { - _findFlutterPlugin(rootProject.childProjects) - } - - private Plugin _findFlutterPlugin(Map projects) { - for (project in projects) { - for (plugin in project.value.getPlugins()) { - if (plugin.class.name == "FlutterPlugin") { - return plugin; - } - } - def plugin = _findFlutterPlugin(project.value.childProjects); - if (plugin != null) { - return plugin; - } - } - return null; - } - - @Override - void apply(Project project) { - def plugin = findFlutterPlugin(project.rootProject); - - project.extensions.create("cargokit", CargoKitExtension) - - if (plugin == null) { - print("Flutter plugin not found, CargoKit plugin will not be applied.") - return; - } - - def cargoBuildDir = "${project.buildDir}/build" - - // Determine if the project is an application or library - def isApplication = plugin.project.plugins.hasPlugin('com.android.application') - def variants = isApplication ? plugin.project.android.applicationVariants : plugin.project.android.libraryVariants - - variants.all { variant -> - - final buildType = variant.buildType.name - - def cargoOutputDir = "${project.buildDir}/jniLibs/${buildType}"; - def jniLibs = project.android.sourceSets.maybeCreate(buildType).jniLibs; - jniLibs.srcDir(new File(cargoOutputDir)) - - def platforms = plugin.getTargetPlatforms().collect() - - // Same thing addFlutterDependencies does in flutter.gradle - if (buildType == "debug") { - platforms.add("android-x86") - platforms.add("android-x64") - } - - // The task name depends on plugin properties, which are not available - // at this point - project.getGradle().afterProject { - def taskName = "cargokitCargoBuild${project.cargokit.libname.capitalize()}${buildType.capitalize()}"; - - if (project.tasks.findByName(taskName)) { - return - } - - if (plugin.project.android.ndkVersion == null) { - throw new GradleException("Please set 'android.ndkVersion' in 'app/build.gradle'.") - } - - def task = project.tasks.create(taskName, CargoKitBuildTask.class) { - buildMode = variant.buildType.name - buildDir = cargoBuildDir - outputDir = cargoOutputDir - ndkVersion = plugin.project.android.ndkVersion - sdkDirectory = plugin.project.android.sdkDirectory - minSdkVersion = plugin.project.android.defaultConfig.minSdkVersion.apiLevel as int - compileSdkVersion = plugin.project.android.compileSdkVersion.substring(8) as int - targetPlatforms = platforms - pluginFile = CargoKitPlugin.file - } - def onTask = { newTask -> - if (newTask.name == "merge${buildType.capitalize()}NativeLibs") { - newTask.dependsOn task - // Fix gradle 7.4.2 not picking up JNI library changes - newTask.outputs.upToDateWhen { false } - } - } - project.tasks.each onTask - project.tasks.whenTaskAdded onTask - } - } - } -} diff --git a/frb_example/flutter_package/cargokit/run_build_tool.cmd b/frb_example/flutter_package/cargokit/run_build_tool.cmd deleted file mode 100755 index c45d0aa8b5..0000000000 --- a/frb_example/flutter_package/cargokit/run_build_tool.cmd +++ /dev/null @@ -1,91 +0,0 @@ -@echo off -setlocal - -setlocal ENABLEDELAYEDEXPANSION - -SET BASEDIR=%~dp0 - -if not exist "%CARGOKIT_TOOL_TEMP_DIR%" ( - mkdir "%CARGOKIT_TOOL_TEMP_DIR%" -) -cd /D "%CARGOKIT_TOOL_TEMP_DIR%" - -SET BUILD_TOOL_PKG_DIR=%BASEDIR%build_tool -SET DART=%FLUTTER_ROOT%\bin\cache\dart-sdk\bin\dart - -set BUILD_TOOL_PKG_DIR_POSIX=%BUILD_TOOL_PKG_DIR:\=/% - -( - echo name: build_tool_runner - echo version: 1.0.0 - echo publish_to: none - echo. - echo environment: - echo sdk: '^>=3.0.0 ^<4.0.0' - echo. - echo dependencies: - echo build_tool: - echo path: %BUILD_TOOL_PKG_DIR_POSIX% -) >pubspec.yaml - -if not exist bin ( - mkdir bin -) - -( - echo import 'package:build_tool/build_tool.dart' as build_tool; - echo void main^(List^ args^) ^{ - echo build_tool.runMain^(args^); - echo ^} -) >bin\build_tool_runner.dart - -SET PRECOMPILED=bin\build_tool_runner.dill - -REM To detect changes in package we compare output of DIR /s (recursive) -set PREV_PACKAGE_INFO=.dart_tool\package_info.prev -set CUR_PACKAGE_INFO=.dart_tool\package_info.cur - -DIR "%BUILD_TOOL_PKG_DIR%" /s > "%CUR_PACKAGE_INFO%_orig" - -REM Last line in dir output is free space on harddrive. That is bound to -REM change between invocation so we need to remove it -( - Set "Line=" - For /F "UseBackQ Delims=" %%A In ("%CUR_PACKAGE_INFO%_orig") Do ( - SetLocal EnableDelayedExpansion - If Defined Line Echo !Line! - EndLocal - Set "Line=%%A") -) >"%CUR_PACKAGE_INFO%" -DEL "%CUR_PACKAGE_INFO%_orig" - -REM Compare current directory listing with previous -FC /B "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" > nul 2>&1 - -If %ERRORLEVEL% neq 0 ( - REM Changed - copy current to previous and remove precompiled kernel - if exist "%PREV_PACKAGE_INFO%" ( - DEL "%PREV_PACKAGE_INFO%" - ) - MOVE /Y "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" - if exist "%PRECOMPILED%" ( - DEL "%PRECOMPILED%" - ) -) - -REM There is no CUR_PACKAGE_INFO it was renamed in previous step to %PREV_PACKAGE_INFO% -REM which means we need to do pub get and precompile -if not exist "%PRECOMPILED%" ( - echo Running pub get in "%cd%" - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart -) - -"%DART%" "%PRECOMPILED%" %* - -REM 253 means invalid snapshot version. -If %ERRORLEVEL% equ 253 ( - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart - "%DART%" "%PRECOMPILED%" %* -) diff --git a/frb_example/flutter_package/cargokit/run_build_tool.sh b/frb_example/flutter_package/cargokit/run_build_tool.sh deleted file mode 100755 index 6e594a23d4..0000000000 --- a/frb_example/flutter_package/cargokit/run_build_tool.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -set -e - -BASEDIR=$(dirname "$0") - -mkdir -p "$CARGOKIT_TOOL_TEMP_DIR" - -cd "$CARGOKIT_TOOL_TEMP_DIR" - -# Write a very simple bin package in temp folder that depends on build_tool package -# from Cargokit. This is done to ensure that we don't pollute Cargokit folder -# with .dart_tool contents. - -BUILD_TOOL_PKG_DIR="$BASEDIR/build_tool" - -if [[ -z $FLUTTER_ROOT ]]; then # not defined - DART=dart -else - DART="$FLUTTER_ROOT/bin/cache/dart-sdk/bin/dart" -fi - -cat << EOF > "pubspec.yaml" -name: build_tool_runner -version: 1.0.0 -publish_to: none - -environment: - sdk: '>=3.0.0 <4.0.0' - -dependencies: - build_tool: - path: "$BUILD_TOOL_PKG_DIR" -EOF - -mkdir -p "bin" - -cat << EOF > "bin/build_tool_runner.dart" -import 'package:build_tool/build_tool.dart' as build_tool; -void main(List args) { - build_tool.runMain(args); -} -EOF - -# Create alias for `shasum` if it does not exist and `sha1sum` exists -if ! [ -x "$(command -v shasum)" ] && [ -x "$(command -v sha1sum)" ]; then - shopt -s expand_aliases - alias shasum="sha1sum" -fi - -# Dart run will not cache any package that has a path dependency, which -# is the case for our build_tool_runner. So instead we precompile the package -# ourselves. -# To invalidate the cached kernel we use the hash of ls -LR of the build_tool -# package directory. This should be good enough, as the build_tool package -# itself is not meant to have any path dependencies. - -if [[ "$OSTYPE" == "darwin"* ]]; then - PACKAGE_HASH=$(ls -lTR "$BUILD_TOOL_PKG_DIR" | shasum) -else - PACKAGE_HASH=$(ls -lR --full-time "$BUILD_TOOL_PKG_DIR" | shasum) -fi - -PACKAGE_HASH_FILE=".package_hash" - -if [ -f "$PACKAGE_HASH_FILE" ]; then - EXISTING_HASH=$(cat "$PACKAGE_HASH_FILE") - if [ "$PACKAGE_HASH" != "$EXISTING_HASH" ]; then - rm "$PACKAGE_HASH_FILE" - fi -fi - -# Run pub get if needed. -if [ ! -f "$PACKAGE_HASH_FILE" ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - echo "$PACKAGE_HASH" > "$PACKAGE_HASH_FILE" -fi - -set +e - -"$DART" bin/build_tool_runner.dill "$@" - -exit_code=$? - -# 253 means invalid snapshot version. -if [ $exit_code == 253 ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - "$DART" bin/build_tool_runner.dill "$@" - exit_code=$? -fi - -exit $exit_code diff --git a/frb_example/flutter_package/example/android/.gitignore b/frb_example/flutter_package/example/android/.gitignore index 6f568019d3..55afd919c6 100644 --- a/frb_example/flutter_package/example/android/.gitignore +++ b/frb_example/flutter_package/example/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/frb_example/flutter_package/example/android/app/build.gradle b/frb_example/flutter_package/example/android/app/build.gradle index 27d20aa2e1..40a2de7066 100644 --- a/frb_example/flutter_package/example/android/app/build.gradle +++ b/frb_example/flutter_package/example/android/app/build.gradle @@ -5,24 +5,6 @@ plugins { id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - android { namespace = "com.example.flutter_package_example" compileSdk = flutter.compileSdkVersion @@ -33,15 +15,19 @@ android { targetCompatibility = JavaVersion.VERSION_1_8 } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.example.flutter_package_example" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { diff --git a/frb_example/flutter_package/example/android/gradle.properties b/frb_example/flutter_package/example/android/gradle.properties index 3b5b324f6e..2597170821 100644 --- a/frb_example/flutter_package/example/android/gradle.properties +++ b/frb_example/flutter_package/example/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/frb_example/flutter_package/example/ios/Flutter/Debug.xcconfig b/frb_example/flutter_package/example/ios/Flutter/Debug.xcconfig index ec97fc6f30..592ceee85b 100644 --- a/frb_example/flutter_package/example/ios/Flutter/Debug.xcconfig +++ b/frb_example/flutter_package/example/ios/Flutter/Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_package/example/ios/Flutter/Release.xcconfig b/frb_example/flutter_package/example/ios/Flutter/Release.xcconfig index c4855bfe20..592ceee85b 100644 --- a/frb_example/flutter_package/example/ios/Flutter/Release.xcconfig +++ b/frb_example/flutter_package/example/ios/Flutter/Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_package/example/ios/Podfile b/frb_example/flutter_package/example/ios/Podfile deleted file mode 100644 index d97f17e223..0000000000 --- a/frb_example/flutter_package/example/ios/Podfile +++ /dev/null @@ -1,44 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '12.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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/frb_example/flutter_package/example/ios/Runner.xcodeproj/project.pbxproj b/frb_example/flutter_package/example/ios/Runner.xcodeproj/project.pbxproj index 75a5aec313..8783735239 100644 --- a/frb_example/flutter_package/example/ios/Runner.xcodeproj/project.pbxproj +++ b/frb_example/flutter_package/example/ios/Runner.xcodeproj/project.pbxproj @@ -362,6 +362,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -541,6 +542,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -563,6 +565,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/frb_example/flutter_package/example/ios/Runner/AppDelegate.swift b/frb_example/flutter_package/example/ios/Runner/AppDelegate.swift index 9074fee929..626664468b 100644 --- a/frb_example/flutter_package/example/ios/Runner/AppDelegate.swift +++ b/frb_example/flutter_package/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Flutter import UIKit -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.cc b/frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.cc deleted file mode 100644 index e71a16d23d..0000000000 --- a/frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,11 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - - -void fl_register_plugins(FlPluginRegistry* registry) { -} diff --git a/frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.h b/frb_example/flutter_package/example/linux/flutter/generated_plugin_registrant.h deleted file mode 100644 index e0f0a47bc0..0000000000 --- a/frb_example/flutter_package/example/linux/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 fl_register_plugins(FlPluginRegistry* registry); - -#endif // GENERATED_PLUGIN_REGISTRANT_ diff --git a/frb_example/flutter_package/example/linux/flutter/generated_plugins.cmake b/frb_example/flutter_package/example/linux/flutter/generated_plugins.cmake deleted file mode 100644 index 7f773b731e..0000000000 --- a/frb_example/flutter_package/example/linux/flutter/generated_plugins.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST - flutter_package -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/linux plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/linux plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/frb_example/flutter_package/example/macos/Flutter/Flutter-Debug.xcconfig b/frb_example/flutter_package/example/macos/Flutter/Flutter-Debug.xcconfig index 4b81f9b2d2..c2efd0b608 100644 --- a/frb_example/flutter_package/example/macos/Flutter/Flutter-Debug.xcconfig +++ b/frb_example/flutter_package/example/macos/Flutter/Flutter-Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_package/example/macos/Flutter/Flutter-Release.xcconfig b/frb_example/flutter_package/example/macos/Flutter/Flutter-Release.xcconfig index 5caa9d1579..c2efd0b608 100644 --- a/frb_example/flutter_package/example/macos/Flutter/Flutter-Release.xcconfig +++ b/frb_example/flutter_package/example/macos/Flutter/Flutter-Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_package/example/macos/Flutter/GeneratedPluginRegistrant.swift b/frb_example/flutter_package/example/macos/Flutter/GeneratedPluginRegistrant.swift deleted file mode 100644 index cccf817a52..0000000000 --- a/frb_example/flutter_package/example/macos/Flutter/GeneratedPluginRegistrant.swift +++ /dev/null @@ -1,10 +0,0 @@ -// -// Generated file. Do not edit. -// - -import FlutterMacOS -import Foundation - - -func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { -} diff --git a/frb_example/flutter_package/example/macos/Podfile b/frb_example/flutter_package/example/macos/Podfile deleted file mode 100644 index c795730db8..0000000000 --- a/frb_example/flutter_package/example/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '10.14' - -# 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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/frb_example/flutter_package/example/macos/Runner/AppDelegate.swift b/frb_example/flutter_package/example/macos/Runner/AppDelegate.swift index d53ef64377..8e02df2888 100644 --- a/frb_example/flutter_package/example/macos/Runner/AppDelegate.swift +++ b/frb_example/flutter_package/example/macos/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/frb_example/flutter_package/example/pubspec.lock b/frb_example/flutter_package/example/pubspec.lock index f3faaef802..331756b484 100644 --- a/frb_example/flutter_package/example/pubspec.lock +++ b/frb_example/flutter_package/example/pubspec.lock @@ -1,14 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - args: - dependency: transitive - description: - name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" async: dependency: transitive description: @@ -25,14 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - build_cli_annotations: - dependency: transitive - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" characters: dependency: transitive description: @@ -73,32 +57,19 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" - flutter_driver: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "4.0.0" flutter_package: dependency: "direct main" description: @@ -106,44 +77,27 @@ packages: relative: true source: path version: "0.0.1" - flutter_rust_bridge: - dependency: transitive - description: - path: "../../../frb_dart" - relative: true - source: path - version: "2.3.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - fuchsia_remote_debug_protocol: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - integration_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -156,10 +110,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: @@ -172,18 +126,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -192,14 +146,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" - platform: - dependency: transitive - description: - name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" - url: "https://pub.dev" - source: hosted - version: "3.1.4" plugin_platform_interface: dependency: transitive description: @@ -208,14 +154,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.8" - process: - dependency: transitive - description: - name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" - url: "https://pub.dev" - source: hosted - version: "5.0.2" sky_engine: dependency: transitive description: flutter @@ -253,14 +191,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - sync_http: - dependency: transitive - description: - name: sync_http - sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.dev" - source: hosted - version: "0.3.1" term_glyph: dependency: transitive description: @@ -273,10 +203,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -289,26 +219,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" - url: "https://pub.dev" - source: hosted - version: "14.2.1" - web: - dependency: transitive - description: - name: web - sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 - url: "https://pub.dev" - source: hosted - version: "1.0.0" - webdriver: - dependency: transitive - description: - name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "14.2.5" sdks: - dart: ">=3.4.0 <4.0.0" + dart: ">=3.5.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/frb_example/flutter_package/example/pubspec.yaml b/frb_example/flutter_package/example/pubspec.yaml index 2a2da727cb..8d2b6ec2f9 100644 --- a/frb_example/flutter_package/example/pubspec.yaml +++ b/frb_example/flutter_package/example/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.5.1 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -41,7 +41,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.6 + cupertino_icons: ^1.0.8 dev_dependencies: flutter_test: @@ -52,9 +52,7 @@ dev_dependencies: # 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: ^3.0.0 - integration_test: - sdk: flutter + flutter_lints: ^4.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -73,10 +71,10 @@ flutter: # - 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 + # https://flutter.dev/to/resolution-aware-images # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages + # https://flutter.dev/to/asset-from-package # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a @@ -96,4 +94,4 @@ flutter: # weight: 700 # # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages + # see https://flutter.dev/to/font-from-package diff --git a/frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.cc b/frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.cc deleted file mode 100644 index 8b6d4680af..0000000000 --- a/frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.cc +++ /dev/null @@ -1,11 +0,0 @@ -// -// Generated file. Do not edit. -// - -// clang-format off - -#include "generated_plugin_registrant.h" - - -void RegisterPlugins(flutter::PluginRegistry* registry) { -} diff --git a/frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.h b/frb_example/flutter_package/example/windows/flutter/generated_plugin_registrant.h deleted file mode 100644 index dc139d85a9..0000000000 --- a/frb_example/flutter_package/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/frb_example/flutter_package/example/windows/flutter/generated_plugins.cmake b/frb_example/flutter_package/example/windows/flutter/generated_plugins.cmake deleted file mode 100644 index 2c16a5b946..0000000000 --- a/frb_example/flutter_package/example/windows/flutter/generated_plugins.cmake +++ /dev/null @@ -1,24 +0,0 @@ -# -# Generated file, do not edit. -# - -list(APPEND FLUTTER_PLUGIN_LIST -) - -list(APPEND FLUTTER_FFI_PLUGIN_LIST - flutter_package -) - -set(PLUGIN_BUNDLED_LIBRARIES) - -foreach(plugin ${FLUTTER_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${plugin}/windows plugins/${plugin}) - target_link_libraries(${BINARY_NAME} PRIVATE ${plugin}_plugin) - list(APPEND PLUGIN_BUNDLED_LIBRARIES $) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${plugin}_bundled_libraries}) -endforeach(plugin) - -foreach(ffi_plugin ${FLUTTER_FFI_PLUGIN_LIST}) - add_subdirectory(flutter/ephemeral/.plugin_symlinks/${ffi_plugin}/windows plugins/${ffi_plugin}) - list(APPEND PLUGIN_BUNDLED_LIBRARIES ${${ffi_plugin}_bundled_libraries}) -endforeach(ffi_plugin) diff --git a/frb_example/flutter_package/example/windows/runner/runner.exe.manifest b/frb_example/flutter_package/example/windows/runner/runner.exe.manifest index a42ea7687c..153653e8d6 100644 --- a/frb_example/flutter_package/example/windows/runner/runner.exe.manifest +++ b/frb_example/flutter_package/example/windows/runner/runner.exe.manifest @@ -9,12 +9,6 @@ - - - - - - diff --git a/frb_example/flutter_package/pubspec.yaml b/frb_example/flutter_package/pubspec.yaml index c47f2b544e..9d2b24088d 100644 --- a/frb_example/flutter_package/pubspec.yaml +++ b/frb_example/flutter_package/pubspec.yaml @@ -5,14 +5,12 @@ version: 0.0.1 homepage: environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.5.1 flutter: '>=3.3.0' dependencies: flutter: sdk: flutter - flutter_rust_bridge: - path: ../../frb_dart plugin_platform_interface: ^2.0.2 dev_dependencies: @@ -20,9 +18,7 @@ dev_dependencies: ffigen: ^11.0.0 flutter_test: sdk: flutter - flutter_lints: ^3.0.0 - integration_test: - sdk: flutter + flutter_lints: ^4.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -60,10 +56,10 @@ flutter: # - images/a_dot_ham.jpeg # # For details regarding assets in packages, see - # https://flutter.dev/assets-and-images/#from-packages + # https://flutter.dev/to/asset-from-package # # An image asset can refer to one or more resolution-specific "variants", see - # https://flutter.dev/assets-and-images/#resolution-aware + # https://flutter.dev/to/resolution-aware-images # To add custom fonts to your plugin package, add a fonts section here, # in this "flutter" section. Each entry in this list should have a @@ -83,4 +79,4 @@ flutter: # weight: 700 # # For details regarding fonts in packages, see - # https://flutter.dev/custom-fonts/#from-packages + # https://flutter.dev/to/font-from-package diff --git a/frb_example/flutter_package/rust/Cargo.lock b/frb_example/flutter_package/rust/Cargo.lock index 792e38e874..08f2f5135f 100644 --- a/frb_example/flutter_package/rust/Cargo.lock +++ b/frb_example/flutter_package/rust/Cargo.lock @@ -206,13 +206,6 @@ dependencies = [ "regex", ] -[[package]] -name = "flutter_package" -version = "0.1.0" -dependencies = [ - "flutter_rust_bridge", -] - [[package]] name = "flutter_rust_bridge" version = "2.3.0" @@ -514,6 +507,13 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" +[[package]] +name = "flutter_package" +version = "0.1.0" +dependencies = [ + "flutter_rust_bridge", +] + [[package]] name = "rustc-demangle" version = "0.1.23" diff --git a/frb_example/flutter_via_create/.metadata b/frb_example/flutter_via_create/.metadata index 8ca14df433..391c336b2f 100644 --- a/frb_example/flutter_via_create/.metadata +++ b/frb_example/flutter_via_create/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" + revision: "5874a72aa4c779a02553007c47dacbefba2374dc" channel: "stable" project_type: app @@ -13,26 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: android - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: ios - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: linux - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: macos - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: web - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: windows - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc # User provided section diff --git a/frb_example/flutter_via_create/android/.gitignore b/frb_example/flutter_via_create/android/.gitignore index 6f568019d3..55afd919c6 100644 --- a/frb_example/flutter_via_create/android/.gitignore +++ b/frb_example/flutter_via_create/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/frb_example/flutter_via_create/android/app/build.gradle b/frb_example/flutter_via_create/android/app/build.gradle index da523b306b..e4f23572ae 100644 --- a/frb_example/flutter_via_create/android/app/build.gradle +++ b/frb_example/flutter_via_create/android/app/build.gradle @@ -5,24 +5,6 @@ plugins { id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - android { namespace = "com.example.flutter_via_create" compileSdk = flutter.compileSdkVersion @@ -33,15 +15,19 @@ android { targetCompatibility = JavaVersion.VERSION_1_8 } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.example.flutter_via_create" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { diff --git a/frb_example/flutter_via_create/android/gradle.properties b/frb_example/flutter_via_create/android/gradle.properties index 3b5b324f6e..2597170821 100644 --- a/frb_example/flutter_via_create/android/gradle.properties +++ b/frb_example/flutter_via_create/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/frb_example/flutter_via_create/ios/Flutter/Debug.xcconfig b/frb_example/flutter_via_create/ios/Flutter/Debug.xcconfig index ec97fc6f30..592ceee85b 100644 --- a/frb_example/flutter_via_create/ios/Flutter/Debug.xcconfig +++ b/frb_example/flutter_via_create/ios/Flutter/Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_via_create/ios/Flutter/Release.xcconfig b/frb_example/flutter_via_create/ios/Flutter/Release.xcconfig index c4855bfe20..592ceee85b 100644 --- a/frb_example/flutter_via_create/ios/Flutter/Release.xcconfig +++ b/frb_example/flutter_via_create/ios/Flutter/Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_via_create/ios/Podfile b/frb_example/flutter_via_create/ios/Podfile deleted file mode 100644 index d97f17e223..0000000000 --- a/frb_example/flutter_via_create/ios/Podfile +++ /dev/null @@ -1,44 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '12.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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/frb_example/flutter_via_create/ios/Runner.xcodeproj/project.pbxproj b/frb_example/flutter_via_create/ios/Runner.xcodeproj/project.pbxproj index 76fd9655db..be32d02296 100644 --- a/frb_example/flutter_via_create/ios/Runner.xcodeproj/project.pbxproj +++ b/frb_example/flutter_via_create/ios/Runner.xcodeproj/project.pbxproj @@ -362,6 +362,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -541,6 +542,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -563,6 +565,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/frb_example/flutter_via_create/ios/Runner/AppDelegate.swift b/frb_example/flutter_via_create/ios/Runner/AppDelegate.swift index 9074fee929..626664468b 100644 --- a/frb_example/flutter_via_create/ios/Runner/AppDelegate.swift +++ b/frb_example/flutter_via_create/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Flutter import UIKit -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/frb_example/flutter_via_create/linux/flutter/generated_plugins.cmake b/frb_example/flutter_via_create/linux/flutter/generated_plugins.cmake index b484af5e29..2e1de87a7e 100644 --- a/frb_example/flutter_via_create/linux/flutter/generated_plugins.cmake +++ b/frb_example/flutter_via_create/linux/flutter/generated_plugins.cmake @@ -6,7 +6,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - rust_lib_flutter_via_create ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/frb_example/flutter_via_create/macos/Flutter/Flutter-Debug.xcconfig b/frb_example/flutter_via_create/macos/Flutter/Flutter-Debug.xcconfig index 4b81f9b2d2..c2efd0b608 100644 --- a/frb_example/flutter_via_create/macos/Flutter/Flutter-Debug.xcconfig +++ b/frb_example/flutter_via_create/macos/Flutter/Flutter-Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_via_create/macos/Flutter/Flutter-Release.xcconfig b/frb_example/flutter_via_create/macos/Flutter/Flutter-Release.xcconfig index 5caa9d1579..c2efd0b608 100644 --- a/frb_example/flutter_via_create/macos/Flutter/Flutter-Release.xcconfig +++ b/frb_example/flutter_via_create/macos/Flutter/Flutter-Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_via_create/macos/Podfile b/frb_example/flutter_via_create/macos/Podfile deleted file mode 100644 index c795730db8..0000000000 --- a/frb_example/flutter_via_create/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '10.14' - -# 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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/frb_example/flutter_via_create/macos/Runner/AppDelegate.swift b/frb_example/flutter_via_create/macos/Runner/AppDelegate.swift index d53ef64377..8e02df2888 100644 --- a/frb_example/flutter_via_create/macos/Runner/AppDelegate.swift +++ b/frb_example/flutter_via_create/macos/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/frb_example/flutter_via_create/pubspec.lock b/frb_example/flutter_via_create/pubspec.lock index 306fabc9cd..9e51fc8aa7 100644 --- a/frb_example/flutter_via_create/pubspec.lock +++ b/frb_example/flutter_via_create/pubspec.lock @@ -1,14 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - args: - dependency: transitive - description: - name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" async: dependency: transitive description: @@ -25,14 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - build_cli_annotations: - dependency: transitive - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" characters: dependency: transitive description: @@ -73,70 +57,40 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" - flutter_driver: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" - flutter_rust_bridge: - dependency: "direct main" - description: - path: "../../frb_dart" - relative: true - source: path - version: "2.3.0" + version: "4.0.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - fuchsia_remote_debug_protocol: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - integration_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -149,10 +103,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: @@ -165,18 +119,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -185,37 +139,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" - platform: - dependency: transitive - description: - name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" - url: "https://pub.dev" - source: hosted - version: "3.1.4" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - process: - dependency: transitive - description: - name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" - url: "https://pub.dev" - source: hosted - version: "5.0.2" - rust_lib_flutter_via_create: - dependency: "direct main" - description: - path: rust_builder - relative: true - source: path - version: "0.0.1" sky_engine: dependency: transitive description: flutter @@ -253,14 +176,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - sync_http: - dependency: transitive - description: - name: sync_http - sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.dev" - source: hosted - version: "0.3.1" term_glyph: dependency: transitive description: @@ -273,10 +188,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -289,26 +204,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" - url: "https://pub.dev" - source: hosted - version: "14.2.1" - web: - dependency: transitive - description: - name: web - sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 - url: "https://pub.dev" - source: hosted - version: "1.0.0" - webdriver: - dependency: transitive - description: - name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "14.2.5" sdks: - dart: ">=3.4.0 <4.0.0" + dart: ">=3.5.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/frb_example/flutter_via_create/pubspec.yaml b/frb_example/flutter_via_create/pubspec.yaml index 2a4c21006b..33987dbcaf 100644 --- a/frb_example/flutter_via_create/pubspec.yaml +++ b/frb_example/flutter_via_create/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.5.1 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -34,11 +34,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.6 - rust_lib_flutter_via_create: - path: rust_builder - flutter_rust_bridge: - path: ../../frb_dart + cupertino_icons: ^1.0.8 dev_dependencies: flutter_test: @@ -49,9 +45,7 @@ dev_dependencies: # 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: ^3.0.0 - integration_test: - sdk: flutter + flutter_lints: ^4.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -70,10 +64,10 @@ flutter: # - 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 + # https://flutter.dev/to/resolution-aware-images # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages + # https://flutter.dev/to/asset-from-package # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a @@ -93,4 +87,4 @@ flutter: # weight: 700 # # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages + # see https://flutter.dev/to/font-from-package diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/.gitignore b/frb_example/flutter_via_create/rust_builder/cargokit/.gitignore deleted file mode 100644 index cf7bb868c0..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -target -.dart_tool -*.iml -!pubspec.lock diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/LICENSE b/frb_example/flutter_via_create/rust_builder/cargokit/LICENSE deleted file mode 100644 index d33a5fea52..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/LICENSE +++ /dev/null @@ -1,42 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Copyright 2022 Matej Knopp - -================================================================================ - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -================================================================================ - -APACHE LICENSE, VERSION 2.0 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/README b/frb_example/flutter_via_create/rust_builder/cargokit/README deleted file mode 100644 index 398474dbc8..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/README +++ /dev/null @@ -1,11 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Experimental repository to provide glue for seamlessly integrating cargo build -with flutter plugins and packages. - -See https://matejknopp.com/post/flutter_plugin_in_rust_with_no_prebuilt_binaries/ -for a tutorial on how to use Cargokit. - -Example plugin available at https://github.com/irondash/hello_rust_ffi_plugin. - diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_pod.sh b/frb_example/flutter_via_create/rust_builder/cargokit/build_pod.sh deleted file mode 100755 index ed0e0d987d..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_pod.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -set -e - -BASEDIR=$(dirname "$0") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -BASEDIR=$(cd "$BASEDIR" ; pwd -P) - -# Remove XCode SDK from path. Otherwise this breaks tool compilation when building iOS project -NEW_PATH=`echo $PATH | tr ":" "\n" | grep -v "Contents/Developer/" | tr "\n" ":"` - -export PATH=${NEW_PATH%?} # remove trailing : - -env - -# Platform name (macosx, iphoneos, iphonesimulator) -export CARGOKIT_DARWIN_PLATFORM_NAME=$PLATFORM_NAME - -# Arctive architectures (arm64, armv7, x86_64), space separated. -export CARGOKIT_DARWIN_ARCHS=$ARCHS - -# Current build configuration (Debug, Release) -export CARGOKIT_CONFIGURATION=$CONFIGURATION - -# Path to directory containing Cargo.toml. -export CARGOKIT_MANIFEST_DIR=$PODS_TARGET_SRCROOT/$1 - -# Temporary directory for build artifacts. -export CARGOKIT_TARGET_TEMP_DIR=$TARGET_TEMP_DIR - -# Output directory for final artifacts. -export CARGOKIT_OUTPUT_DIR=$PODS_CONFIGURATION_BUILD_DIR/$PRODUCT_NAME - -# Directory to store built tool artifacts. -export CARGOKIT_TOOL_TEMP_DIR=$TARGET_TEMP_DIR/build_tool - -# Directory inside root project. Not necessarily the top level directory of root project. -export CARGOKIT_ROOT_PROJECT_DIR=$SRCROOT - -FLUTTER_EXPORT_BUILD_ENVIRONMENT=( - "$PODS_ROOT/../Flutter/ephemeral/flutter_export_environment.sh" # macOS - "$PODS_ROOT/../Flutter/flutter_export_environment.sh" # iOS -) - -for path in "${FLUTTER_EXPORT_BUILD_ENVIRONMENT[@]}" -do - if [[ -f "$path" ]]; then - source "$path" - fi -done - -sh "$BASEDIR/run_build_tool.sh" build-pod "$@" - -# Make a symlink from built framework to phony file, which will be used as input to -# build script. This should force rebuild (podspec currently doesn't support alwaysOutOfDate -# attribute on custom build phase) -ln -fs "$OBJROOT/XCBuildData/build.db" "${BUILT_PRODUCTS_DIR}/cargokit_phony" -ln -fs "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" "${BUILT_PRODUCTS_DIR}/cargokit_phony_out" diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/README.md b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/README.md deleted file mode 100644 index a878c27964..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/README.md +++ /dev/null @@ -1,5 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/analysis_options.yaml b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/analysis_options.yaml deleted file mode 100644 index 0e16a8b092..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/analysis_options.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -linter: - rules: - - prefer_relative_imports - - directives_ordering - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/bin/build_tool.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/bin/build_tool.dart deleted file mode 100644 index 268eb524dc..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/bin/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:build_tool/build_tool.dart' as build_tool; - -void main(List arguments) { - build_tool.runMain(arguments); -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/build_tool.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/build_tool.dart deleted file mode 100644 index 7c1bb750a4..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'src/build_tool.dart' as build_tool; - -Future runMain(List args) async { - return build_tool.runMain(args); -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/android_environment.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/android_environment.dart deleted file mode 100644 index 15fc9eedac..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/android_environment.dart +++ /dev/null @@ -1,195 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; -import 'dart:isolate'; -import 'dart:math' as math; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; -import 'package:version/version.dart'; - -import 'target.dart'; -import 'util.dart'; - -class AndroidEnvironment { - AndroidEnvironment({ - required this.sdkPath, - required this.ndkVersion, - required this.minSdkVersion, - required this.targetTempDir, - required this.target, - }); - - static void clangLinkerWrapper(List args) { - final clang = Platform.environment['_CARGOKIT_NDK_LINK_CLANG']; - if (clang == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_CLANG env var"); - } - final target = Platform.environment['_CARGOKIT_NDK_LINK_TARGET']; - if (target == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_TARGET env var"); - } - - runCommand(clang, [ - target, - ...args, - ]); - } - - /// Full path to Android SDK. - final String sdkPath; - - /// Full version of Android NDK. - final String ndkVersion; - - /// Minimum supported SDK version. - final int minSdkVersion; - - /// Target directory for build artifacts. - final String targetTempDir; - - /// Target being built. - final Target target; - - bool ndkIsInstalled() { - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final ndkPackageXml = File(path.join(ndkPath, 'package.xml')); - return ndkPackageXml.existsSync(); - } - - void installNdk({ - required String javaHome, - }) { - final sdkManagerExtension = Platform.isWindows ? '.bat' : ''; - final sdkManager = path.join( - sdkPath, - 'cmdline-tools', - 'latest', - 'bin', - 'sdkmanager$sdkManagerExtension', - ); - - log.info('Installing NDK $ndkVersion'); - runCommand(sdkManager, [ - '--install', - 'ndk;$ndkVersion', - ], environment: { - 'JAVA_HOME': javaHome, - }); - } - - Future> buildEnvironment() async { - final hostArch = Platform.isMacOS - ? "darwin-x86_64" - : (Platform.isLinux ? "linux-x86_64" : "windows-x86_64"); - - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final toolchainPath = path.join( - ndkPath, - 'toolchains', - 'llvm', - 'prebuilt', - hostArch, - 'bin', - ); - - final minSdkVersion = - math.max(target.androidMinSdkVersion!, this.minSdkVersion); - - final exe = Platform.isWindows ? '.exe' : ''; - - final arKey = 'AR_${target.rust}'; - final arValue = ['${target.rust}-ar', 'llvm-ar', 'llvm-ar.exe'] - .map((e) => path.join(toolchainPath, e)) - .firstWhereOrNull((element) => File(element).existsSync()); - if (arValue == null) { - throw Exception('Failed to find ar for $target in $toolchainPath'); - } - - final targetArg = '--target=${target.rust}$minSdkVersion'; - - final ccKey = 'CC_${target.rust}'; - final ccValue = path.join(toolchainPath, 'clang$exe'); - final cfFlagsKey = 'CFLAGS_${target.rust}'; - final cFlagsValue = targetArg; - - final cxxKey = 'CXX_${target.rust}'; - final cxxValue = path.join(toolchainPath, 'clang++$exe'); - final cxxFlagsKey = 'CXXFLAGS_${target.rust}'; - final cxxFlagsValue = targetArg; - - final linkerKey = - 'cargo_target_${target.rust.replaceAll('-', '_')}_linker'.toUpperCase(); - - final ranlibKey = 'RANLIB_${target.rust}'; - final ranlibValue = path.join(toolchainPath, 'llvm-ranlib$exe'); - - final ndkVersionParsed = Version.parse(ndkVersion); - final rustFlagsKey = 'CARGO_ENCODED_RUSTFLAGS'; - final rustFlagsValue = _libGccWorkaround(targetTempDir, ndkVersionParsed); - - final runRustTool = - Platform.isWindows ? 'run_build_tool.cmd' : 'run_build_tool.sh'; - - final packagePath = (await Isolate.resolvePackageUri( - Uri.parse('package:build_tool/buildtool.dart')))! - .toFilePath(); - final selfPath = path.canonicalize(path.join( - packagePath, - '..', - '..', - '..', - runRustTool, - )); - - // Make sure that run_build_tool is working properly even initially launched directly - // through dart run. - final toolTempDir = - Platform.environment['CARGOKIT_TOOL_TEMP_DIR'] ?? targetTempDir; - - return { - arKey: arValue, - ccKey: ccValue, - cfFlagsKey: cFlagsValue, - cxxKey: cxxValue, - cxxFlagsKey: cxxFlagsValue, - ranlibKey: ranlibValue, - rustFlagsKey: rustFlagsValue, - linkerKey: selfPath, - // Recognized by main() so we know when we're acting as a wrapper - '_CARGOKIT_NDK_LINK_TARGET': targetArg, - '_CARGOKIT_NDK_LINK_CLANG': ccValue, - 'CARGOKIT_TOOL_TEMP_DIR': toolTempDir, - }; - } - - // Workaround for libgcc missing in NDK23, inspired by cargo-ndk - String _libGccWorkaround(String buildDir, Version ndkVersion) { - final workaroundDir = path.join( - buildDir, - 'cargokit', - 'libgcc_workaround', - '${ndkVersion.major}', - ); - Directory(workaroundDir).createSync(recursive: true); - if (ndkVersion.major >= 23) { - File(path.join(workaroundDir, 'libgcc.a')) - .writeAsStringSync('INPUT(-lunwind)'); - } else { - // Other way around, untested, forward libgcc.a from libunwind once Rust - // gets updated for NDK23+. - File(path.join(workaroundDir, 'libunwind.a')) - .writeAsStringSync('INPUT(-lgcc)'); - } - - var rustFlags = Platform.environment['CARGO_ENCODED_RUSTFLAGS'] ?? ''; - if (rustFlags.isNotEmpty) { - rustFlags = '$rustFlags\x1f'; - } - rustFlags = '$rustFlags-L\x1f$workaroundDir'; - return rustFlags; - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart deleted file mode 100644 index e608cece73..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart +++ /dev/null @@ -1,266 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'builder.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'rustup.dart'; -import 'target.dart'; - -class Artifact { - /// File system location of the artifact. - final String path; - - /// Actual file name that the artifact should have in destination folder. - final String finalFileName; - - AritifactType get type { - if (finalFileName.endsWith('.dll') || - finalFileName.endsWith('.dll.lib') || - finalFileName.endsWith('.pdb') || - finalFileName.endsWith('.so') || - finalFileName.endsWith('.dylib')) { - return AritifactType.dylib; - } else if (finalFileName.endsWith('.lib') || finalFileName.endsWith('.a')) { - return AritifactType.staticlib; - } else { - throw Exception('Unknown artifact type for $finalFileName'); - } - } - - Artifact({ - required this.path, - required this.finalFileName, - }); -} - -final _log = Logger('artifacts_provider'); - -class ArtifactProvider { - ArtifactProvider({ - required this.environment, - required this.userOptions, - }); - - final BuildEnvironment environment; - final CargokitUserOptions userOptions; - - Future>> getArtifacts(List targets) async { - final result = await _getPrecompiledArtifacts(targets); - - final pendingTargets = List.of(targets); - pendingTargets.removeWhere((element) => result.containsKey(element)); - - if (pendingTargets.isEmpty) { - return result; - } - - final rustup = Rustup(); - for (final target in targets) { - final builder = RustBuilder(target: target, environment: environment); - builder.prepare(rustup); - _log.info('Building ${environment.crateInfo.packageName} for $target'); - final targetDir = await builder.build(); - // For local build accept both static and dynamic libraries. - final artifactNames = { - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.dylib, - remote: false, - ), - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.staticlib, - remote: false, - ) - }; - final artifacts = artifactNames - .map((artifactName) => Artifact( - path: path.join(targetDir, artifactName), - finalFileName: artifactName, - )) - .where((element) => File(element.path).existsSync()) - .toList(); - result[target] = artifacts; - } - return result; - } - - Future>> _getPrecompiledArtifacts( - List targets) async { - if (userOptions.usePrecompiledBinaries == false) { - _log.info('Precompiled binaries are disabled'); - return {}; - } - if (environment.crateOptions.precompiledBinaries == null) { - _log.fine('Precompiled binaries not enabled for this crate'); - return {}; - } - - final start = Stopwatch()..start(); - final crateHash = CrateHash.compute(environment.manifestDir, - tempStorage: environment.targetTempDir); - _log.fine( - 'Computed crate hash $crateHash in ${start.elapsedMilliseconds}ms'); - - final downloadedArtifactsDir = - path.join(environment.targetTempDir, 'precompiled', crateHash); - Directory(downloadedArtifactsDir).createSync(recursive: true); - - final res = >{}; - - for (final target in targets) { - final requiredArtifacts = getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - remote: true, - ); - final artifactsForTarget = []; - - for (final artifact in requiredArtifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final downloadedPath = path.join(downloadedArtifactsDir, fileName); - if (!File(downloadedPath).existsSync()) { - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - await _tryDownloadArtifacts( - crateHash: crateHash, - fileName: fileName, - signatureFileName: signatureFileName, - finalPath: downloadedPath, - ); - } - if (File(downloadedPath).existsSync()) { - artifactsForTarget.add(Artifact( - path: downloadedPath, - finalFileName: artifact, - )); - } else { - break; - } - } - - // Only provide complete set of artifacts. - if (artifactsForTarget.length == requiredArtifacts.length) { - _log.fine('Found precompiled artifacts for $target'); - res[target] = artifactsForTarget; - } - } - - return res; - } - - static Future _get(Uri url, {Map? headers}) async { - int attempt = 0; - const maxAttempts = 10; - while (true) { - try { - return await get(url, headers: headers); - } on SocketException catch (e) { - // Try to detect reset by peer error and retry. - if (attempt++ < maxAttempts && - (e.osError?.errorCode == 54 || e.osError?.errorCode == 10054)) { - _log.severe( - 'Failed to download $url: $e, attempt $attempt of $maxAttempts, will retry...'); - await Future.delayed(Duration(seconds: 1)); - continue; - } else { - rethrow; - } - } - } - } - - Future _tryDownloadArtifacts({ - required String crateHash, - required String fileName, - required String signatureFileName, - required String finalPath, - }) async { - final precompiledBinaries = environment.crateOptions.precompiledBinaries!; - final prefix = precompiledBinaries.uriPrefix; - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = Uri.parse('$prefix$crateHash/$signatureFileName'); - _log.fine('Downloading signature from $signatureUrl'); - final signature = await _get(signatureUrl); - if (signature.statusCode == 404) { - _log.warning( - 'Precompiled binaries not available for crate hash $crateHash ($fileName)'); - return; - } - if (signature.statusCode != 200) { - _log.severe( - 'Failed to download signature $signatureUrl: status ${signature.statusCode}'); - return; - } - _log.fine('Downloading binary from $url'); - final res = await _get(url); - if (res.statusCode != 200) { - _log.severe('Failed to download binary $url: status ${res.statusCode}'); - return; - } - if (verify( - precompiledBinaries.publicKey, res.bodyBytes, signature.bodyBytes)) { - File(finalPath).writeAsBytesSync(res.bodyBytes); - } else { - _log.shout('Signature verification failed! Ignoring binary.'); - } - } -} - -enum AritifactType { - staticlib, - dylib, -} - -AritifactType artifactTypeForTarget(Target target) { - if (target.darwinPlatform != null) { - return AritifactType.staticlib; - } else { - return AritifactType.dylib; - } -} - -List getArtifactNames({ - required Target target, - required String libraryName, - required bool remote, - AritifactType? aritifactType, -}) { - aritifactType ??= artifactTypeForTarget(target); - if (target.darwinArch != null) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.dylib']; - } - } else if (target.rust.contains('-windows-')) { - if (aritifactType == AritifactType.staticlib) { - return ['$libraryName.lib']; - } else { - return [ - '$libraryName.dll', - '$libraryName.dll.lib', - if (!remote) '$libraryName.pdb' - ]; - } - } else if (target.rust.contains('-linux-')) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.so']; - } - } else { - throw Exception("Unsupported target: ${target.rust}"); - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart deleted file mode 100644 index 6f3b2a4ec1..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart +++ /dev/null @@ -1,40 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -class BuildCMake { - final CargokitUserOptions userOptions; - - BuildCMake({required this.userOptions}); - - Future build() async { - final targetPlatform = Environment.targetPlatform; - final target = Target.forFlutterName(Environment.targetPlatform); - if (target == null) { - throw Exception("Unknown target platform: $targetPlatform"); - } - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts([target]); - - final libs = artifacts[target]!; - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path) - .copySync(path.join(Environment.outputDir, lib.finalFileName)); - } - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart deleted file mode 100644 index 7e61fcbb7c..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart +++ /dev/null @@ -1,49 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -final log = Logger('build_gradle'); - -class BuildGradle { - BuildGradle({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.targetPlatforms.map((arch) { - final target = Target.forFlutterName(arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: true); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - for (final target in targets) { - final libs = artifacts[target]!; - final outputDir = path.join(Environment.outputDir, target.android!); - Directory(outputDir).createSync(recursive: true); - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path).copySync(path.join(outputDir, lib.finalFileName)); - } - } - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_pod.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_pod.dart deleted file mode 100644 index 8a9c0db5de..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_pod.dart +++ /dev/null @@ -1,89 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; -import 'util.dart'; - -class BuildPod { - BuildPod({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.darwinArchs.map((arch) { - final target = Target.forDarwin( - platformName: Environment.darwinPlatformName, darwinAarch: arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - void performLipo(String targetFile, Iterable sourceFiles) { - runCommand("lipo", [ - '-create', - ...sourceFiles, - '-output', - targetFile, - ]); - } - - final outputDir = Environment.outputDir; - - Directory(outputDir).createSync(recursive: true); - - final staticLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.staticlib) - .toList(); - final dynamicLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.dylib) - .toList(); - - final libName = environment.crateInfo.packageName; - - // If there is static lib, use it and link it with pod - if (staticLibs.isNotEmpty) { - final finalTargetFile = path.join(outputDir, "lib$libName.a"); - performLipo(finalTargetFile, staticLibs.map((e) => e.path)); - } else { - // Otherwise try to replace bundle dylib with our dylib - final bundlePaths = [ - '$libName.framework/Versions/A/$libName', - '$libName.framework/$libName', - ]; - - for (final bundlePath in bundlePaths) { - final targetFile = path.join(outputDir, bundlePath); - if (File(targetFile).existsSync()) { - performLipo(targetFile, dynamicLibs.map((e) => e.path)); - - // Replace absolute id with @rpath one so that it works properly - // when moved to Frameworks. - runCommand("install_name_tool", [ - '-id', - '@rpath/$bundlePath', - targetFile, - ]); - return; - } - } - throw Exception('Unable to find bundle for dynamic library'); - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_tool.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_tool.dart deleted file mode 100644 index c8f36981b5..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/build_tool.dart +++ /dev/null @@ -1,271 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:args/command_runner.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; - -import 'android_environment.dart'; -import 'build_cmake.dart'; -import 'build_gradle.dart'; -import 'build_pod.dart'; -import 'logging.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; -import 'util.dart'; -import 'verify_binaries.dart'; - -final log = Logger('build_tool'); - -abstract class BuildCommand extends Command { - Future runBuildCommand(CargokitUserOptions options); - - @override - Future run() async { - final options = CargokitUserOptions.load(); - - if (options.verboseLogging || - Platform.environment['CARGOKIT_VERBOSE'] == '1') { - enableVerboseLogging(); - } - - await runBuildCommand(options); - } -} - -class BuildPodCommand extends BuildCommand { - @override - final name = 'build-pod'; - - @override - final description = 'Build cocoa pod library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildPod(userOptions: options); - await build.build(); - } -} - -class BuildGradleCommand extends BuildCommand { - @override - final name = 'build-gradle'; - - @override - final description = 'Build android library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildGradle(userOptions: options); - await build.build(); - } -} - -class BuildCMakeCommand extends BuildCommand { - @override - final name = 'build-cmake'; - - @override - final description = 'Build CMake library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildCMake(userOptions: options); - await build.build(); - } -} - -class GenKeyCommand extends Command { - @override - final name = 'gen-key'; - - @override - final description = 'Generate key pair for signing precompiled binaries'; - - @override - void run() { - final kp = generateKey(); - final private = HEX.encode(kp.privateKey.bytes); - final public = HEX.encode(kp.publicKey.bytes); - print("Private Key: $private"); - print("Public Key: $public"); - } -} - -class PrecompileBinariesCommand extends Command { - PrecompileBinariesCommand() { - argParser - ..addOption( - 'repository', - mandatory: true, - help: 'Github repository slug in format owner/name', - ) - ..addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ) - ..addMultiOption('target', - help: 'Rust target triple of artifact to build.\n' - 'Can be specified multiple times or omitted in which case\n' - 'all targets for current platform will be built.') - ..addOption( - 'android-sdk-location', - help: 'Location of Android SDK (if available)', - ) - ..addOption( - 'android-ndk-version', - help: 'Android NDK version (if available)', - ) - ..addOption( - 'android-min-sdk-version', - help: 'Android minimum rquired version (if available)', - ) - ..addOption( - 'temp-dir', - help: 'Directory to store temporary build artifacts', - ) - ..addFlag( - "verbose", - abbr: "v", - defaultsTo: false, - help: "Enable verbose logging", - ); - } - - @override - final name = 'precompile-binaries'; - - @override - final description = 'Prebuild and upload binaries\n' - 'Private key must be passed through PRIVATE_KEY environment variable. ' - 'Use gen_key through generate priave key.\n' - 'Github token must be passed as GITHUB_TOKEN environment variable.\n'; - - @override - Future run() async { - final verbose = argResults!['verbose'] as bool; - if (verbose) { - enableVerboseLogging(); - } - - final privateKeyString = Platform.environment['PRIVATE_KEY']; - if (privateKeyString == null) { - throw ArgumentError('Missing PRIVATE_KEY environment variable'); - } - final githubToken = Platform.environment['GITHUB_TOKEN']; - if (githubToken == null) { - throw ArgumentError('Missing GITHUB_TOKEN environment variable'); - } - final privateKey = HEX.decode(privateKeyString); - if (privateKey.length != 64) { - throw ArgumentError('Private key must be 64 bytes long'); - } - final manifestDir = argResults!['manifest-dir'] as String; - if (!Directory(manifestDir).existsSync()) { - throw ArgumentError('Manifest directory does not exist: $manifestDir'); - } - String? androidMinSdkVersionString = - argResults!['android-min-sdk-version'] as String?; - int? androidMinSdkVersion; - if (androidMinSdkVersionString != null) { - androidMinSdkVersion = int.tryParse(androidMinSdkVersionString); - if (androidMinSdkVersion == null) { - throw ArgumentError( - 'Invalid android-min-sdk-version: $androidMinSdkVersionString'); - } - } - final targetStrigns = argResults!['target'] as List; - final targets = targetStrigns.map((target) { - final res = Target.forRustTriple(target); - if (res == null) { - throw ArgumentError('Invalid target: $target'); - } - return res; - }).toList(growable: false); - final precompileBinaries = PrecompileBinaries( - privateKey: PrivateKey(privateKey), - githubToken: githubToken, - manifestDir: manifestDir, - repositorySlug: RepositorySlug.full(argResults!['repository'] as String), - targets: targets, - androidSdkLocation: argResults!['android-sdk-location'] as String?, - androidNdkVersion: argResults!['android-ndk-version'] as String?, - androidMinSdkVersion: androidMinSdkVersion, - tempDir: argResults!['temp-dir'] as String?, - ); - - await precompileBinaries.run(); - } -} - -class VerifyBinariesCommand extends Command { - VerifyBinariesCommand() { - argParser.addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ); - } - - @override - final name = "verify-binaries"; - - @override - final description = 'Verifies published binaries\n' - 'Checks whether there is a binary published for each targets\n' - 'and checks the signature.'; - - @override - Future run() async { - final manifestDir = argResults!['manifest-dir'] as String; - final verifyBinaries = VerifyBinaries( - manifestDir: manifestDir, - ); - await verifyBinaries.run(); - } -} - -Future runMain(List args) async { - try { - // Init logging before options are loaded - initLogging(); - - if (Platform.environment['_CARGOKIT_NDK_LINK_TARGET'] != null) { - return AndroidEnvironment.clangLinkerWrapper(args); - } - - final runner = CommandRunner('build_tool', 'Cargokit built_tool') - ..addCommand(BuildPodCommand()) - ..addCommand(BuildGradleCommand()) - ..addCommand(BuildCMakeCommand()) - ..addCommand(GenKeyCommand()) - ..addCommand(PrecompileBinariesCommand()) - ..addCommand(VerifyBinariesCommand()); - - await runner.run(args); - } on ArgumentError catch (e) { - stderr.writeln(e.toString()); - exit(1); - } catch (e, s) { - log.severe(kDoubleSeparator); - log.severe('Cargokit BuildTool failed with error:'); - log.severe(kSeparator); - log.severe(e); - // This tells user to install Rust, there's no need to pollute the log with - // stack trace. - if (e is! RustupNotFoundException) { - log.severe(kSeparator); - log.severe(s); - log.severe(kSeparator); - log.severe('BuildTool arguments: $args'); - } - log.severe(kDoubleSeparator); - exit(1); - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/builder.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/builder.dart deleted file mode 100644 index 84c46e4f54..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/builder.dart +++ /dev/null @@ -1,198 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:collection/collection.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'android_environment.dart'; -import 'cargo.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; -import 'util.dart'; - -final _log = Logger('builder'); - -enum BuildConfiguration { - debug, - release, - profile, -} - -extension on BuildConfiguration { - bool get isDebug => this == BuildConfiguration.debug; - String get rustName => switch (this) { - BuildConfiguration.debug => 'debug', - BuildConfiguration.release => 'release', - BuildConfiguration.profile => 'release', - }; -} - -class BuildException implements Exception { - final String message; - - BuildException(this.message); - - @override - String toString() { - return 'BuildException: $message'; - } -} - -class BuildEnvironment { - final BuildConfiguration configuration; - final CargokitCrateOptions crateOptions; - final String targetTempDir; - final String manifestDir; - final CrateInfo crateInfo; - - final bool isAndroid; - final String? androidSdkPath; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? javaHome; - - BuildEnvironment({ - required this.configuration, - required this.crateOptions, - required this.targetTempDir, - required this.manifestDir, - required this.crateInfo, - required this.isAndroid, - this.androidSdkPath, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.javaHome, - }); - - static BuildConfiguration parseBuildConfiguration(String value) { - // XCode configuration adds the flavor to configuration name. - final firstSegment = value.split('-').first; - final buildConfiguration = BuildConfiguration.values.firstWhereOrNull( - (e) => e.name == firstSegment, - ); - if (buildConfiguration == null) { - _log.warning('Unknown build configuraiton $value, will assume release'); - return BuildConfiguration.release; - } - return buildConfiguration; - } - - static BuildEnvironment fromEnvironment({ - required bool isAndroid, - }) { - final buildConfiguration = - parseBuildConfiguration(Environment.configuration); - final manifestDir = Environment.manifestDir; - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - final crateInfo = CrateInfo.load(manifestDir); - return BuildEnvironment( - configuration: buildConfiguration, - crateOptions: crateOptions, - targetTempDir: Environment.targetTempDir, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: isAndroid, - androidSdkPath: isAndroid ? Environment.sdkPath : null, - androidNdkVersion: isAndroid ? Environment.ndkVersion : null, - androidMinSdkVersion: - isAndroid ? int.parse(Environment.minSdkVersion) : null, - javaHome: isAndroid ? Environment.javaHome : null, - ); - } -} - -class RustBuilder { - final Target target; - final BuildEnvironment environment; - - RustBuilder({ - required this.target, - required this.environment, - }); - - void prepare( - Rustup rustup, - ) { - final toolchain = _toolchain; - if (rustup.installedTargets(toolchain) == null) { - rustup.installToolchain(toolchain); - } - if (toolchain == 'nightly') { - rustup.installRustSrcForNightly(); - } - if (!rustup.installedTargets(toolchain)!.contains(target.rust)) { - rustup.installTarget(target.rust, toolchain: toolchain); - } - } - - CargoBuildOptions? get _buildOptions => - environment.crateOptions.cargo[environment.configuration]; - - String get _toolchain => _buildOptions?.toolchain.name ?? 'stable'; - - /// Returns the path of directory containing build artifacts. - Future build() async { - final extraArgs = _buildOptions?.flags ?? []; - final manifestPath = path.join(environment.manifestDir, 'Cargo.toml'); - runCommand( - 'rustup', - [ - 'run', - _toolchain, - 'cargo', - 'build', - ...extraArgs, - '--manifest-path', - manifestPath, - '-p', - environment.crateInfo.packageName, - if (!environment.configuration.isDebug) '--release', - '--target', - target.rust, - '--target-dir', - environment.targetTempDir, - ], - environment: await _buildEnvironment(), - ); - return path.join( - environment.targetTempDir, - target.rust, - environment.configuration.rustName, - ); - } - - Future> _buildEnvironment() async { - if (target.android == null) { - return {}; - } else { - final sdkPath = environment.androidSdkPath; - final ndkVersion = environment.androidNdkVersion; - final minSdkVersion = environment.androidMinSdkVersion; - if (sdkPath == null) { - throw BuildException('androidSdkPath is not set'); - } - if (ndkVersion == null) { - throw BuildException('androidNdkVersion is not set'); - } - if (minSdkVersion == null) { - throw BuildException('androidMinSdkVersion is not set'); - } - final env = AndroidEnvironment( - sdkPath: sdkPath, - ndkVersion: ndkVersion, - minSdkVersion: minSdkVersion, - targetTempDir: environment.targetTempDir, - target: target, - ); - if (!env.ndkIsInstalled() && environment.javaHome != null) { - env.installNdk(javaHome: environment.javaHome!); - } - return env.buildEnvironment(); - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/cargo.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/cargo.dart deleted file mode 100644 index 0d8958ff2e..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/cargo.dart +++ /dev/null @@ -1,48 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; -import 'package:toml/toml.dart'; - -class ManifestException { - ManifestException(this.message, {required this.fileName}); - - final String? fileName; - final String message; - - @override - String toString() { - if (fileName != null) { - return 'Failed to parse package manifest at $fileName: $message'; - } else { - return 'Failed to parse package manifest: $message'; - } - } -} - -class CrateInfo { - CrateInfo({required this.packageName}); - - final String packageName; - - static CrateInfo parseManifest(String manifest, {final String? fileName}) { - final toml = TomlDocument.parse(manifest); - final package = toml.toMap()['package']; - if (package == null) { - throw ManifestException('Missing package section', fileName: fileName); - } - final name = package['name']; - if (name == null) { - throw ManifestException('Missing package name', fileName: fileName); - } - return CrateInfo(packageName: name); - } - - static CrateInfo load(String manifestDir) { - final manifestFile = File(path.join(manifestDir, 'Cargo.toml')); - final manifest = manifestFile.readAsStringSync(); - return parseManifest(manifest, fileName: manifestFile.path); - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart deleted file mode 100644 index 0c4d88d16b..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart +++ /dev/null @@ -1,124 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:collection/collection.dart'; -import 'package:convert/convert.dart'; -import 'package:crypto/crypto.dart'; -import 'package:path/path.dart' as path; - -class CrateHash { - /// Computes a hash uniquely identifying crate content. This takes into account - /// content all all .rs files inside the src directory, as well as Cargo.toml, - /// Cargo.lock, build.rs and cargokit.yaml. - /// - /// If [tempStorage] is provided, computed hash is stored in a file in that directory - /// and reused on subsequent calls if the crate content hasn't changed. - static String compute(String manifestDir, {String? tempStorage}) { - return CrateHash._( - manifestDir: manifestDir, - tempStorage: tempStorage, - )._compute(); - } - - CrateHash._({ - required this.manifestDir, - required this.tempStorage, - }); - - String _compute() { - final files = getFiles(); - final tempStorage = this.tempStorage; - if (tempStorage != null) { - final quickHash = _computeQuickHash(files); - final quickHashFolder = Directory(path.join(tempStorage, 'crate_hash')); - quickHashFolder.createSync(recursive: true); - final quickHashFile = File(path.join(quickHashFolder.path, quickHash)); - if (quickHashFile.existsSync()) { - return quickHashFile.readAsStringSync(); - } - final hash = _computeHash(files); - quickHashFile.writeAsStringSync(hash); - return hash; - } else { - return _computeHash(files); - } - } - - /// Computes a quick hash based on files stat (without reading contents). This - /// is used to cache the real hash, which is slower to compute since it involves - /// reading every single file. - String _computeQuickHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - final data = ByteData(8); - for (final file in files) { - input.add(utf8.encode(file.path)); - final stat = file.statSync(); - data.setUint64(0, stat.size); - input.add(data.buffer.asUint8List()); - data.setUint64(0, stat.modified.millisecondsSinceEpoch); - input.add(data.buffer.asUint8List()); - } - - input.close(); - return base64Url.encode(output.events.single.bytes); - } - - String _computeHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - void addTextFile(File file) { - // text Files are hashed by lines in case we're dealing with github checkout - // that auto-converts line endings. - final splitter = LineSplitter(); - if (file.existsSync()) { - final data = file.readAsStringSync(); - final lines = splitter.convert(data); - for (final line in lines) { - input.add(utf8.encode(line)); - } - } - } - - for (final file in files) { - addTextFile(file); - } - - input.close(); - final res = output.events.single; - - // Truncate to 128bits. - final hash = res.bytes.sublist(0, 16); - return hex.encode(hash); - } - - List getFiles() { - final src = Directory(path.join(manifestDir, 'src')); - final files = src - .listSync(recursive: true, followLinks: false) - .whereType() - .toList(); - files.sortBy((element) => element.path); - void addFile(String relative) { - final file = File(path.join(manifestDir, relative)); - if (file.existsSync()) { - files.add(file); - } - } - - addFile('Cargo.toml'); - addFile('Cargo.lock'); - addFile('build.rs'); - addFile('cargokit.yaml'); - return files; - } - - final String manifestDir; - final String? tempStorage; -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/environment.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/environment.dart deleted file mode 100644 index 996483a180..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/environment.dart +++ /dev/null @@ -1,68 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -extension on String { - String resolveSymlink() => File(this).resolveSymbolicLinksSync(); -} - -class Environment { - /// Current build configuration (debug or release). - static String get configuration => - _getEnv("CARGOKIT_CONFIGURATION").toLowerCase(); - - static bool get isDebug => configuration == 'debug'; - static bool get isRelease => configuration == 'release'; - - /// Temporary directory where Rust build artifacts are placed. - static String get targetTempDir => _getEnv("CARGOKIT_TARGET_TEMP_DIR"); - - /// Final output directory where the build artifacts are placed. - static String get outputDir => _getEnvPath('CARGOKIT_OUTPUT_DIR'); - - /// Path to the crate manifest (containing Cargo.toml). - static String get manifestDir => _getEnvPath('CARGOKIT_MANIFEST_DIR'); - - /// Directory inside root project. Not necessarily root folder. Symlinks are - /// not resolved on purpose. - static String get rootProjectDir => _getEnv('CARGOKIT_ROOT_PROJECT_DIR'); - - // Pod - - /// Platform name (macosx, iphoneos, iphonesimulator). - static String get darwinPlatformName => - _getEnv("CARGOKIT_DARWIN_PLATFORM_NAME"); - - /// List of architectures to build for (arm64, armv7, x86_64). - static List get darwinArchs => - _getEnv("CARGOKIT_DARWIN_ARCHS").split(' '); - - // Gradle - static String get minSdkVersion => _getEnv("CARGOKIT_MIN_SDK_VERSION"); - static String get ndkVersion => _getEnv("CARGOKIT_NDK_VERSION"); - static String get sdkPath => _getEnvPath("CARGOKIT_SDK_DIR"); - static String get javaHome => _getEnvPath("CARGOKIT_JAVA_HOME"); - static List get targetPlatforms => - _getEnv("CARGOKIT_TARGET_PLATFORMS").split(','); - - // CMAKE - static String get targetPlatform => _getEnv("CARGOKIT_TARGET_PLATFORM"); - - static String _getEnv(String key) { - final res = Platform.environment[key]; - if (res == null) { - throw Exception("Missing environment variable $key"); - } - return res; - } - - static String _getEnvPath(String key) { - final res = _getEnv(key); - if (Directory(res).existsSync()) { - return res.resolveSymlink(); - } else { - return res; - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/logging.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/logging.dart deleted file mode 100644 index 5edd4fd184..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/logging.dart +++ /dev/null @@ -1,52 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; - -const String kSeparator = "--"; -const String kDoubleSeparator = "=="; - -bool _lastMessageWasSeparator = false; - -void _log(LogRecord rec) { - final prefix = '${rec.level.name}: '; - final out = rec.level == Level.SEVERE ? stderr : stdout; - if (rec.message == kSeparator) { - if (!_lastMessageWasSeparator) { - out.write(prefix); - out.writeln('-' * 80); - _lastMessageWasSeparator = true; - } - return; - } else if (rec.message == kDoubleSeparator) { - out.write(prefix); - out.writeln('=' * 80); - _lastMessageWasSeparator = true; - return; - } - out.write(prefix); - out.writeln(rec.message); - _lastMessageWasSeparator = false; -} - -void initLogging() { - Logger.root.level = Level.INFO; - Logger.root.onRecord.listen((LogRecord rec) { - final lines = rec.message.split('\n'); - for (final line in lines) { - if (line.isNotEmpty || lines.length == 1 || line != lines.last) { - _log(LogRecord( - rec.level, - line, - rec.loggerName, - )); - } - } - }); -} - -void enableVerboseLogging() { - Logger.root.level = Level.ALL; -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/options.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/options.dart deleted file mode 100644 index 22aef1d371..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/options.dart +++ /dev/null @@ -1,309 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; -import 'package:source_span/source_span.dart'; -import 'package:yaml/yaml.dart'; - -import 'builder.dart'; -import 'environment.dart'; -import 'rustup.dart'; - -final _log = Logger('options'); - -/// A class for exceptions that have source span information attached. -class SourceSpanException implements Exception { - // This is a getter so that subclasses can override it. - /// A message describing the exception. - String get message => _message; - final String _message; - - // This is a getter so that subclasses can override it. - /// The span associated with this exception. - /// - /// This may be `null` if the source location can't be determined. - SourceSpan? get span => _span; - final SourceSpan? _span; - - SourceSpanException(this._message, this._span); - - /// Returns a string representation of `this`. - /// - /// [color] may either be a [String], a [bool], or `null`. If it's a string, - /// it indicates an ANSI terminal color escape that should be used to - /// highlight the span's text. If it's `true`, it indicates that the text - /// should be highlighted using the default color. If it's `false` or `null`, - /// it indicates that the text shouldn't be highlighted. - @override - String toString({Object? color}) { - if (span == null) return message; - return 'Error on ${span!.message(message, color: color)}'; - } -} - -enum Toolchain { - stable, - beta, - nightly, -} - -class CargoBuildOptions { - final Toolchain toolchain; - final List flags; - - CargoBuildOptions({ - required this.toolchain, - required this.flags, - }); - - static Toolchain _toolchainFromNode(YamlNode node) { - if (node case YamlScalar(value: String name)) { - final toolchain = - Toolchain.values.firstWhereOrNull((element) => element.name == name); - if (toolchain != null) { - return toolchain; - } - } - throw SourceSpanException( - 'Unknown toolchain. Must be one of ${Toolchain.values.map((e) => e.name)}.', - node.span); - } - - static CargoBuildOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - Toolchain toolchain = Toolchain.stable; - List flags = []; - for (final MapEntry(:key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: 'toolchain')) { - toolchain = _toolchainFromNode(value); - } else if (key case YamlScalar(value: 'extra_flags')) { - if (value case YamlList(nodes: List list)) { - if (list.every((element) { - if (element case YamlScalar(value: String _)) { - return true; - } - return false; - })) { - flags = list.map((e) => e.value as String).toList(); - continue; - } - } - throw SourceSpanException( - 'Extra flags must be a list of strings', value.span); - } else { - throw SourceSpanException( - 'Unknown cargo option type. Must be "toolchain" or "extra_flags".', - key.span); - } - } - return CargoBuildOptions(toolchain: toolchain, flags: flags); - } -} - -extension on YamlMap { - /// Map that extracts keys so that we can do map case check on them. - Map get valueMap => - nodes.map((key, value) => MapEntry(key.value, value)); -} - -class PrecompiledBinaries { - final String uriPrefix; - final PublicKey publicKey; - - PrecompiledBinaries({ - required this.uriPrefix, - required this.publicKey, - }); - - static PublicKey _publicKeyFromHex(String key, SourceSpan? span) { - final bytes = HEX.decode(key); - if (bytes.length != 32) { - throw SourceSpanException( - 'Invalid public key. Must be 32 bytes long.', span); - } - return PublicKey(bytes); - } - - static PrecompiledBinaries parse(YamlNode node) { - if (node case YamlMap(valueMap: Map map)) { - if (map - case { - 'url_prefix': YamlNode urlPrefixNode, - 'public_key': YamlNode publicKeyNode, - }) { - final urlPrefix = switch (urlPrefixNode) { - YamlScalar(value: String urlPrefix) => urlPrefix, - _ => throw SourceSpanException( - 'Invalid URL prefix value.', urlPrefixNode.span), - }; - final publicKey = switch (publicKeyNode) { - YamlScalar(value: String publicKey) => - _publicKeyFromHex(publicKey, publicKeyNode.span), - _ => throw SourceSpanException( - 'Invalid public key value.', publicKeyNode.span), - }; - return PrecompiledBinaries( - uriPrefix: urlPrefix, - publicKey: publicKey, - ); - } - } - throw SourceSpanException( - 'Invalid precompiled binaries value. ' - 'Expected Map with "url_prefix" and "public_key".', - node.span); - } -} - -/// Cargokit options specified for Rust crate. -class CargokitCrateOptions { - CargokitCrateOptions({ - this.cargo = const {}, - this.precompiledBinaries, - }); - - final Map cargo; - final PrecompiledBinaries? precompiledBinaries; - - static CargokitCrateOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - final options = {}; - PrecompiledBinaries? precompiledBinaries; - - for (final entry in node.nodes.entries) { - if (entry - case MapEntry( - key: YamlScalar(value: 'cargo'), - value: YamlNode node, - )) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - for (final MapEntry(:YamlNode key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: String name)) { - final configuration = BuildConfiguration.values - .firstWhereOrNull((element) => element.name == name); - if (configuration != null) { - options[configuration] = CargoBuildOptions.parse(value); - continue; - } - } - throw SourceSpanException( - 'Unknown build configuration. Must be one of ${BuildConfiguration.values.map((e) => e.name)}.', - key.span); - } - } else if (entry.key case YamlScalar(value: 'precompiled_binaries')) { - precompiledBinaries = PrecompiledBinaries.parse(entry.value); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "cargo" or "precompiled_binaries".', - entry.key.span); - } - } - return CargokitCrateOptions( - cargo: options, - precompiledBinaries: precompiledBinaries, - ); - } - - static CargokitCrateOptions load({ - required String manifestDir, - }) { - final uri = Uri.file(path.join(manifestDir, "cargokit.yaml")); - final file = File.fromUri(uri); - if (file.existsSync()) { - final contents = loadYamlNode(file.readAsStringSync(), sourceUrl: uri); - return parse(contents); - } else { - return CargokitCrateOptions(); - } - } -} - -class CargokitUserOptions { - // When Rustup is installed always build locally unless user opts into - // using precompiled binaries. - static bool defaultUsePrecompiledBinaries() { - return Rustup.executablePath() == null; - } - - CargokitUserOptions({ - required this.usePrecompiledBinaries, - required this.verboseLogging, - }); - - CargokitUserOptions._() - : usePrecompiledBinaries = defaultUsePrecompiledBinaries(), - verboseLogging = false; - - static CargokitUserOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - bool usePrecompiledBinaries = defaultUsePrecompiledBinaries(); - bool verboseLogging = false; - - for (final entry in node.nodes.entries) { - if (entry.key case YamlScalar(value: 'use_precompiled_binaries')) { - if (entry.value case YamlScalar(value: bool value)) { - usePrecompiledBinaries = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "use_precompiled_binaries". Must be a boolean.', - entry.value.span); - } else if (entry.key case YamlScalar(value: 'verbose_logging')) { - if (entry.value case YamlScalar(value: bool value)) { - verboseLogging = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "verbose_logging". Must be a boolean.', - entry.value.span); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "use_precompiled_binaries" or "verbose_logging".', - entry.key.span); - } - } - return CargokitUserOptions( - usePrecompiledBinaries: usePrecompiledBinaries, - verboseLogging: verboseLogging, - ); - } - - static CargokitUserOptions load() { - String fileName = "cargokit_options.yaml"; - var userProjectDir = Directory(Environment.rootProjectDir); - - while (userProjectDir.parent.path != userProjectDir.path) { - final configFile = File(path.join(userProjectDir.path, fileName)); - if (configFile.existsSync()) { - final contents = loadYamlNode( - configFile.readAsStringSync(), - sourceUrl: configFile.uri, - ); - final res = parse(contents); - if (res.verboseLogging) { - _log.info('Found user options file at ${configFile.path}'); - } - return res; - } - userProjectDir = userProjectDir.parent; - } - return CargokitUserOptions._(); - } - - final bool usePrecompiledBinaries; - final bool verboseLogging; -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart deleted file mode 100644 index c27f4195dd..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart +++ /dev/null @@ -1,202 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; - -final _log = Logger('precompile_binaries'); - -class PrecompileBinaries { - PrecompileBinaries({ - required this.privateKey, - required this.githubToken, - required this.repositorySlug, - required this.manifestDir, - required this.targets, - this.androidSdkLocation, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.tempDir, - }); - - final PrivateKey privateKey; - final String githubToken; - final RepositorySlug repositorySlug; - final String manifestDir; - final List targets; - final String? androidSdkLocation; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? tempDir; - - static String fileName(Target target, String name) { - return '${target.rust}_$name'; - } - - static String signatureFileName(Target target, String name) { - return '${target.rust}_$name.sig'; - } - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final targets = List.of(this.targets); - if (targets.isEmpty) { - targets.addAll([ - ...Target.buildableTargets(), - if (androidSdkLocation != null) ...Target.androidTargets(), - ]); - } - - _log.info('Precompiling binaries for $targets'); - - final hash = CrateHash.compute(manifestDir); - _log.info('Computed crate hash: $hash'); - - final String tagName = 'precompiled_$hash'; - - final github = GitHub(auth: Authentication.withToken(githubToken)); - final repo = github.repositories; - final release = await _getOrCreateRelease( - repo: repo, - tagName: tagName, - packageName: crateInfo.packageName, - hash: hash, - ); - - final tempDir = this.tempDir != null - ? Directory(this.tempDir!) - : Directory.systemTemp.createTempSync('precompiled_'); - - tempDir.createSync(recursive: true); - - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - - final buildEnvironment = BuildEnvironment( - configuration: BuildConfiguration.release, - crateOptions: crateOptions, - targetTempDir: tempDir.path, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: androidSdkLocation != null, - androidSdkPath: androidSdkLocation, - androidNdkVersion: androidNdkVersion, - androidMinSdkVersion: androidMinSdkVersion, - ); - - final rustup = Rustup(); - - for (final target in targets) { - final artifactNames = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - if (artifactNames.every((name) { - final fileName = PrecompileBinaries.fileName(target, name); - return (release.assets ?? []).any((e) => e.name == fileName); - })) { - _log.info("All artifacts for $target already exist - skipping"); - continue; - } - - _log.info('Building for $target'); - - final builder = - RustBuilder(target: target, environment: buildEnvironment); - builder.prepare(rustup); - final res = await builder.build(); - - final assets = []; - for (final name in artifactNames) { - final file = File(path.join(res, name)); - if (!file.existsSync()) { - throw Exception('Missing artifact: ${file.path}'); - } - - final data = file.readAsBytesSync(); - final create = CreateReleaseAsset( - name: PrecompileBinaries.fileName(target, name), - contentType: "application/octet-stream", - assetData: data, - ); - final signature = sign(privateKey, data); - final signatureCreate = CreateReleaseAsset( - name: signatureFileName(target, name), - contentType: "application/octet-stream", - assetData: signature, - ); - bool verified = verify(public(privateKey), data, signature); - if (!verified) { - throw Exception('Signature verification failed'); - } - assets.add(create); - assets.add(signatureCreate); - } - _log.info('Uploading assets: ${assets.map((e) => e.name)}'); - for (final asset in assets) { - // This seems to be failing on CI so do it one by one - int retryCount = 0; - while (true) { - try { - await repo.uploadReleaseAssets(release, [asset]); - break; - } on Exception catch (e) { - if (retryCount == 10) { - rethrow; - } - ++retryCount; - _log.shout( - 'Upload failed (attempt $retryCount, will retry): ${e.toString()}'); - await Future.delayed(Duration(seconds: 2)); - } - } - } - } - - _log.info('Cleaning up'); - tempDir.deleteSync(recursive: true); - } - - Future _getOrCreateRelease({ - required RepositoriesService repo, - required String tagName, - required String packageName, - required String hash, - }) async { - Release release; - try { - _log.info('Fetching release $tagName'); - release = await repo.getReleaseByTagName(repositorySlug, tagName); - } on ReleaseNotFound { - _log.info('Release not found - creating release $tagName'); - release = await repo.createRelease( - repositorySlug, - CreateRelease.from( - tagName: tagName, - name: 'Precompiled binaries ${hash.substring(0, 8)}', - targetCommitish: null, - isDraft: false, - isPrerelease: false, - body: 'Precompiled binaries for crate $packageName, ' - 'crate hash $hash.', - )); - } - return release; - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/rustup.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/rustup.dart deleted file mode 100644 index 0ac8d08616..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/rustup.dart +++ /dev/null @@ -1,136 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; - -import 'util.dart'; - -class _Toolchain { - _Toolchain( - this.name, - this.targets, - ); - - final String name; - final List targets; -} - -class Rustup { - List? installedTargets(String toolchain) { - final targets = _installedTargets(toolchain); - return targets != null ? List.unmodifiable(targets) : null; - } - - void installToolchain(String toolchain) { - log.info("Installing Rust toolchain: $toolchain"); - runCommand("rustup", ['toolchain', 'install', toolchain]); - _installedToolchains - .add(_Toolchain(toolchain, _getInstalledTargets(toolchain))); - } - - void installTarget( - String target, { - required String toolchain, - }) { - log.info("Installing Rust target: $target"); - runCommand("rustup", [ - 'target', - 'add', - '--toolchain', - toolchain, - target, - ]); - _installedTargets(toolchain)?.add(target); - } - - final List<_Toolchain> _installedToolchains; - - Rustup() : _installedToolchains = _getInstalledToolchains(); - - List? _installedTargets(String toolchain) => _installedToolchains - .firstWhereOrNull( - (e) => e.name == toolchain || e.name.startsWith('$toolchain-')) - ?.targets; - - static List<_Toolchain> _getInstalledToolchains() { - String extractToolchainName(String line) { - // ignore (default) after toolchain name - final parts = line.split(' '); - return parts[0]; - } - - final res = runCommand("rustup", ['toolchain', 'list']); - - // To list all non-custom toolchains, we need to filter out lines that - // don't start with "stable", "beta", or "nightly". - Pattern nonCustom = RegExp(r"^(stable|beta|nightly)"); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty && e.startsWith(nonCustom)) - .map(extractToolchainName) - .toList(growable: true); - - return lines - .map( - (name) => _Toolchain( - name, - _getInstalledTargets(name), - ), - ) - .toList(growable: true); - } - - static List _getInstalledTargets(String toolchain) { - final res = runCommand("rustup", [ - 'target', - 'list', - '--toolchain', - toolchain, - '--installed', - ]); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty) - .toList(growable: true); - return lines; - } - - bool _didInstallRustSrcForNightly = false; - - void installRustSrcForNightly() { - if (_didInstallRustSrcForNightly) { - return; - } - // Useful for -Z build-std - runCommand( - "rustup", - ['component', 'add', 'rust-src', '--toolchain', 'nightly'], - ); - _didInstallRustSrcForNightly = true; - } - - static String? executablePath() { - final envPath = Platform.environment['PATH']; - final envPathSeparator = Platform.isWindows ? ';' : ':'; - final home = Platform.isWindows - ? Platform.environment['USERPROFILE'] - : Platform.environment['HOME']; - final paths = [ - if (home != null) path.join(home, '.cargo', 'bin'), - if (envPath != null) ...envPath.split(envPathSeparator), - ]; - for (final p in paths) { - final rustup = Platform.isWindows ? 'rustup.exe' : 'rustup'; - final rustupPath = path.join(p, rustup); - if (File(rustupPath).existsSync()) { - return rustupPath; - } - } - return null; - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/target.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/target.dart deleted file mode 100644 index 6fbc58b64f..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/target.dart +++ /dev/null @@ -1,140 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; - -import 'util.dart'; - -class Target { - Target({ - required this.rust, - this.flutter, - this.android, - this.androidMinSdkVersion, - this.darwinPlatform, - this.darwinArch, - }); - - static final all = [ - Target( - rust: 'armv7-linux-androideabi', - flutter: 'android-arm', - android: 'armeabi-v7a', - androidMinSdkVersion: 16, - ), - Target( - rust: 'aarch64-linux-android', - flutter: 'android-arm64', - android: 'arm64-v8a', - androidMinSdkVersion: 21, - ), - Target( - rust: 'i686-linux-android', - flutter: 'android-x86', - android: 'x86', - androidMinSdkVersion: 16, - ), - Target( - rust: 'x86_64-linux-android', - flutter: 'android-x64', - android: 'x86_64', - androidMinSdkVersion: 21, - ), - Target( - rust: 'x86_64-pc-windows-msvc', - flutter: 'windows-x64', - ), - Target( - rust: 'x86_64-unknown-linux-gnu', - flutter: 'linux-x64', - ), - Target( - rust: 'aarch64-unknown-linux-gnu', - flutter: 'linux-arm64', - ), - Target( - rust: 'x86_64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'x86_64', - ), - Target( - rust: 'aarch64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios', - darwinPlatform: 'iphoneos', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios-sim', - darwinPlatform: 'iphonesimulator', - darwinArch: 'arm64', - ), - Target( - rust: 'x86_64-apple-ios', - darwinPlatform: 'iphonesimulator', - darwinArch: 'x86_64', - ), - ]; - - static Target? forFlutterName(String flutterName) { - return all.firstWhereOrNull((element) => element.flutter == flutterName); - } - - static Target? forDarwin({ - required String platformName, - required String darwinAarch, - }) { - return all.firstWhereOrNull((element) => // - element.darwinPlatform == platformName && - element.darwinArch == darwinAarch); - } - - static Target? forRustTriple(String triple) { - return all.firstWhereOrNull((element) => element.rust == triple); - } - - static List androidTargets() { - return all - .where((element) => element.android != null) - .toList(growable: false); - } - - /// Returns buildable targets on current host platform ignoring Android targets. - static List buildableTargets() { - if (Platform.isLinux) { - // Right now we don't support cross-compiling on Linux. So we just return - // the host target. - final arch = runCommand('arch', []).stdout as String; - if (arch.trim() == 'aarch64') { - return [Target.forRustTriple('aarch64-unknown-linux-gnu')!]; - } else { - return [Target.forRustTriple('x86_64-unknown-linux-gnu')!]; - } - } - return all.where((target) { - if (Platform.isWindows) { - return target.rust.contains('-windows-'); - } else if (Platform.isMacOS) { - return target.darwinPlatform != null; - } - return false; - }).toList(growable: false); - } - - @override - String toString() { - return rust; - } - - final String? flutter; - final String rust; - final String? android; - final int? androidMinSdkVersion; - final String? darwinPlatform; - final String? darwinArch; -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/util.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/util.dart deleted file mode 100644 index 8bb6a8724f..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/util.dart +++ /dev/null @@ -1,172 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'logging.dart'; -import 'rustup.dart'; - -final log = Logger("process"); - -class CommandFailedException implements Exception { - final String executable; - final List arguments; - final ProcessResult result; - - CommandFailedException({ - required this.executable, - required this.arguments, - required this.result, - }); - - @override - String toString() { - final stdout = result.stdout.toString().trim(); - final stderr = result.stderr.toString().trim(); - return [ - "External Command: $executable ${arguments.map((e) => '"$e"').join(' ')}", - "Returned Exit Code: ${result.exitCode}", - kSeparator, - "STDOUT:", - if (stdout.isNotEmpty) stdout, - kSeparator, - "STDERR:", - if (stderr.isNotEmpty) stderr, - ].join('\n'); - } -} - -class TestRunCommandArgs { - final String executable; - final List arguments; - final String? workingDirectory; - final Map? environment; - final bool includeParentEnvironment; - final bool runInShell; - final Encoding? stdoutEncoding; - final Encoding? stderrEncoding; - - TestRunCommandArgs({ - required this.executable, - required this.arguments, - this.workingDirectory, - this.environment, - this.includeParentEnvironment = true, - this.runInShell = false, - this.stdoutEncoding, - this.stderrEncoding, - }); -} - -class TestRunCommandResult { - TestRunCommandResult({ - this.pid = 1, - this.exitCode = 0, - this.stdout = '', - this.stderr = '', - }); - - final int pid; - final int exitCode; - final String stdout; - final String stderr; -} - -TestRunCommandResult Function(TestRunCommandArgs args)? testRunCommandOverride; - -ProcessResult runCommand( - String executable, - List arguments, { - String? workingDirectory, - Map? environment, - bool includeParentEnvironment = true, - bool runInShell = false, - Encoding? stdoutEncoding = systemEncoding, - Encoding? stderrEncoding = systemEncoding, -}) { - if (testRunCommandOverride != null) { - final result = testRunCommandOverride!(TestRunCommandArgs( - executable: executable, - arguments: arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stdoutEncoding: stdoutEncoding, - stderrEncoding: stderrEncoding, - )); - return ProcessResult( - result.pid, - result.exitCode, - result.stdout, - result.stderr, - ); - } - log.finer('Running command $executable ${arguments.join(' ')}'); - final res = Process.runSync( - _resolveExecutable(executable), - arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stderrEncoding: stderrEncoding, - stdoutEncoding: stdoutEncoding, - ); - if (res.exitCode != 0) { - throw CommandFailedException( - executable: executable, - arguments: arguments, - result: res, - ); - } else { - return res; - } -} - -class RustupNotFoundException implements Exception { - @override - String toString() { - return [ - ' ', - 'rustup not found in PATH.', - ' ', - 'Maybe you need to install Rust? It only takes a minute:', - ' ', - if (Platform.isWindows) 'https://www.rust-lang.org/tools/install', - if (hasHomebrewRustInPath()) ...[ - '\$ brew unlink rust # Unlink homebrew Rust from PATH', - ], - if (!Platform.isWindows) - "\$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh", - ' ', - ].join('\n'); - } - - static bool hasHomebrewRustInPath() { - if (!Platform.isMacOS) { - return false; - } - final envPath = Platform.environment['PATH'] ?? ''; - final paths = envPath.split(':'); - return paths.any((p) { - return p.contains('homebrew') && File(path.join(p, 'rustc')).existsSync(); - }); - } -} - -String _resolveExecutable(String executable) { - if (executable == 'rustup') { - final resolved = Rustup.executablePath(); - if (resolved != null) { - return resolved; - } - throw RustupNotFoundException(); - } else { - return executable; - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart deleted file mode 100644 index 2366b57bfd..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart +++ /dev/null @@ -1,84 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; - -import 'artifacts_provider.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; - -class VerifyBinaries { - VerifyBinaries({ - required this.manifestDir, - }); - - final String manifestDir; - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final config = CargokitCrateOptions.load(manifestDir: manifestDir); - final precompiledBinaries = config.precompiledBinaries; - if (precompiledBinaries == null) { - stdout.writeln('Crate does not support precompiled binaries.'); - } else { - final crateHash = CrateHash.compute(manifestDir); - stdout.writeln('Crate hash: $crateHash'); - - for (final target in Target.all) { - final message = 'Checking ${target.rust}...'; - stdout.write(message.padRight(40)); - stdout.flush(); - - final artifacts = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - final prefix = precompiledBinaries.uriPrefix; - - bool ok = true; - - for (final artifact in artifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = - Uri.parse('$prefix$crateHash/$signatureFileName'); - - final signature = await get(signatureUrl); - if (signature.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - final asset = await get(url); - if (asset.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - - if (!verify(precompiledBinaries.publicKey, asset.bodyBytes, - signature.bodyBytes)) { - stdout.writeln('INVALID SIGNATURE'); - ok = false; - } - } - - if (ok) { - stdout.writeln('OK'); - } - } - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.lock b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.lock deleted file mode 100644 index 343bdd3694..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.lock +++ /dev/null @@ -1,453 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.dev" - source: hosted - version: "64.0.0" - adaptive_number: - dependency: transitive - description: - name: adaptive_number - sha256: "3a567544e9b5c9c803006f51140ad544aedc79604fd4f3f2c1380003f97c1d77" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.dev" - source: hosted - version: "6.2.0" - args: - dependency: "direct main" - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - collection: - dependency: "direct main" - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: "direct main" - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" - url: "https://pub.dev" - source: hosted - version: "1.6.3" - crypto: - dependency: "direct main" - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - ed25519_edwards: - dependency: "direct main" - description: - name: ed25519_edwards - sha256: "6ce0112d131327ec6d42beede1e5dfd526069b18ad45dcf654f15074ad9276cd" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - github: - dependency: "direct main" - description: - name: github - sha256: "9966bc13bf612342e916b0a343e95e5f046c88f602a14476440e9b75d2295411" - url: "https://pub.dev" - source: hosted - version: "9.17.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - hex: - dependency: "direct main" - description: - name: hex - sha256: "4e7cd54e4b59ba026432a6be2dd9d96e4c5205725194997193bf871703b82c4a" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - http: - dependency: "direct main" - description: - name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - lints: - dependency: "direct dev" - description: - name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - logging: - dependency: "direct main" - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" - url: "https://pub.dev" - source: hosted - version: "0.12.16" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - url: "https://pub.dev" - source: hosted - version: "2.0.2" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: "direct main" - description: - name: path - sha256: "2ad4cddff7f5cc0e2d13069f2a3f7a73ca18f66abd6f5ecf215219cdb3638edb" - url: "https://pub.dev" - source: hosted - version: "1.8.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 - url: "https://pub.dev" - source: hosted - version: "5.4.0" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" - url: "https://pub.dev" - source: hosted - version: "0.10.12" - source_span: - dependency: "direct main" - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - sha256: "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9" - url: "https://pub.dev" - source: hosted - version: "1.24.6" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - test_core: - dependency: transitive - description: - name: test_core - sha256: "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265" - url: "https://pub.dev" - source: hosted - version: "0.5.6" - toml: - dependency: "direct main" - description: - name: toml - sha256: "157c5dca5160fced243f3ce984117f729c788bb5e475504f3dbcda881accee44" - url: "https://pub.dev" - source: hosted - version: "0.14.0" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - version: - dependency: "direct main" - description: - name: version - sha256: "2307e23a45b43f96469eeab946208ed63293e8afca9c28cd8b5241ff31c55f55" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "0fae432c85c4ea880b33b497d32824b97795b04cdaa74d270219572a1f50268d" - url: "https://pub.dev" - source: hosted - version: "11.9.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.dev" - source: hosted - version: "2.4.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - yaml: - dependency: "direct main" - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.0.0 <4.0.0" diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.yaml b/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.yaml deleted file mode 100644 index 18c61e3386..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/build_tool/pubspec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -name: build_tool -description: Cargokit build_tool. Facilitates the build of Rust crate during Flutter application build. -publish_to: none -version: 1.0.0 - -environment: - sdk: ">=3.0.0 <4.0.0" - -# Add regular dependencies here. -dependencies: - # these are pinned on purpose because the bundle_tool_runner doesn't have - # pubspec.lock. See run_build_tool.sh - logging: 1.2.0 - path: 1.8.0 - version: 3.0.0 - collection: 1.18.0 - ed25519_edwards: 0.3.1 - hex: 0.2.0 - yaml: 3.1.2 - source_span: 1.10.0 - github: 9.17.0 - args: 2.4.2 - crypto: 3.0.3 - convert: 3.1.1 - http: 1.1.0 - toml: 0.14.0 - -dev_dependencies: - lints: ^2.1.0 - test: ^1.24.0 diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/cmake/cargokit.cmake b/frb_example/flutter_via_create/rust_builder/cargokit/cmake/cargokit.cmake deleted file mode 100644 index ddd05df9b4..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/cmake/cargokit.cmake +++ /dev/null @@ -1,99 +0,0 @@ -SET(cargokit_cmake_root "${CMAKE_CURRENT_LIST_DIR}/..") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -get_filename_component(cargokit_cmake_root "${cargokit_cmake_root}" REALPATH) - -if(WIN32) - # REALPATH does not properly resolve symlinks on windows :-/ - execute_process(COMMAND powershell -ExecutionPolicy Bypass -File "${CMAKE_CURRENT_LIST_DIR}/resolve_symlinks.ps1" "${cargokit_cmake_root}" OUTPUT_VARIABLE cargokit_cmake_root OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() - -# Arguments -# - target: CMAKE target to which rust library is linked -# - manifest_dir: relative path from current folder to directory containing cargo manifest -# - lib_name: cargo package name -# - any_symbol_name: name of any exported symbol from the library. -# used on windows to force linking with library. -function(apply_cargokit target manifest_dir lib_name any_symbol_name) - - set(CARGOKIT_LIB_NAME "${lib_name}") - set(CARGOKIT_LIB_FULL_NAME "${CMAKE_SHARED_MODULE_PREFIX}${CARGOKIT_LIB_NAME}${CMAKE_SHARED_MODULE_SUFFIX}") - if (CMAKE_CONFIGURATION_TYPES) - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/$/${CARGOKIT_LIB_FULL_NAME}") - else() - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/${CARGOKIT_LIB_FULL_NAME}") - endif() - set(CARGOKIT_TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/cargokit_build") - - if (FLUTTER_TARGET_PLATFORM) - set(CARGOKIT_TARGET_PLATFORM "${FLUTTER_TARGET_PLATFORM}") - else() - set(CARGOKIT_TARGET_PLATFORM "windows-x64") - endif() - - set(CARGOKIT_ENV - "CARGOKIT_CMAKE=${CMAKE_COMMAND}" - "CARGOKIT_CONFIGURATION=$" - "CARGOKIT_MANIFEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${manifest_dir}" - "CARGOKIT_TARGET_TEMP_DIR=${CARGOKIT_TEMP_DIR}" - "CARGOKIT_OUTPUT_DIR=${CARGOKIT_OUTPUT_DIR}" - "CARGOKIT_TARGET_PLATFORM=${CARGOKIT_TARGET_PLATFORM}" - "CARGOKIT_TOOL_TEMP_DIR=${CARGOKIT_TEMP_DIR}/tool" - "CARGOKIT_ROOT_PROJECT_DIR=${CMAKE_SOURCE_DIR}" - ) - - if (WIN32) - set(SCRIPT_EXTENSION ".cmd") - set(IMPORT_LIB_EXTENSION ".lib") - else() - set(SCRIPT_EXTENSION ".sh") - set(IMPORT_LIB_EXTENSION "") - execute_process(COMMAND chmod +x "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}") - endif() - - # Using generators in custom command is only supported in CMake 3.20+ - if (CMAKE_CONFIGURATION_TYPES AND ${CMAKE_VERSION} VERSION_LESS "3.20.0") - foreach(CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES) - add_custom_command( - OUTPUT - "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG}/${CARGOKIT_LIB_FULL_NAME}" - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endforeach() - else() - add_custom_command( - OUTPUT - ${OUTPUT_LIB} - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endif() - - - set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/_phony_" PROPERTIES SYMBOLIC TRUE) - - if (TARGET ${target}) - # If we have actual cmake target provided create target and make existing - # target depend on it - add_custom_target("${target}_cargokit" DEPENDS ${OUTPUT_LIB}) - add_dependencies("${target}" "${target}_cargokit") - target_link_libraries("${target}" PRIVATE "${OUTPUT_LIB}${IMPORT_LIB_EXTENSION}") - if(WIN32) - target_link_options(${target} PRIVATE "/INCLUDE:${any_symbol_name}") - endif() - else() - # Otherwise (FFI) just use ALL to force building always - add_custom_target("${target}_cargokit" ALL DEPENDS ${OUTPUT_LIB}) - endif() - - # Allow adding the output library to plugin bundled libraries - set("${target}_cargokit_lib" ${OUTPUT_LIB} PARENT_SCOPE) - -endfunction() diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/cmake/resolve_symlinks.ps1 b/frb_example/flutter_via_create/rust_builder/cargokit/cmake/resolve_symlinks.ps1 deleted file mode 100644 index 3d10d283c2..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/cmake/resolve_symlinks.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -function Resolve-Symlinks { - [CmdletBinding()] - [OutputType([string])] - param( - [Parameter(Position = 0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] - [string] $Path - ) - - [string] $separator = '/' - [string[]] $parts = $Path.Split($separator) - - [string] $realPath = '' - foreach ($part in $parts) { - if ($realPath -and !$realPath.EndsWith($separator)) { - $realPath += $separator - } - $realPath += $part - $item = Get-Item $realPath - if ($item.Target) { - $realPath = $item.Target.Replace('\', '/') - } - } - $realPath -} - -$path=Resolve-Symlinks -Path $args[0] -Write-Host $path diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/gradle/plugin.gradle b/frb_example/flutter_via_create/rust_builder/cargokit/gradle/plugin.gradle deleted file mode 100644 index 1aead89136..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/gradle/plugin.gradle +++ /dev/null @@ -1,179 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import java.nio.file.Paths -import org.apache.tools.ant.taskdefs.condition.Os - -CargoKitPlugin.file = buildscript.sourceFile - -apply plugin: CargoKitPlugin - -class CargoKitExtension { - String manifestDir; // Relative path to folder containing Cargo.toml - String libname; // Library name within Cargo.toml. Must be a cdylib -} - -abstract class CargoKitBuildTask extends DefaultTask { - - @Input - String buildMode - - @Input - String buildDir - - @Input - String outputDir - - @Input - String ndkVersion - - @Input - String sdkDirectory - - @Input - int compileSdkVersion; - - @Input - int minSdkVersion; - - @Input - String pluginFile - - @Input - List targetPlatforms - - @TaskAction - def build() { - if (project.cargokit.manifestDir == null) { - throw new GradleException("Property 'manifestDir' must be set on cargokit extension"); - } - - if (project.cargokit.libname == null) { - throw new GradleException("Property 'libname' must be set on cargokit extension"); - } - - def executableName = Os.isFamily(Os.FAMILY_WINDOWS) ? "run_build_tool.cmd" : "run_build_tool.sh" - def path = Paths.get(new File(pluginFile).parent, "..", executableName); - - def manifestDir = Paths.get(project.buildscript.sourceFile.parent, project.cargokit.manifestDir) - - def rootProjectDir = project.rootProject.projectDir - - if (!Os.isFamily(Os.FAMILY_WINDOWS)) { - project.exec { - commandLine 'chmod', '+x', path - } - } - - project.exec { - executable path - args "build-gradle" - environment "CARGOKIT_ROOT_PROJECT_DIR", rootProjectDir - environment "CARGOKIT_TOOL_TEMP_DIR", "${buildDir}/build_tool" - environment "CARGOKIT_MANIFEST_DIR", manifestDir - environment "CARGOKIT_CONFIGURATION", buildMode - environment "CARGOKIT_TARGET_TEMP_DIR", buildDir - environment "CARGOKIT_OUTPUT_DIR", outputDir - environment "CARGOKIT_NDK_VERSION", ndkVersion - environment "CARGOKIT_SDK_DIR", sdkDirectory - environment "CARGOKIT_COMPILE_SDK_VERSION", compileSdkVersion - environment "CARGOKIT_MIN_SDK_VERSION", minSdkVersion - environment "CARGOKIT_TARGET_PLATFORMS", targetPlatforms.join(",") - environment "CARGOKIT_JAVA_HOME", System.properties['java.home'] - } - } -} - -class CargoKitPlugin implements Plugin { - - static String file; - - private Plugin findFlutterPlugin(Project rootProject) { - _findFlutterPlugin(rootProject.childProjects) - } - - private Plugin _findFlutterPlugin(Map projects) { - for (project in projects) { - for (plugin in project.value.getPlugins()) { - if (plugin.class.name == "FlutterPlugin") { - return plugin; - } - } - def plugin = _findFlutterPlugin(project.value.childProjects); - if (plugin != null) { - return plugin; - } - } - return null; - } - - @Override - void apply(Project project) { - def plugin = findFlutterPlugin(project.rootProject); - - project.extensions.create("cargokit", CargoKitExtension) - - if (plugin == null) { - print("Flutter plugin not found, CargoKit plugin will not be applied.") - return; - } - - def cargoBuildDir = "${project.buildDir}/build" - - // Determine if the project is an application or library - def isApplication = plugin.project.plugins.hasPlugin('com.android.application') - def variants = isApplication ? plugin.project.android.applicationVariants : plugin.project.android.libraryVariants - - variants.all { variant -> - - final buildType = variant.buildType.name - - def cargoOutputDir = "${project.buildDir}/jniLibs/${buildType}"; - def jniLibs = project.android.sourceSets.maybeCreate(buildType).jniLibs; - jniLibs.srcDir(new File(cargoOutputDir)) - - def platforms = plugin.getTargetPlatforms().collect() - - // Same thing addFlutterDependencies does in flutter.gradle - if (buildType == "debug") { - platforms.add("android-x86") - platforms.add("android-x64") - } - - // The task name depends on plugin properties, which are not available - // at this point - project.getGradle().afterProject { - def taskName = "cargokitCargoBuild${project.cargokit.libname.capitalize()}${buildType.capitalize()}"; - - if (project.tasks.findByName(taskName)) { - return - } - - if (plugin.project.android.ndkVersion == null) { - throw new GradleException("Please set 'android.ndkVersion' in 'app/build.gradle'.") - } - - def task = project.tasks.create(taskName, CargoKitBuildTask.class) { - buildMode = variant.buildType.name - buildDir = cargoBuildDir - outputDir = cargoOutputDir - ndkVersion = plugin.project.android.ndkVersion - sdkDirectory = plugin.project.android.sdkDirectory - minSdkVersion = plugin.project.android.defaultConfig.minSdkVersion.apiLevel as int - compileSdkVersion = plugin.project.android.compileSdkVersion.substring(8) as int - targetPlatforms = platforms - pluginFile = CargoKitPlugin.file - } - def onTask = { newTask -> - if (newTask.name == "merge${buildType.capitalize()}NativeLibs") { - newTask.dependsOn task - // Fix gradle 7.4.2 not picking up JNI library changes - newTask.outputs.upToDateWhen { false } - } - } - project.tasks.each onTask - project.tasks.whenTaskAdded onTask - } - } - } -} diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.cmd b/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.cmd deleted file mode 100755 index c45d0aa8b5..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.cmd +++ /dev/null @@ -1,91 +0,0 @@ -@echo off -setlocal - -setlocal ENABLEDELAYEDEXPANSION - -SET BASEDIR=%~dp0 - -if not exist "%CARGOKIT_TOOL_TEMP_DIR%" ( - mkdir "%CARGOKIT_TOOL_TEMP_DIR%" -) -cd /D "%CARGOKIT_TOOL_TEMP_DIR%" - -SET BUILD_TOOL_PKG_DIR=%BASEDIR%build_tool -SET DART=%FLUTTER_ROOT%\bin\cache\dart-sdk\bin\dart - -set BUILD_TOOL_PKG_DIR_POSIX=%BUILD_TOOL_PKG_DIR:\=/% - -( - echo name: build_tool_runner - echo version: 1.0.0 - echo publish_to: none - echo. - echo environment: - echo sdk: '^>=3.0.0 ^<4.0.0' - echo. - echo dependencies: - echo build_tool: - echo path: %BUILD_TOOL_PKG_DIR_POSIX% -) >pubspec.yaml - -if not exist bin ( - mkdir bin -) - -( - echo import 'package:build_tool/build_tool.dart' as build_tool; - echo void main^(List^ args^) ^{ - echo build_tool.runMain^(args^); - echo ^} -) >bin\build_tool_runner.dart - -SET PRECOMPILED=bin\build_tool_runner.dill - -REM To detect changes in package we compare output of DIR /s (recursive) -set PREV_PACKAGE_INFO=.dart_tool\package_info.prev -set CUR_PACKAGE_INFO=.dart_tool\package_info.cur - -DIR "%BUILD_TOOL_PKG_DIR%" /s > "%CUR_PACKAGE_INFO%_orig" - -REM Last line in dir output is free space on harddrive. That is bound to -REM change between invocation so we need to remove it -( - Set "Line=" - For /F "UseBackQ Delims=" %%A In ("%CUR_PACKAGE_INFO%_orig") Do ( - SetLocal EnableDelayedExpansion - If Defined Line Echo !Line! - EndLocal - Set "Line=%%A") -) >"%CUR_PACKAGE_INFO%" -DEL "%CUR_PACKAGE_INFO%_orig" - -REM Compare current directory listing with previous -FC /B "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" > nul 2>&1 - -If %ERRORLEVEL% neq 0 ( - REM Changed - copy current to previous and remove precompiled kernel - if exist "%PREV_PACKAGE_INFO%" ( - DEL "%PREV_PACKAGE_INFO%" - ) - MOVE /Y "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" - if exist "%PRECOMPILED%" ( - DEL "%PRECOMPILED%" - ) -) - -REM There is no CUR_PACKAGE_INFO it was renamed in previous step to %PREV_PACKAGE_INFO% -REM which means we need to do pub get and precompile -if not exist "%PRECOMPILED%" ( - echo Running pub get in "%cd%" - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart -) - -"%DART%" "%PRECOMPILED%" %* - -REM 253 means invalid snapshot version. -If %ERRORLEVEL% equ 253 ( - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart - "%DART%" "%PRECOMPILED%" %* -) diff --git a/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.sh b/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.sh deleted file mode 100755 index 6e594a23d4..0000000000 --- a/frb_example/flutter_via_create/rust_builder/cargokit/run_build_tool.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -set -e - -BASEDIR=$(dirname "$0") - -mkdir -p "$CARGOKIT_TOOL_TEMP_DIR" - -cd "$CARGOKIT_TOOL_TEMP_DIR" - -# Write a very simple bin package in temp folder that depends on build_tool package -# from Cargokit. This is done to ensure that we don't pollute Cargokit folder -# with .dart_tool contents. - -BUILD_TOOL_PKG_DIR="$BASEDIR/build_tool" - -if [[ -z $FLUTTER_ROOT ]]; then # not defined - DART=dart -else - DART="$FLUTTER_ROOT/bin/cache/dart-sdk/bin/dart" -fi - -cat << EOF > "pubspec.yaml" -name: build_tool_runner -version: 1.0.0 -publish_to: none - -environment: - sdk: '>=3.0.0 <4.0.0' - -dependencies: - build_tool: - path: "$BUILD_TOOL_PKG_DIR" -EOF - -mkdir -p "bin" - -cat << EOF > "bin/build_tool_runner.dart" -import 'package:build_tool/build_tool.dart' as build_tool; -void main(List args) { - build_tool.runMain(args); -} -EOF - -# Create alias for `shasum` if it does not exist and `sha1sum` exists -if ! [ -x "$(command -v shasum)" ] && [ -x "$(command -v sha1sum)" ]; then - shopt -s expand_aliases - alias shasum="sha1sum" -fi - -# Dart run will not cache any package that has a path dependency, which -# is the case for our build_tool_runner. So instead we precompile the package -# ourselves. -# To invalidate the cached kernel we use the hash of ls -LR of the build_tool -# package directory. This should be good enough, as the build_tool package -# itself is not meant to have any path dependencies. - -if [[ "$OSTYPE" == "darwin"* ]]; then - PACKAGE_HASH=$(ls -lTR "$BUILD_TOOL_PKG_DIR" | shasum) -else - PACKAGE_HASH=$(ls -lR --full-time "$BUILD_TOOL_PKG_DIR" | shasum) -fi - -PACKAGE_HASH_FILE=".package_hash" - -if [ -f "$PACKAGE_HASH_FILE" ]; then - EXISTING_HASH=$(cat "$PACKAGE_HASH_FILE") - if [ "$PACKAGE_HASH" != "$EXISTING_HASH" ]; then - rm "$PACKAGE_HASH_FILE" - fi -fi - -# Run pub get if needed. -if [ ! -f "$PACKAGE_HASH_FILE" ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - echo "$PACKAGE_HASH" > "$PACKAGE_HASH_FILE" -fi - -set +e - -"$DART" bin/build_tool_runner.dill "$@" - -exit_code=$? - -# 253 means invalid snapshot version. -if [ $exit_code == 253 ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - "$DART" bin/build_tool_runner.dill "$@" - exit_code=$? -fi - -exit $exit_code diff --git a/frb_example/flutter_via_create/windows/flutter/generated_plugins.cmake b/frb_example/flutter_via_create/windows/flutter/generated_plugins.cmake index b18061d609..b93c4c30c1 100644 --- a/frb_example/flutter_via_create/windows/flutter/generated_plugins.cmake +++ b/frb_example/flutter_via_create/windows/flutter/generated_plugins.cmake @@ -6,7 +6,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - rust_lib_flutter_via_create ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/frb_example/flutter_via_create/windows/runner/runner.exe.manifest b/frb_example/flutter_via_create/windows/runner/runner.exe.manifest index a42ea7687c..153653e8d6 100644 --- a/frb_example/flutter_via_create/windows/runner/runner.exe.manifest +++ b/frb_example/flutter_via_create/windows/runner/runner.exe.manifest @@ -9,12 +9,6 @@ - - - - - - diff --git a/frb_example/flutter_via_integrate/.metadata b/frb_example/flutter_via_integrate/.metadata index 8ca14df433..391c336b2f 100644 --- a/frb_example/flutter_via_integrate/.metadata +++ b/frb_example/flutter_via_integrate/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "5dcb86f68f239346676ceb1ed1ea385bd215fba1" + revision: "5874a72aa4c779a02553007c47dacbefba2374dc" channel: "stable" project_type: app @@ -13,26 +13,26 @@ project_type: app migration: platforms: - platform: root - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: android - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: ios - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: linux - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: macos - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: web - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc - platform: windows - create_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 - base_revision: 5dcb86f68f239346676ceb1ed1ea385bd215fba1 + create_revision: 5874a72aa4c779a02553007c47dacbefba2374dc + base_revision: 5874a72aa4c779a02553007c47dacbefba2374dc # User provided section diff --git a/frb_example/flutter_via_integrate/android/.gitignore b/frb_example/flutter_via_integrate/android/.gitignore index 6f568019d3..55afd919c6 100644 --- a/frb_example/flutter_via_integrate/android/.gitignore +++ b/frb_example/flutter_via_integrate/android/.gitignore @@ -7,7 +7,7 @@ gradle-wrapper.jar GeneratedPluginRegistrant.java # Remember to never publicly share your keystore. -# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app +# See https://flutter.dev/to/reference-keystore key.properties **/*.keystore **/*.jks diff --git a/frb_example/flutter_via_integrate/android/app/build.gradle b/frb_example/flutter_via_integrate/android/app/build.gradle index 3d9da919d0..c41381c952 100644 --- a/frb_example/flutter_via_integrate/android/app/build.gradle +++ b/frb_example/flutter_via_integrate/android/app/build.gradle @@ -5,24 +5,6 @@ plugins { id "dev.flutter.flutter-gradle-plugin" } -def localProperties = new Properties() -def localPropertiesFile = rootProject.file("local.properties") -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader("UTF-8") { reader -> - localProperties.load(reader) - } -} - -def flutterVersionCode = localProperties.getProperty("flutter.versionCode") -if (flutterVersionCode == null) { - flutterVersionCode = "1" -} - -def flutterVersionName = localProperties.getProperty("flutter.versionName") -if (flutterVersionName == null) { - flutterVersionName = "1.0" -} - android { namespace = "com.example.flutter_via_integrate" compileSdk = flutter.compileSdkVersion @@ -33,15 +15,19 @@ android { targetCompatibility = JavaVersion.VERSION_1_8 } + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.example.flutter_via_integrate" // You can update the following values to match your application needs. - // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. + // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion - versionCode = flutterVersionCode.toInteger() - versionName = flutterVersionName + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { diff --git a/frb_example/flutter_via_integrate/android/gradle.properties b/frb_example/flutter_via_integrate/android/gradle.properties index 3b5b324f6e..2597170821 100644 --- a/frb_example/flutter_via_integrate/android/gradle.properties +++ b/frb_example/flutter_via_integrate/android/gradle.properties @@ -1,3 +1,3 @@ -org.gradle.jvmargs=-Xmx4G -XX:+HeapDumpOnOutOfMemoryError +org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true diff --git a/frb_example/flutter_via_integrate/ios/Flutter/Debug.xcconfig b/frb_example/flutter_via_integrate/ios/Flutter/Debug.xcconfig index ec97fc6f30..592ceee85b 100644 --- a/frb_example/flutter_via_integrate/ios/Flutter/Debug.xcconfig +++ b/frb_example/flutter_via_integrate/ios/Flutter/Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_via_integrate/ios/Flutter/Release.xcconfig b/frb_example/flutter_via_integrate/ios/Flutter/Release.xcconfig index c4855bfe20..592ceee85b 100644 --- a/frb_example/flutter_via_integrate/ios/Flutter/Release.xcconfig +++ b/frb_example/flutter_via_integrate/ios/Flutter/Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "Generated.xcconfig" diff --git a/frb_example/flutter_via_integrate/ios/Podfile b/frb_example/flutter_via_integrate/ios/Podfile deleted file mode 100644 index d97f17e223..0000000000 --- a/frb_example/flutter_via_integrate/ios/Podfile +++ /dev/null @@ -1,44 +0,0 @@ -# Uncomment this line to define a global platform for your project -# platform :ios, '12.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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_ios_build_settings(target) - end -end diff --git a/frb_example/flutter_via_integrate/ios/Runner.xcodeproj/project.pbxproj b/frb_example/flutter_via_integrate/ios/Runner.xcodeproj/project.pbxproj index f2c07c3ba6..8993f11188 100644 --- a/frb_example/flutter_via_integrate/ios/Runner.xcodeproj/project.pbxproj +++ b/frb_example/flutter_via_integrate/ios/Runner.xcodeproj/project.pbxproj @@ -362,6 +362,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -541,6 +542,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -563,6 +565,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)"; + DEVELOPMENT_TEAM = XGL6UKBPLP; ENABLE_BITCODE = NO; INFOPLIST_FILE = Runner/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/frb_example/flutter_via_integrate/ios/Runner/AppDelegate.swift b/frb_example/flutter_via_integrate/ios/Runner/AppDelegate.swift index 9074fee929..626664468b 100644 --- a/frb_example/flutter_via_integrate/ios/Runner/AppDelegate.swift +++ b/frb_example/flutter_via_integrate/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Flutter import UIKit -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/frb_example/flutter_via_integrate/lib/main.dart b/frb_example/flutter_via_integrate/lib/main.dart index 08e7f20107..8be903453e 100644 --- a/frb_example/flutter_via_integrate/lib/main.dart +++ b/frb_example/flutter_via_integrate/lib/main.dart @@ -1,14 +1,14 @@ // The original content is temporarily commented out to allow generating a self-contained demo - feel free to uncomment later. // import 'package:flutter/material.dart'; -// +// // 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) { @@ -37,28 +37,28 @@ // ); // } // } -// +// // class MyHomePage extends StatefulWidget { // const MyHomePage({super.key, required this.title}); -// +// // // This widget is the home page of your application. It is stateful, meaning // // that it has a State object (defined below) that contains fields that affect // // how it looks. -// +// // // This class is the configuration for the state. It holds the values (in this // // case the title) provided by the parent (in this case the App widget) and // // used by the build method of the State. Fields in a Widget subclass are // // always marked "final". -// +// // final String title; -// +// // @override // State createState() => _MyHomePageState(); // } -// +// // class _MyHomePageState extends State { // int _counter = 0; -// +// // void _incrementCounter() { // setState(() { // // This call to setState tells the Flutter framework that something has @@ -69,7 +69,7 @@ // _counter++; // }); // } -// +// // @override // Widget build(BuildContext context) { // // This method is rerun every time setState is called, for instance as done @@ -125,7 +125,7 @@ // ); // } // } -// +// import 'package:flutter/material.dart'; import 'package:flutter_via_integrate/src/rust/api/simple.dart'; diff --git a/frb_example/flutter_via_integrate/linux/flutter/generated_plugins.cmake b/frb_example/flutter_via_integrate/linux/flutter/generated_plugins.cmake index 9dc4800dce..2e1de87a7e 100644 --- a/frb_example/flutter_via_integrate/linux/flutter/generated_plugins.cmake +++ b/frb_example/flutter_via_integrate/linux/flutter/generated_plugins.cmake @@ -6,7 +6,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - rust_lib_flutter_via_integrate ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Debug.xcconfig b/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Debug.xcconfig index 4b81f9b2d2..c2efd0b608 100644 --- a/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Debug.xcconfig +++ b/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Debug.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Release.xcconfig b/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Release.xcconfig index 5caa9d1579..c2efd0b608 100644 --- a/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Release.xcconfig +++ b/frb_example/flutter_via_integrate/macos/Flutter/Flutter-Release.xcconfig @@ -1,2 +1 @@ -#include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig" #include "ephemeral/Flutter-Generated.xcconfig" diff --git a/frb_example/flutter_via_integrate/macos/Podfile b/frb_example/flutter_via_integrate/macos/Podfile deleted file mode 100644 index c795730db8..0000000000 --- a/frb_example/flutter_via_integrate/macos/Podfile +++ /dev/null @@ -1,43 +0,0 @@ -platform :osx, '10.14' - -# 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__)) - target 'RunnerTests' do - inherit! :search_paths - end -end - -post_install do |installer| - installer.pods_project.targets.each do |target| - flutter_additional_macos_build_settings(target) - end -end diff --git a/frb_example/flutter_via_integrate/macos/Runner/AppDelegate.swift b/frb_example/flutter_via_integrate/macos/Runner/AppDelegate.swift index d53ef64377..8e02df2888 100644 --- a/frb_example/flutter_via_integrate/macos/Runner/AppDelegate.swift +++ b/frb_example/flutter_via_integrate/macos/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import Cocoa import FlutterMacOS -@NSApplicationMain +@main class AppDelegate: FlutterAppDelegate { override func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { return true diff --git a/frb_example/flutter_via_integrate/pubspec.lock b/frb_example/flutter_via_integrate/pubspec.lock index d4d341d780..9e51fc8aa7 100644 --- a/frb_example/flutter_via_integrate/pubspec.lock +++ b/frb_example/flutter_via_integrate/pubspec.lock @@ -1,14 +1,6 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: - args: - dependency: transitive - description: - name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" - url: "https://pub.dev" - source: hosted - version: "2.5.0" async: dependency: transitive description: @@ -25,14 +17,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.1" - build_cli_annotations: - dependency: transitive - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" characters: dependency: transitive description: @@ -73,70 +57,40 @@ packages: url: "https://pub.dev" source: hosted version: "1.3.1" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" - flutter_driver: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" + sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" url: "https://pub.dev" source: hosted - version: "3.0.2" - flutter_rust_bridge: - dependency: "direct main" - description: - path: "../../frb_dart" - relative: true - source: path - version: "2.3.0" + version: "4.0.0" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - fuchsia_remote_debug_protocol: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - integration_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -149,10 +103,10 @@ packages: dependency: transitive description: name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" matcher: dependency: transitive description: @@ -165,18 +119,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -185,37 +139,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.0" - platform: - dependency: transitive - description: - name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" - url: "https://pub.dev" - source: hosted - version: "3.1.4" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - process: - dependency: transitive - description: - name: process - sha256: "21e54fd2faf1b5bdd5102afd25012184a6793927648ea81eea80552ac9405b32" - url: "https://pub.dev" - source: hosted - version: "5.0.2" - rust_lib_flutter_via_integrate: - dependency: "direct main" - description: - path: rust_builder - relative: true - source: path - version: "0.0.1" sky_engine: dependency: transitive description: flutter @@ -253,14 +176,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.2.0" - sync_http: - dependency: transitive - description: - name: sync_http - sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" - url: "https://pub.dev" - source: hosted - version: "0.3.1" term_glyph: dependency: transitive description: @@ -273,10 +188,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -289,26 +204,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" - url: "https://pub.dev" - source: hosted - version: "14.2.1" - web: - dependency: transitive - description: - name: web - sha256: d43c1d6b787bf0afad444700ae7f4db8827f701bc61c255ac8d328c6f4d52062 - url: "https://pub.dev" - source: hosted - version: "1.0.0" - webdriver: - dependency: transitive - description: - name: webdriver - sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "14.2.5" sdks: - dart: ">=3.4.0 <4.0.0" + dart: ">=3.5.1 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/frb_example/flutter_via_integrate/pubspec.yaml b/frb_example/flutter_via_integrate/pubspec.yaml index 5f26027ac1..cd2a53b0e7 100644 --- a/frb_example/flutter_via_integrate/pubspec.yaml +++ b/frb_example/flutter_via_integrate/pubspec.yaml @@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev version: 1.0.0+1 environment: - sdk: '>=3.4.0 <4.0.0' + sdk: ^3.5.1 # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions @@ -34,11 +34,7 @@ dependencies: # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^1.0.6 - rust_lib_flutter_via_integrate: - path: rust_builder - flutter_rust_bridge: - path: ../../frb_dart + cupertino_icons: ^1.0.8 dev_dependencies: flutter_test: @@ -49,9 +45,7 @@ dev_dependencies: # 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: ^3.0.0 - integration_test: - sdk: flutter + flutter_lints: ^4.0.0 # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec @@ -70,10 +64,10 @@ flutter: # - 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 + # https://flutter.dev/to/resolution-aware-images # For details regarding adding assets from package dependencies, see - # https://flutter.dev/assets-and-images/#from-packages + # https://flutter.dev/to/asset-from-package # To add custom fonts to your application, add a fonts section here, # in this "flutter" section. Each entry in this list should have a @@ -93,4 +87,4 @@ flutter: # weight: 700 # # For details regarding fonts from package dependencies, - # see https://flutter.dev/custom-fonts/#from-packages + # see https://flutter.dev/to/font-from-package diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/.gitignore b/frb_example/flutter_via_integrate/rust_builder/cargokit/.gitignore deleted file mode 100644 index cf7bb868c0..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -target -.dart_tool -*.iml -!pubspec.lock diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/LICENSE b/frb_example/flutter_via_integrate/rust_builder/cargokit/LICENSE deleted file mode 100644 index d33a5fea52..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/LICENSE +++ /dev/null @@ -1,42 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Copyright 2022 Matej Knopp - -================================================================================ - -MIT LICENSE - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -================================================================================ - -APACHE LICENSE, VERSION 2.0 - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/README b/frb_example/flutter_via_integrate/rust_builder/cargokit/README deleted file mode 100644 index 398474dbc8..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/README +++ /dev/null @@ -1,11 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -Experimental repository to provide glue for seamlessly integrating cargo build -with flutter plugins and packages. - -See https://matejknopp.com/post/flutter_plugin_in_rust_with_no_prebuilt_binaries/ -for a tutorial on how to use Cargokit. - -Example plugin available at https://github.com/irondash/hello_rust_ffi_plugin. - diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_pod.sh b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_pod.sh deleted file mode 100755 index ed0e0d987d..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_pod.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -set -e - -BASEDIR=$(dirname "$0") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -BASEDIR=$(cd "$BASEDIR" ; pwd -P) - -# Remove XCode SDK from path. Otherwise this breaks tool compilation when building iOS project -NEW_PATH=`echo $PATH | tr ":" "\n" | grep -v "Contents/Developer/" | tr "\n" ":"` - -export PATH=${NEW_PATH%?} # remove trailing : - -env - -# Platform name (macosx, iphoneos, iphonesimulator) -export CARGOKIT_DARWIN_PLATFORM_NAME=$PLATFORM_NAME - -# Arctive architectures (arm64, armv7, x86_64), space separated. -export CARGOKIT_DARWIN_ARCHS=$ARCHS - -# Current build configuration (Debug, Release) -export CARGOKIT_CONFIGURATION=$CONFIGURATION - -# Path to directory containing Cargo.toml. -export CARGOKIT_MANIFEST_DIR=$PODS_TARGET_SRCROOT/$1 - -# Temporary directory for build artifacts. -export CARGOKIT_TARGET_TEMP_DIR=$TARGET_TEMP_DIR - -# Output directory for final artifacts. -export CARGOKIT_OUTPUT_DIR=$PODS_CONFIGURATION_BUILD_DIR/$PRODUCT_NAME - -# Directory to store built tool artifacts. -export CARGOKIT_TOOL_TEMP_DIR=$TARGET_TEMP_DIR/build_tool - -# Directory inside root project. Not necessarily the top level directory of root project. -export CARGOKIT_ROOT_PROJECT_DIR=$SRCROOT - -FLUTTER_EXPORT_BUILD_ENVIRONMENT=( - "$PODS_ROOT/../Flutter/ephemeral/flutter_export_environment.sh" # macOS - "$PODS_ROOT/../Flutter/flutter_export_environment.sh" # iOS -) - -for path in "${FLUTTER_EXPORT_BUILD_ENVIRONMENT[@]}" -do - if [[ -f "$path" ]]; then - source "$path" - fi -done - -sh "$BASEDIR/run_build_tool.sh" build-pod "$@" - -# Make a symlink from built framework to phony file, which will be used as input to -# build script. This should force rebuild (podspec currently doesn't support alwaysOutOfDate -# attribute on custom build phase) -ln -fs "$OBJROOT/XCBuildData/build.db" "${BUILT_PRODUCTS_DIR}/cargokit_phony" -ln -fs "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}" "${BUILT_PRODUCTS_DIR}/cargokit_phony_out" diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/README.md b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/README.md deleted file mode 100644 index a878c27964..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/README.md +++ /dev/null @@ -1,5 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -A sample command-line application with an entrypoint in `bin/`, library code -in `lib/`, and example unit test in `test/`. diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/analysis_options.yaml b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/analysis_options.yaml deleted file mode 100644 index 0e16a8b092..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/analysis_options.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -# This file configures the static analysis results for your project (errors, -# warnings, and lints). -# -# This enables the 'recommended' set of lints from `package:lints`. -# This set helps identify many issues that may lead to problems when running -# or consuming Dart code, and enforces writing Dart using a single, idiomatic -# style and format. -# -# If you want a smaller set of lints you can change this to specify -# 'package:lints/core.yaml'. These are just the most critical lints -# (the recommended set includes the core lints). -# The core lints are also what is used by pub.dev for scoring packages. - -include: package:lints/recommended.yaml - -# Uncomment the following section to specify additional rules. - -linter: - rules: - - prefer_relative_imports - - directives_ordering - -# analyzer: -# exclude: -# - path/to/excluded/files/** - -# For more information about the core and recommended set of lints, see -# https://dart.dev/go/core-lints - -# For additional information about configuring this file, see -# https://dart.dev/guides/language/analysis-options diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/bin/build_tool.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/bin/build_tool.dart deleted file mode 100644 index 268eb524dc..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/bin/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:build_tool/build_tool.dart' as build_tool; - -void main(List arguments) { - build_tool.runMain(arguments); -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/build_tool.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/build_tool.dart deleted file mode 100644 index 7c1bb750a4..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/build_tool.dart +++ /dev/null @@ -1,8 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'src/build_tool.dart' as build_tool; - -Future runMain(List args) async { - return build_tool.runMain(args); -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/android_environment.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/android_environment.dart deleted file mode 100644 index 15fc9eedac..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/android_environment.dart +++ /dev/null @@ -1,195 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; -import 'dart:isolate'; -import 'dart:math' as math; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; -import 'package:version/version.dart'; - -import 'target.dart'; -import 'util.dart'; - -class AndroidEnvironment { - AndroidEnvironment({ - required this.sdkPath, - required this.ndkVersion, - required this.minSdkVersion, - required this.targetTempDir, - required this.target, - }); - - static void clangLinkerWrapper(List args) { - final clang = Platform.environment['_CARGOKIT_NDK_LINK_CLANG']; - if (clang == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_CLANG env var"); - } - final target = Platform.environment['_CARGOKIT_NDK_LINK_TARGET']; - if (target == null) { - throw Exception( - "cargo-ndk rustc linker: didn't find _CARGOKIT_NDK_LINK_TARGET env var"); - } - - runCommand(clang, [ - target, - ...args, - ]); - } - - /// Full path to Android SDK. - final String sdkPath; - - /// Full version of Android NDK. - final String ndkVersion; - - /// Minimum supported SDK version. - final int minSdkVersion; - - /// Target directory for build artifacts. - final String targetTempDir; - - /// Target being built. - final Target target; - - bool ndkIsInstalled() { - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final ndkPackageXml = File(path.join(ndkPath, 'package.xml')); - return ndkPackageXml.existsSync(); - } - - void installNdk({ - required String javaHome, - }) { - final sdkManagerExtension = Platform.isWindows ? '.bat' : ''; - final sdkManager = path.join( - sdkPath, - 'cmdline-tools', - 'latest', - 'bin', - 'sdkmanager$sdkManagerExtension', - ); - - log.info('Installing NDK $ndkVersion'); - runCommand(sdkManager, [ - '--install', - 'ndk;$ndkVersion', - ], environment: { - 'JAVA_HOME': javaHome, - }); - } - - Future> buildEnvironment() async { - final hostArch = Platform.isMacOS - ? "darwin-x86_64" - : (Platform.isLinux ? "linux-x86_64" : "windows-x86_64"); - - final ndkPath = path.join(sdkPath, 'ndk', ndkVersion); - final toolchainPath = path.join( - ndkPath, - 'toolchains', - 'llvm', - 'prebuilt', - hostArch, - 'bin', - ); - - final minSdkVersion = - math.max(target.androidMinSdkVersion!, this.minSdkVersion); - - final exe = Platform.isWindows ? '.exe' : ''; - - final arKey = 'AR_${target.rust}'; - final arValue = ['${target.rust}-ar', 'llvm-ar', 'llvm-ar.exe'] - .map((e) => path.join(toolchainPath, e)) - .firstWhereOrNull((element) => File(element).existsSync()); - if (arValue == null) { - throw Exception('Failed to find ar for $target in $toolchainPath'); - } - - final targetArg = '--target=${target.rust}$minSdkVersion'; - - final ccKey = 'CC_${target.rust}'; - final ccValue = path.join(toolchainPath, 'clang$exe'); - final cfFlagsKey = 'CFLAGS_${target.rust}'; - final cFlagsValue = targetArg; - - final cxxKey = 'CXX_${target.rust}'; - final cxxValue = path.join(toolchainPath, 'clang++$exe'); - final cxxFlagsKey = 'CXXFLAGS_${target.rust}'; - final cxxFlagsValue = targetArg; - - final linkerKey = - 'cargo_target_${target.rust.replaceAll('-', '_')}_linker'.toUpperCase(); - - final ranlibKey = 'RANLIB_${target.rust}'; - final ranlibValue = path.join(toolchainPath, 'llvm-ranlib$exe'); - - final ndkVersionParsed = Version.parse(ndkVersion); - final rustFlagsKey = 'CARGO_ENCODED_RUSTFLAGS'; - final rustFlagsValue = _libGccWorkaround(targetTempDir, ndkVersionParsed); - - final runRustTool = - Platform.isWindows ? 'run_build_tool.cmd' : 'run_build_tool.sh'; - - final packagePath = (await Isolate.resolvePackageUri( - Uri.parse('package:build_tool/buildtool.dart')))! - .toFilePath(); - final selfPath = path.canonicalize(path.join( - packagePath, - '..', - '..', - '..', - runRustTool, - )); - - // Make sure that run_build_tool is working properly even initially launched directly - // through dart run. - final toolTempDir = - Platform.environment['CARGOKIT_TOOL_TEMP_DIR'] ?? targetTempDir; - - return { - arKey: arValue, - ccKey: ccValue, - cfFlagsKey: cFlagsValue, - cxxKey: cxxValue, - cxxFlagsKey: cxxFlagsValue, - ranlibKey: ranlibValue, - rustFlagsKey: rustFlagsValue, - linkerKey: selfPath, - // Recognized by main() so we know when we're acting as a wrapper - '_CARGOKIT_NDK_LINK_TARGET': targetArg, - '_CARGOKIT_NDK_LINK_CLANG': ccValue, - 'CARGOKIT_TOOL_TEMP_DIR': toolTempDir, - }; - } - - // Workaround for libgcc missing in NDK23, inspired by cargo-ndk - String _libGccWorkaround(String buildDir, Version ndkVersion) { - final workaroundDir = path.join( - buildDir, - 'cargokit', - 'libgcc_workaround', - '${ndkVersion.major}', - ); - Directory(workaroundDir).createSync(recursive: true); - if (ndkVersion.major >= 23) { - File(path.join(workaroundDir, 'libgcc.a')) - .writeAsStringSync('INPUT(-lunwind)'); - } else { - // Other way around, untested, forward libgcc.a from libunwind once Rust - // gets updated for NDK23+. - File(path.join(workaroundDir, 'libunwind.a')) - .writeAsStringSync('INPUT(-lgcc)'); - } - - var rustFlags = Platform.environment['CARGO_ENCODED_RUSTFLAGS'] ?? ''; - if (rustFlags.isNotEmpty) { - rustFlags = '$rustFlags\x1f'; - } - rustFlags = '$rustFlags-L\x1f$workaroundDir'; - return rustFlags; - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart deleted file mode 100644 index e608cece73..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/artifacts_provider.dart +++ /dev/null @@ -1,266 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'builder.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'rustup.dart'; -import 'target.dart'; - -class Artifact { - /// File system location of the artifact. - final String path; - - /// Actual file name that the artifact should have in destination folder. - final String finalFileName; - - AritifactType get type { - if (finalFileName.endsWith('.dll') || - finalFileName.endsWith('.dll.lib') || - finalFileName.endsWith('.pdb') || - finalFileName.endsWith('.so') || - finalFileName.endsWith('.dylib')) { - return AritifactType.dylib; - } else if (finalFileName.endsWith('.lib') || finalFileName.endsWith('.a')) { - return AritifactType.staticlib; - } else { - throw Exception('Unknown artifact type for $finalFileName'); - } - } - - Artifact({ - required this.path, - required this.finalFileName, - }); -} - -final _log = Logger('artifacts_provider'); - -class ArtifactProvider { - ArtifactProvider({ - required this.environment, - required this.userOptions, - }); - - final BuildEnvironment environment; - final CargokitUserOptions userOptions; - - Future>> getArtifacts(List targets) async { - final result = await _getPrecompiledArtifacts(targets); - - final pendingTargets = List.of(targets); - pendingTargets.removeWhere((element) => result.containsKey(element)); - - if (pendingTargets.isEmpty) { - return result; - } - - final rustup = Rustup(); - for (final target in targets) { - final builder = RustBuilder(target: target, environment: environment); - builder.prepare(rustup); - _log.info('Building ${environment.crateInfo.packageName} for $target'); - final targetDir = await builder.build(); - // For local build accept both static and dynamic libraries. - final artifactNames = { - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.dylib, - remote: false, - ), - ...getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - aritifactType: AritifactType.staticlib, - remote: false, - ) - }; - final artifacts = artifactNames - .map((artifactName) => Artifact( - path: path.join(targetDir, artifactName), - finalFileName: artifactName, - )) - .where((element) => File(element.path).existsSync()) - .toList(); - result[target] = artifacts; - } - return result; - } - - Future>> _getPrecompiledArtifacts( - List targets) async { - if (userOptions.usePrecompiledBinaries == false) { - _log.info('Precompiled binaries are disabled'); - return {}; - } - if (environment.crateOptions.precompiledBinaries == null) { - _log.fine('Precompiled binaries not enabled for this crate'); - return {}; - } - - final start = Stopwatch()..start(); - final crateHash = CrateHash.compute(environment.manifestDir, - tempStorage: environment.targetTempDir); - _log.fine( - 'Computed crate hash $crateHash in ${start.elapsedMilliseconds}ms'); - - final downloadedArtifactsDir = - path.join(environment.targetTempDir, 'precompiled', crateHash); - Directory(downloadedArtifactsDir).createSync(recursive: true); - - final res = >{}; - - for (final target in targets) { - final requiredArtifacts = getArtifactNames( - target: target, - libraryName: environment.crateInfo.packageName, - remote: true, - ); - final artifactsForTarget = []; - - for (final artifact in requiredArtifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final downloadedPath = path.join(downloadedArtifactsDir, fileName); - if (!File(downloadedPath).existsSync()) { - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - await _tryDownloadArtifacts( - crateHash: crateHash, - fileName: fileName, - signatureFileName: signatureFileName, - finalPath: downloadedPath, - ); - } - if (File(downloadedPath).existsSync()) { - artifactsForTarget.add(Artifact( - path: downloadedPath, - finalFileName: artifact, - )); - } else { - break; - } - } - - // Only provide complete set of artifacts. - if (artifactsForTarget.length == requiredArtifacts.length) { - _log.fine('Found precompiled artifacts for $target'); - res[target] = artifactsForTarget; - } - } - - return res; - } - - static Future _get(Uri url, {Map? headers}) async { - int attempt = 0; - const maxAttempts = 10; - while (true) { - try { - return await get(url, headers: headers); - } on SocketException catch (e) { - // Try to detect reset by peer error and retry. - if (attempt++ < maxAttempts && - (e.osError?.errorCode == 54 || e.osError?.errorCode == 10054)) { - _log.severe( - 'Failed to download $url: $e, attempt $attempt of $maxAttempts, will retry...'); - await Future.delayed(Duration(seconds: 1)); - continue; - } else { - rethrow; - } - } - } - } - - Future _tryDownloadArtifacts({ - required String crateHash, - required String fileName, - required String signatureFileName, - required String finalPath, - }) async { - final precompiledBinaries = environment.crateOptions.precompiledBinaries!; - final prefix = precompiledBinaries.uriPrefix; - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = Uri.parse('$prefix$crateHash/$signatureFileName'); - _log.fine('Downloading signature from $signatureUrl'); - final signature = await _get(signatureUrl); - if (signature.statusCode == 404) { - _log.warning( - 'Precompiled binaries not available for crate hash $crateHash ($fileName)'); - return; - } - if (signature.statusCode != 200) { - _log.severe( - 'Failed to download signature $signatureUrl: status ${signature.statusCode}'); - return; - } - _log.fine('Downloading binary from $url'); - final res = await _get(url); - if (res.statusCode != 200) { - _log.severe('Failed to download binary $url: status ${res.statusCode}'); - return; - } - if (verify( - precompiledBinaries.publicKey, res.bodyBytes, signature.bodyBytes)) { - File(finalPath).writeAsBytesSync(res.bodyBytes); - } else { - _log.shout('Signature verification failed! Ignoring binary.'); - } - } -} - -enum AritifactType { - staticlib, - dylib, -} - -AritifactType artifactTypeForTarget(Target target) { - if (target.darwinPlatform != null) { - return AritifactType.staticlib; - } else { - return AritifactType.dylib; - } -} - -List getArtifactNames({ - required Target target, - required String libraryName, - required bool remote, - AritifactType? aritifactType, -}) { - aritifactType ??= artifactTypeForTarget(target); - if (target.darwinArch != null) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.dylib']; - } - } else if (target.rust.contains('-windows-')) { - if (aritifactType == AritifactType.staticlib) { - return ['$libraryName.lib']; - } else { - return [ - '$libraryName.dll', - '$libraryName.dll.lib', - if (!remote) '$libraryName.pdb' - ]; - } - } else if (target.rust.contains('-linux-')) { - if (aritifactType == AritifactType.staticlib) { - return ['lib$libraryName.a']; - } else { - return ['lib$libraryName.so']; - } - } else { - throw Exception("Unsupported target: ${target.rust}"); - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart deleted file mode 100644 index 6f3b2a4ec1..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_cmake.dart +++ /dev/null @@ -1,40 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -class BuildCMake { - final CargokitUserOptions userOptions; - - BuildCMake({required this.userOptions}); - - Future build() async { - final targetPlatform = Environment.targetPlatform; - final target = Target.forFlutterName(Environment.targetPlatform); - if (target == null) { - throw Exception("Unknown target platform: $targetPlatform"); - } - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts([target]); - - final libs = artifacts[target]!; - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path) - .copySync(path.join(Environment.outputDir, lib.finalFileName)); - } - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart deleted file mode 100644 index 7e61fcbb7c..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_gradle.dart +++ /dev/null @@ -1,49 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; - -final log = Logger('build_gradle'); - -class BuildGradle { - BuildGradle({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.targetPlatforms.map((arch) { - final target = Target.forFlutterName(arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: true); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - for (final target in targets) { - final libs = artifacts[target]!; - final outputDir = path.join(Environment.outputDir, target.android!); - Directory(outputDir).createSync(recursive: true); - - for (final lib in libs) { - if (lib.type == AritifactType.dylib) { - File(lib.path).copySync(path.join(outputDir, lib.finalFileName)); - } - } - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_pod.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_pod.dart deleted file mode 100644 index 8a9c0db5de..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_pod.dart +++ /dev/null @@ -1,89 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'target.dart'; -import 'util.dart'; - -class BuildPod { - BuildPod({required this.userOptions}); - - final CargokitUserOptions userOptions; - - Future build() async { - final targets = Environment.darwinArchs.map((arch) { - final target = Target.forDarwin( - platformName: Environment.darwinPlatformName, darwinAarch: arch); - if (target == null) { - throw Exception( - "Unknown darwin target or platform: $arch, ${Environment.darwinPlatformName}"); - } - return target; - }).toList(); - - final environment = BuildEnvironment.fromEnvironment(isAndroid: false); - final provider = - ArtifactProvider(environment: environment, userOptions: userOptions); - final artifacts = await provider.getArtifacts(targets); - - void performLipo(String targetFile, Iterable sourceFiles) { - runCommand("lipo", [ - '-create', - ...sourceFiles, - '-output', - targetFile, - ]); - } - - final outputDir = Environment.outputDir; - - Directory(outputDir).createSync(recursive: true); - - final staticLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.staticlib) - .toList(); - final dynamicLibs = artifacts.values - .expand((element) => element) - .where((element) => element.type == AritifactType.dylib) - .toList(); - - final libName = environment.crateInfo.packageName; - - // If there is static lib, use it and link it with pod - if (staticLibs.isNotEmpty) { - final finalTargetFile = path.join(outputDir, "lib$libName.a"); - performLipo(finalTargetFile, staticLibs.map((e) => e.path)); - } else { - // Otherwise try to replace bundle dylib with our dylib - final bundlePaths = [ - '$libName.framework/Versions/A/$libName', - '$libName.framework/$libName', - ]; - - for (final bundlePath in bundlePaths) { - final targetFile = path.join(outputDir, bundlePath); - if (File(targetFile).existsSync()) { - performLipo(targetFile, dynamicLibs.map((e) => e.path)); - - // Replace absolute id with @rpath one so that it works properly - // when moved to Frameworks. - runCommand("install_name_tool", [ - '-id', - '@rpath/$bundlePath', - targetFile, - ]); - return; - } - } - throw Exception('Unable to find bundle for dynamic library'); - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_tool.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_tool.dart deleted file mode 100644 index c8f36981b5..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/build_tool.dart +++ /dev/null @@ -1,271 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:args/command_runner.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; - -import 'android_environment.dart'; -import 'build_cmake.dart'; -import 'build_gradle.dart'; -import 'build_pod.dart'; -import 'logging.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; -import 'util.dart'; -import 'verify_binaries.dart'; - -final log = Logger('build_tool'); - -abstract class BuildCommand extends Command { - Future runBuildCommand(CargokitUserOptions options); - - @override - Future run() async { - final options = CargokitUserOptions.load(); - - if (options.verboseLogging || - Platform.environment['CARGOKIT_VERBOSE'] == '1') { - enableVerboseLogging(); - } - - await runBuildCommand(options); - } -} - -class BuildPodCommand extends BuildCommand { - @override - final name = 'build-pod'; - - @override - final description = 'Build cocoa pod library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildPod(userOptions: options); - await build.build(); - } -} - -class BuildGradleCommand extends BuildCommand { - @override - final name = 'build-gradle'; - - @override - final description = 'Build android library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildGradle(userOptions: options); - await build.build(); - } -} - -class BuildCMakeCommand extends BuildCommand { - @override - final name = 'build-cmake'; - - @override - final description = 'Build CMake library'; - - @override - Future runBuildCommand(CargokitUserOptions options) async { - final build = BuildCMake(userOptions: options); - await build.build(); - } -} - -class GenKeyCommand extends Command { - @override - final name = 'gen-key'; - - @override - final description = 'Generate key pair for signing precompiled binaries'; - - @override - void run() { - final kp = generateKey(); - final private = HEX.encode(kp.privateKey.bytes); - final public = HEX.encode(kp.publicKey.bytes); - print("Private Key: $private"); - print("Public Key: $public"); - } -} - -class PrecompileBinariesCommand extends Command { - PrecompileBinariesCommand() { - argParser - ..addOption( - 'repository', - mandatory: true, - help: 'Github repository slug in format owner/name', - ) - ..addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ) - ..addMultiOption('target', - help: 'Rust target triple of artifact to build.\n' - 'Can be specified multiple times or omitted in which case\n' - 'all targets for current platform will be built.') - ..addOption( - 'android-sdk-location', - help: 'Location of Android SDK (if available)', - ) - ..addOption( - 'android-ndk-version', - help: 'Android NDK version (if available)', - ) - ..addOption( - 'android-min-sdk-version', - help: 'Android minimum rquired version (if available)', - ) - ..addOption( - 'temp-dir', - help: 'Directory to store temporary build artifacts', - ) - ..addFlag( - "verbose", - abbr: "v", - defaultsTo: false, - help: "Enable verbose logging", - ); - } - - @override - final name = 'precompile-binaries'; - - @override - final description = 'Prebuild and upload binaries\n' - 'Private key must be passed through PRIVATE_KEY environment variable. ' - 'Use gen_key through generate priave key.\n' - 'Github token must be passed as GITHUB_TOKEN environment variable.\n'; - - @override - Future run() async { - final verbose = argResults!['verbose'] as bool; - if (verbose) { - enableVerboseLogging(); - } - - final privateKeyString = Platform.environment['PRIVATE_KEY']; - if (privateKeyString == null) { - throw ArgumentError('Missing PRIVATE_KEY environment variable'); - } - final githubToken = Platform.environment['GITHUB_TOKEN']; - if (githubToken == null) { - throw ArgumentError('Missing GITHUB_TOKEN environment variable'); - } - final privateKey = HEX.decode(privateKeyString); - if (privateKey.length != 64) { - throw ArgumentError('Private key must be 64 bytes long'); - } - final manifestDir = argResults!['manifest-dir'] as String; - if (!Directory(manifestDir).existsSync()) { - throw ArgumentError('Manifest directory does not exist: $manifestDir'); - } - String? androidMinSdkVersionString = - argResults!['android-min-sdk-version'] as String?; - int? androidMinSdkVersion; - if (androidMinSdkVersionString != null) { - androidMinSdkVersion = int.tryParse(androidMinSdkVersionString); - if (androidMinSdkVersion == null) { - throw ArgumentError( - 'Invalid android-min-sdk-version: $androidMinSdkVersionString'); - } - } - final targetStrigns = argResults!['target'] as List; - final targets = targetStrigns.map((target) { - final res = Target.forRustTriple(target); - if (res == null) { - throw ArgumentError('Invalid target: $target'); - } - return res; - }).toList(growable: false); - final precompileBinaries = PrecompileBinaries( - privateKey: PrivateKey(privateKey), - githubToken: githubToken, - manifestDir: manifestDir, - repositorySlug: RepositorySlug.full(argResults!['repository'] as String), - targets: targets, - androidSdkLocation: argResults!['android-sdk-location'] as String?, - androidNdkVersion: argResults!['android-ndk-version'] as String?, - androidMinSdkVersion: androidMinSdkVersion, - tempDir: argResults!['temp-dir'] as String?, - ); - - await precompileBinaries.run(); - } -} - -class VerifyBinariesCommand extends Command { - VerifyBinariesCommand() { - argParser.addOption( - 'manifest-dir', - mandatory: true, - help: 'Directory containing Cargo.toml', - ); - } - - @override - final name = "verify-binaries"; - - @override - final description = 'Verifies published binaries\n' - 'Checks whether there is a binary published for each targets\n' - 'and checks the signature.'; - - @override - Future run() async { - final manifestDir = argResults!['manifest-dir'] as String; - final verifyBinaries = VerifyBinaries( - manifestDir: manifestDir, - ); - await verifyBinaries.run(); - } -} - -Future runMain(List args) async { - try { - // Init logging before options are loaded - initLogging(); - - if (Platform.environment['_CARGOKIT_NDK_LINK_TARGET'] != null) { - return AndroidEnvironment.clangLinkerWrapper(args); - } - - final runner = CommandRunner('build_tool', 'Cargokit built_tool') - ..addCommand(BuildPodCommand()) - ..addCommand(BuildGradleCommand()) - ..addCommand(BuildCMakeCommand()) - ..addCommand(GenKeyCommand()) - ..addCommand(PrecompileBinariesCommand()) - ..addCommand(VerifyBinariesCommand()); - - await runner.run(args); - } on ArgumentError catch (e) { - stderr.writeln(e.toString()); - exit(1); - } catch (e, s) { - log.severe(kDoubleSeparator); - log.severe('Cargokit BuildTool failed with error:'); - log.severe(kSeparator); - log.severe(e); - // This tells user to install Rust, there's no need to pollute the log with - // stack trace. - if (e is! RustupNotFoundException) { - log.severe(kSeparator); - log.severe(s); - log.severe(kSeparator); - log.severe('BuildTool arguments: $args'); - } - log.severe(kDoubleSeparator); - exit(1); - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/builder.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/builder.dart deleted file mode 100644 index 84c46e4f54..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/builder.dart +++ /dev/null @@ -1,198 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'package:collection/collection.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'android_environment.dart'; -import 'cargo.dart'; -import 'environment.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; -import 'util.dart'; - -final _log = Logger('builder'); - -enum BuildConfiguration { - debug, - release, - profile, -} - -extension on BuildConfiguration { - bool get isDebug => this == BuildConfiguration.debug; - String get rustName => switch (this) { - BuildConfiguration.debug => 'debug', - BuildConfiguration.release => 'release', - BuildConfiguration.profile => 'release', - }; -} - -class BuildException implements Exception { - final String message; - - BuildException(this.message); - - @override - String toString() { - return 'BuildException: $message'; - } -} - -class BuildEnvironment { - final BuildConfiguration configuration; - final CargokitCrateOptions crateOptions; - final String targetTempDir; - final String manifestDir; - final CrateInfo crateInfo; - - final bool isAndroid; - final String? androidSdkPath; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? javaHome; - - BuildEnvironment({ - required this.configuration, - required this.crateOptions, - required this.targetTempDir, - required this.manifestDir, - required this.crateInfo, - required this.isAndroid, - this.androidSdkPath, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.javaHome, - }); - - static BuildConfiguration parseBuildConfiguration(String value) { - // XCode configuration adds the flavor to configuration name. - final firstSegment = value.split('-').first; - final buildConfiguration = BuildConfiguration.values.firstWhereOrNull( - (e) => e.name == firstSegment, - ); - if (buildConfiguration == null) { - _log.warning('Unknown build configuraiton $value, will assume release'); - return BuildConfiguration.release; - } - return buildConfiguration; - } - - static BuildEnvironment fromEnvironment({ - required bool isAndroid, - }) { - final buildConfiguration = - parseBuildConfiguration(Environment.configuration); - final manifestDir = Environment.manifestDir; - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - final crateInfo = CrateInfo.load(manifestDir); - return BuildEnvironment( - configuration: buildConfiguration, - crateOptions: crateOptions, - targetTempDir: Environment.targetTempDir, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: isAndroid, - androidSdkPath: isAndroid ? Environment.sdkPath : null, - androidNdkVersion: isAndroid ? Environment.ndkVersion : null, - androidMinSdkVersion: - isAndroid ? int.parse(Environment.minSdkVersion) : null, - javaHome: isAndroid ? Environment.javaHome : null, - ); - } -} - -class RustBuilder { - final Target target; - final BuildEnvironment environment; - - RustBuilder({ - required this.target, - required this.environment, - }); - - void prepare( - Rustup rustup, - ) { - final toolchain = _toolchain; - if (rustup.installedTargets(toolchain) == null) { - rustup.installToolchain(toolchain); - } - if (toolchain == 'nightly') { - rustup.installRustSrcForNightly(); - } - if (!rustup.installedTargets(toolchain)!.contains(target.rust)) { - rustup.installTarget(target.rust, toolchain: toolchain); - } - } - - CargoBuildOptions? get _buildOptions => - environment.crateOptions.cargo[environment.configuration]; - - String get _toolchain => _buildOptions?.toolchain.name ?? 'stable'; - - /// Returns the path of directory containing build artifacts. - Future build() async { - final extraArgs = _buildOptions?.flags ?? []; - final manifestPath = path.join(environment.manifestDir, 'Cargo.toml'); - runCommand( - 'rustup', - [ - 'run', - _toolchain, - 'cargo', - 'build', - ...extraArgs, - '--manifest-path', - manifestPath, - '-p', - environment.crateInfo.packageName, - if (!environment.configuration.isDebug) '--release', - '--target', - target.rust, - '--target-dir', - environment.targetTempDir, - ], - environment: await _buildEnvironment(), - ); - return path.join( - environment.targetTempDir, - target.rust, - environment.configuration.rustName, - ); - } - - Future> _buildEnvironment() async { - if (target.android == null) { - return {}; - } else { - final sdkPath = environment.androidSdkPath; - final ndkVersion = environment.androidNdkVersion; - final minSdkVersion = environment.androidMinSdkVersion; - if (sdkPath == null) { - throw BuildException('androidSdkPath is not set'); - } - if (ndkVersion == null) { - throw BuildException('androidNdkVersion is not set'); - } - if (minSdkVersion == null) { - throw BuildException('androidMinSdkVersion is not set'); - } - final env = AndroidEnvironment( - sdkPath: sdkPath, - ndkVersion: ndkVersion, - minSdkVersion: minSdkVersion, - targetTempDir: environment.targetTempDir, - target: target, - ); - if (!env.ndkIsInstalled() && environment.javaHome != null) { - env.installNdk(javaHome: environment.javaHome!); - } - return env.buildEnvironment(); - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/cargo.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/cargo.dart deleted file mode 100644 index 0d8958ff2e..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/cargo.dart +++ /dev/null @@ -1,48 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:path/path.dart' as path; -import 'package:toml/toml.dart'; - -class ManifestException { - ManifestException(this.message, {required this.fileName}); - - final String? fileName; - final String message; - - @override - String toString() { - if (fileName != null) { - return 'Failed to parse package manifest at $fileName: $message'; - } else { - return 'Failed to parse package manifest: $message'; - } - } -} - -class CrateInfo { - CrateInfo({required this.packageName}); - - final String packageName; - - static CrateInfo parseManifest(String manifest, {final String? fileName}) { - final toml = TomlDocument.parse(manifest); - final package = toml.toMap()['package']; - if (package == null) { - throw ManifestException('Missing package section', fileName: fileName); - } - final name = package['name']; - if (name == null) { - throw ManifestException('Missing package name', fileName: fileName); - } - return CrateInfo(packageName: name); - } - - static CrateInfo load(String manifestDir) { - final manifestFile = File(path.join(manifestDir, 'Cargo.toml')); - final manifest = manifestFile.readAsStringSync(); - return parseManifest(manifest, fileName: manifestFile.path); - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart deleted file mode 100644 index 0c4d88d16b..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/crate_hash.dart +++ /dev/null @@ -1,124 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; -import 'dart:typed_data'; - -import 'package:collection/collection.dart'; -import 'package:convert/convert.dart'; -import 'package:crypto/crypto.dart'; -import 'package:path/path.dart' as path; - -class CrateHash { - /// Computes a hash uniquely identifying crate content. This takes into account - /// content all all .rs files inside the src directory, as well as Cargo.toml, - /// Cargo.lock, build.rs and cargokit.yaml. - /// - /// If [tempStorage] is provided, computed hash is stored in a file in that directory - /// and reused on subsequent calls if the crate content hasn't changed. - static String compute(String manifestDir, {String? tempStorage}) { - return CrateHash._( - manifestDir: manifestDir, - tempStorage: tempStorage, - )._compute(); - } - - CrateHash._({ - required this.manifestDir, - required this.tempStorage, - }); - - String _compute() { - final files = getFiles(); - final tempStorage = this.tempStorage; - if (tempStorage != null) { - final quickHash = _computeQuickHash(files); - final quickHashFolder = Directory(path.join(tempStorage, 'crate_hash')); - quickHashFolder.createSync(recursive: true); - final quickHashFile = File(path.join(quickHashFolder.path, quickHash)); - if (quickHashFile.existsSync()) { - return quickHashFile.readAsStringSync(); - } - final hash = _computeHash(files); - quickHashFile.writeAsStringSync(hash); - return hash; - } else { - return _computeHash(files); - } - } - - /// Computes a quick hash based on files stat (without reading contents). This - /// is used to cache the real hash, which is slower to compute since it involves - /// reading every single file. - String _computeQuickHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - final data = ByteData(8); - for (final file in files) { - input.add(utf8.encode(file.path)); - final stat = file.statSync(); - data.setUint64(0, stat.size); - input.add(data.buffer.asUint8List()); - data.setUint64(0, stat.modified.millisecondsSinceEpoch); - input.add(data.buffer.asUint8List()); - } - - input.close(); - return base64Url.encode(output.events.single.bytes); - } - - String _computeHash(List files) { - final output = AccumulatorSink(); - final input = sha256.startChunkedConversion(output); - - void addTextFile(File file) { - // text Files are hashed by lines in case we're dealing with github checkout - // that auto-converts line endings. - final splitter = LineSplitter(); - if (file.existsSync()) { - final data = file.readAsStringSync(); - final lines = splitter.convert(data); - for (final line in lines) { - input.add(utf8.encode(line)); - } - } - } - - for (final file in files) { - addTextFile(file); - } - - input.close(); - final res = output.events.single; - - // Truncate to 128bits. - final hash = res.bytes.sublist(0, 16); - return hex.encode(hash); - } - - List getFiles() { - final src = Directory(path.join(manifestDir, 'src')); - final files = src - .listSync(recursive: true, followLinks: false) - .whereType() - .toList(); - files.sortBy((element) => element.path); - void addFile(String relative) { - final file = File(path.join(manifestDir, relative)); - if (file.existsSync()) { - files.add(file); - } - } - - addFile('Cargo.toml'); - addFile('Cargo.lock'); - addFile('build.rs'); - addFile('cargokit.yaml'); - return files; - } - - final String manifestDir; - final String? tempStorage; -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/environment.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/environment.dart deleted file mode 100644 index 996483a180..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/environment.dart +++ /dev/null @@ -1,68 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -extension on String { - String resolveSymlink() => File(this).resolveSymbolicLinksSync(); -} - -class Environment { - /// Current build configuration (debug or release). - static String get configuration => - _getEnv("CARGOKIT_CONFIGURATION").toLowerCase(); - - static bool get isDebug => configuration == 'debug'; - static bool get isRelease => configuration == 'release'; - - /// Temporary directory where Rust build artifacts are placed. - static String get targetTempDir => _getEnv("CARGOKIT_TARGET_TEMP_DIR"); - - /// Final output directory where the build artifacts are placed. - static String get outputDir => _getEnvPath('CARGOKIT_OUTPUT_DIR'); - - /// Path to the crate manifest (containing Cargo.toml). - static String get manifestDir => _getEnvPath('CARGOKIT_MANIFEST_DIR'); - - /// Directory inside root project. Not necessarily root folder. Symlinks are - /// not resolved on purpose. - static String get rootProjectDir => _getEnv('CARGOKIT_ROOT_PROJECT_DIR'); - - // Pod - - /// Platform name (macosx, iphoneos, iphonesimulator). - static String get darwinPlatformName => - _getEnv("CARGOKIT_DARWIN_PLATFORM_NAME"); - - /// List of architectures to build for (arm64, armv7, x86_64). - static List get darwinArchs => - _getEnv("CARGOKIT_DARWIN_ARCHS").split(' '); - - // Gradle - static String get minSdkVersion => _getEnv("CARGOKIT_MIN_SDK_VERSION"); - static String get ndkVersion => _getEnv("CARGOKIT_NDK_VERSION"); - static String get sdkPath => _getEnvPath("CARGOKIT_SDK_DIR"); - static String get javaHome => _getEnvPath("CARGOKIT_JAVA_HOME"); - static List get targetPlatforms => - _getEnv("CARGOKIT_TARGET_PLATFORMS").split(','); - - // CMAKE - static String get targetPlatform => _getEnv("CARGOKIT_TARGET_PLATFORM"); - - static String _getEnv(String key) { - final res = Platform.environment[key]; - if (res == null) { - throw Exception("Missing environment variable $key"); - } - return res; - } - - static String _getEnvPath(String key) { - final res = _getEnv(key); - if (Directory(res).existsSync()) { - return res.resolveSymlink(); - } else { - return res; - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/logging.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/logging.dart deleted file mode 100644 index 5edd4fd184..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/logging.dart +++ /dev/null @@ -1,52 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:logging/logging.dart'; - -const String kSeparator = "--"; -const String kDoubleSeparator = "=="; - -bool _lastMessageWasSeparator = false; - -void _log(LogRecord rec) { - final prefix = '${rec.level.name}: '; - final out = rec.level == Level.SEVERE ? stderr : stdout; - if (rec.message == kSeparator) { - if (!_lastMessageWasSeparator) { - out.write(prefix); - out.writeln('-' * 80); - _lastMessageWasSeparator = true; - } - return; - } else if (rec.message == kDoubleSeparator) { - out.write(prefix); - out.writeln('=' * 80); - _lastMessageWasSeparator = true; - return; - } - out.write(prefix); - out.writeln(rec.message); - _lastMessageWasSeparator = false; -} - -void initLogging() { - Logger.root.level = Level.INFO; - Logger.root.onRecord.listen((LogRecord rec) { - final lines = rec.message.split('\n'); - for (final line in lines) { - if (line.isNotEmpty || lines.length == 1 || line != lines.last) { - _log(LogRecord( - rec.level, - line, - rec.loggerName, - )); - } - } - }); -} - -void enableVerboseLogging() { - Logger.root.level = Level.ALL; -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/options.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/options.dart deleted file mode 100644 index 22aef1d371..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/options.dart +++ /dev/null @@ -1,309 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:hex/hex.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; -import 'package:source_span/source_span.dart'; -import 'package:yaml/yaml.dart'; - -import 'builder.dart'; -import 'environment.dart'; -import 'rustup.dart'; - -final _log = Logger('options'); - -/// A class for exceptions that have source span information attached. -class SourceSpanException implements Exception { - // This is a getter so that subclasses can override it. - /// A message describing the exception. - String get message => _message; - final String _message; - - // This is a getter so that subclasses can override it. - /// The span associated with this exception. - /// - /// This may be `null` if the source location can't be determined. - SourceSpan? get span => _span; - final SourceSpan? _span; - - SourceSpanException(this._message, this._span); - - /// Returns a string representation of `this`. - /// - /// [color] may either be a [String], a [bool], or `null`. If it's a string, - /// it indicates an ANSI terminal color escape that should be used to - /// highlight the span's text. If it's `true`, it indicates that the text - /// should be highlighted using the default color. If it's `false` or `null`, - /// it indicates that the text shouldn't be highlighted. - @override - String toString({Object? color}) { - if (span == null) return message; - return 'Error on ${span!.message(message, color: color)}'; - } -} - -enum Toolchain { - stable, - beta, - nightly, -} - -class CargoBuildOptions { - final Toolchain toolchain; - final List flags; - - CargoBuildOptions({ - required this.toolchain, - required this.flags, - }); - - static Toolchain _toolchainFromNode(YamlNode node) { - if (node case YamlScalar(value: String name)) { - final toolchain = - Toolchain.values.firstWhereOrNull((element) => element.name == name); - if (toolchain != null) { - return toolchain; - } - } - throw SourceSpanException( - 'Unknown toolchain. Must be one of ${Toolchain.values.map((e) => e.name)}.', - node.span); - } - - static CargoBuildOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - Toolchain toolchain = Toolchain.stable; - List flags = []; - for (final MapEntry(:key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: 'toolchain')) { - toolchain = _toolchainFromNode(value); - } else if (key case YamlScalar(value: 'extra_flags')) { - if (value case YamlList(nodes: List list)) { - if (list.every((element) { - if (element case YamlScalar(value: String _)) { - return true; - } - return false; - })) { - flags = list.map((e) => e.value as String).toList(); - continue; - } - } - throw SourceSpanException( - 'Extra flags must be a list of strings', value.span); - } else { - throw SourceSpanException( - 'Unknown cargo option type. Must be "toolchain" or "extra_flags".', - key.span); - } - } - return CargoBuildOptions(toolchain: toolchain, flags: flags); - } -} - -extension on YamlMap { - /// Map that extracts keys so that we can do map case check on them. - Map get valueMap => - nodes.map((key, value) => MapEntry(key.value, value)); -} - -class PrecompiledBinaries { - final String uriPrefix; - final PublicKey publicKey; - - PrecompiledBinaries({ - required this.uriPrefix, - required this.publicKey, - }); - - static PublicKey _publicKeyFromHex(String key, SourceSpan? span) { - final bytes = HEX.decode(key); - if (bytes.length != 32) { - throw SourceSpanException( - 'Invalid public key. Must be 32 bytes long.', span); - } - return PublicKey(bytes); - } - - static PrecompiledBinaries parse(YamlNode node) { - if (node case YamlMap(valueMap: Map map)) { - if (map - case { - 'url_prefix': YamlNode urlPrefixNode, - 'public_key': YamlNode publicKeyNode, - }) { - final urlPrefix = switch (urlPrefixNode) { - YamlScalar(value: String urlPrefix) => urlPrefix, - _ => throw SourceSpanException( - 'Invalid URL prefix value.', urlPrefixNode.span), - }; - final publicKey = switch (publicKeyNode) { - YamlScalar(value: String publicKey) => - _publicKeyFromHex(publicKey, publicKeyNode.span), - _ => throw SourceSpanException( - 'Invalid public key value.', publicKeyNode.span), - }; - return PrecompiledBinaries( - uriPrefix: urlPrefix, - publicKey: publicKey, - ); - } - } - throw SourceSpanException( - 'Invalid precompiled binaries value. ' - 'Expected Map with "url_prefix" and "public_key".', - node.span); - } -} - -/// Cargokit options specified for Rust crate. -class CargokitCrateOptions { - CargokitCrateOptions({ - this.cargo = const {}, - this.precompiledBinaries, - }); - - final Map cargo; - final PrecompiledBinaries? precompiledBinaries; - - static CargokitCrateOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - final options = {}; - PrecompiledBinaries? precompiledBinaries; - - for (final entry in node.nodes.entries) { - if (entry - case MapEntry( - key: YamlScalar(value: 'cargo'), - value: YamlNode node, - )) { - if (node is! YamlMap) { - throw SourceSpanException('Cargo options must be a map', node.span); - } - for (final MapEntry(:YamlNode key, :value) in node.nodes.entries) { - if (key case YamlScalar(value: String name)) { - final configuration = BuildConfiguration.values - .firstWhereOrNull((element) => element.name == name); - if (configuration != null) { - options[configuration] = CargoBuildOptions.parse(value); - continue; - } - } - throw SourceSpanException( - 'Unknown build configuration. Must be one of ${BuildConfiguration.values.map((e) => e.name)}.', - key.span); - } - } else if (entry.key case YamlScalar(value: 'precompiled_binaries')) { - precompiledBinaries = PrecompiledBinaries.parse(entry.value); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "cargo" or "precompiled_binaries".', - entry.key.span); - } - } - return CargokitCrateOptions( - cargo: options, - precompiledBinaries: precompiledBinaries, - ); - } - - static CargokitCrateOptions load({ - required String manifestDir, - }) { - final uri = Uri.file(path.join(manifestDir, "cargokit.yaml")); - final file = File.fromUri(uri); - if (file.existsSync()) { - final contents = loadYamlNode(file.readAsStringSync(), sourceUrl: uri); - return parse(contents); - } else { - return CargokitCrateOptions(); - } - } -} - -class CargokitUserOptions { - // When Rustup is installed always build locally unless user opts into - // using precompiled binaries. - static bool defaultUsePrecompiledBinaries() { - return Rustup.executablePath() == null; - } - - CargokitUserOptions({ - required this.usePrecompiledBinaries, - required this.verboseLogging, - }); - - CargokitUserOptions._() - : usePrecompiledBinaries = defaultUsePrecompiledBinaries(), - verboseLogging = false; - - static CargokitUserOptions parse(YamlNode node) { - if (node is! YamlMap) { - throw SourceSpanException('Cargokit options must be a map', node.span); - } - bool usePrecompiledBinaries = defaultUsePrecompiledBinaries(); - bool verboseLogging = false; - - for (final entry in node.nodes.entries) { - if (entry.key case YamlScalar(value: 'use_precompiled_binaries')) { - if (entry.value case YamlScalar(value: bool value)) { - usePrecompiledBinaries = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "use_precompiled_binaries". Must be a boolean.', - entry.value.span); - } else if (entry.key case YamlScalar(value: 'verbose_logging')) { - if (entry.value case YamlScalar(value: bool value)) { - verboseLogging = value; - continue; - } - throw SourceSpanException( - 'Invalid value for "verbose_logging". Must be a boolean.', - entry.value.span); - } else { - throw SourceSpanException( - 'Unknown cargokit option type. Must be "use_precompiled_binaries" or "verbose_logging".', - entry.key.span); - } - } - return CargokitUserOptions( - usePrecompiledBinaries: usePrecompiledBinaries, - verboseLogging: verboseLogging, - ); - } - - static CargokitUserOptions load() { - String fileName = "cargokit_options.yaml"; - var userProjectDir = Directory(Environment.rootProjectDir); - - while (userProjectDir.parent.path != userProjectDir.path) { - final configFile = File(path.join(userProjectDir.path, fileName)); - if (configFile.existsSync()) { - final contents = loadYamlNode( - configFile.readAsStringSync(), - sourceUrl: configFile.uri, - ); - final res = parse(contents); - if (res.verboseLogging) { - _log.info('Found user options file at ${configFile.path}'); - } - return res; - } - userProjectDir = userProjectDir.parent; - } - return CargokitUserOptions._(); - } - - final bool usePrecompiledBinaries; - final bool verboseLogging; -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart deleted file mode 100644 index c27f4195dd..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/precompile_binaries.dart +++ /dev/null @@ -1,202 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:github/github.dart'; -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'artifacts_provider.dart'; -import 'builder.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'rustup.dart'; -import 'target.dart'; - -final _log = Logger('precompile_binaries'); - -class PrecompileBinaries { - PrecompileBinaries({ - required this.privateKey, - required this.githubToken, - required this.repositorySlug, - required this.manifestDir, - required this.targets, - this.androidSdkLocation, - this.androidNdkVersion, - this.androidMinSdkVersion, - this.tempDir, - }); - - final PrivateKey privateKey; - final String githubToken; - final RepositorySlug repositorySlug; - final String manifestDir; - final List targets; - final String? androidSdkLocation; - final String? androidNdkVersion; - final int? androidMinSdkVersion; - final String? tempDir; - - static String fileName(Target target, String name) { - return '${target.rust}_$name'; - } - - static String signatureFileName(Target target, String name) { - return '${target.rust}_$name.sig'; - } - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final targets = List.of(this.targets); - if (targets.isEmpty) { - targets.addAll([ - ...Target.buildableTargets(), - if (androidSdkLocation != null) ...Target.androidTargets(), - ]); - } - - _log.info('Precompiling binaries for $targets'); - - final hash = CrateHash.compute(manifestDir); - _log.info('Computed crate hash: $hash'); - - final String tagName = 'precompiled_$hash'; - - final github = GitHub(auth: Authentication.withToken(githubToken)); - final repo = github.repositories; - final release = await _getOrCreateRelease( - repo: repo, - tagName: tagName, - packageName: crateInfo.packageName, - hash: hash, - ); - - final tempDir = this.tempDir != null - ? Directory(this.tempDir!) - : Directory.systemTemp.createTempSync('precompiled_'); - - tempDir.createSync(recursive: true); - - final crateOptions = CargokitCrateOptions.load( - manifestDir: manifestDir, - ); - - final buildEnvironment = BuildEnvironment( - configuration: BuildConfiguration.release, - crateOptions: crateOptions, - targetTempDir: tempDir.path, - manifestDir: manifestDir, - crateInfo: crateInfo, - isAndroid: androidSdkLocation != null, - androidSdkPath: androidSdkLocation, - androidNdkVersion: androidNdkVersion, - androidMinSdkVersion: androidMinSdkVersion, - ); - - final rustup = Rustup(); - - for (final target in targets) { - final artifactNames = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - if (artifactNames.every((name) { - final fileName = PrecompileBinaries.fileName(target, name); - return (release.assets ?? []).any((e) => e.name == fileName); - })) { - _log.info("All artifacts for $target already exist - skipping"); - continue; - } - - _log.info('Building for $target'); - - final builder = - RustBuilder(target: target, environment: buildEnvironment); - builder.prepare(rustup); - final res = await builder.build(); - - final assets = []; - for (final name in artifactNames) { - final file = File(path.join(res, name)); - if (!file.existsSync()) { - throw Exception('Missing artifact: ${file.path}'); - } - - final data = file.readAsBytesSync(); - final create = CreateReleaseAsset( - name: PrecompileBinaries.fileName(target, name), - contentType: "application/octet-stream", - assetData: data, - ); - final signature = sign(privateKey, data); - final signatureCreate = CreateReleaseAsset( - name: signatureFileName(target, name), - contentType: "application/octet-stream", - assetData: signature, - ); - bool verified = verify(public(privateKey), data, signature); - if (!verified) { - throw Exception('Signature verification failed'); - } - assets.add(create); - assets.add(signatureCreate); - } - _log.info('Uploading assets: ${assets.map((e) => e.name)}'); - for (final asset in assets) { - // This seems to be failing on CI so do it one by one - int retryCount = 0; - while (true) { - try { - await repo.uploadReleaseAssets(release, [asset]); - break; - } on Exception catch (e) { - if (retryCount == 10) { - rethrow; - } - ++retryCount; - _log.shout( - 'Upload failed (attempt $retryCount, will retry): ${e.toString()}'); - await Future.delayed(Duration(seconds: 2)); - } - } - } - } - - _log.info('Cleaning up'); - tempDir.deleteSync(recursive: true); - } - - Future _getOrCreateRelease({ - required RepositoriesService repo, - required String tagName, - required String packageName, - required String hash, - }) async { - Release release; - try { - _log.info('Fetching release $tagName'); - release = await repo.getReleaseByTagName(repositorySlug, tagName); - } on ReleaseNotFound { - _log.info('Release not found - creating release $tagName'); - release = await repo.createRelease( - repositorySlug, - CreateRelease.from( - tagName: tagName, - name: 'Precompiled binaries ${hash.substring(0, 8)}', - targetCommitish: null, - isDraft: false, - isPrerelease: false, - body: 'Precompiled binaries for crate $packageName, ' - 'crate hash $hash.', - )); - } - return release; - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/rustup.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/rustup.dart deleted file mode 100644 index 0ac8d08616..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/rustup.dart +++ /dev/null @@ -1,136 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; -import 'package:path/path.dart' as path; - -import 'util.dart'; - -class _Toolchain { - _Toolchain( - this.name, - this.targets, - ); - - final String name; - final List targets; -} - -class Rustup { - List? installedTargets(String toolchain) { - final targets = _installedTargets(toolchain); - return targets != null ? List.unmodifiable(targets) : null; - } - - void installToolchain(String toolchain) { - log.info("Installing Rust toolchain: $toolchain"); - runCommand("rustup", ['toolchain', 'install', toolchain]); - _installedToolchains - .add(_Toolchain(toolchain, _getInstalledTargets(toolchain))); - } - - void installTarget( - String target, { - required String toolchain, - }) { - log.info("Installing Rust target: $target"); - runCommand("rustup", [ - 'target', - 'add', - '--toolchain', - toolchain, - target, - ]); - _installedTargets(toolchain)?.add(target); - } - - final List<_Toolchain> _installedToolchains; - - Rustup() : _installedToolchains = _getInstalledToolchains(); - - List? _installedTargets(String toolchain) => _installedToolchains - .firstWhereOrNull( - (e) => e.name == toolchain || e.name.startsWith('$toolchain-')) - ?.targets; - - static List<_Toolchain> _getInstalledToolchains() { - String extractToolchainName(String line) { - // ignore (default) after toolchain name - final parts = line.split(' '); - return parts[0]; - } - - final res = runCommand("rustup", ['toolchain', 'list']); - - // To list all non-custom toolchains, we need to filter out lines that - // don't start with "stable", "beta", or "nightly". - Pattern nonCustom = RegExp(r"^(stable|beta|nightly)"); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty && e.startsWith(nonCustom)) - .map(extractToolchainName) - .toList(growable: true); - - return lines - .map( - (name) => _Toolchain( - name, - _getInstalledTargets(name), - ), - ) - .toList(growable: true); - } - - static List _getInstalledTargets(String toolchain) { - final res = runCommand("rustup", [ - 'target', - 'list', - '--toolchain', - toolchain, - '--installed', - ]); - final lines = res.stdout - .toString() - .split('\n') - .where((e) => e.isNotEmpty) - .toList(growable: true); - return lines; - } - - bool _didInstallRustSrcForNightly = false; - - void installRustSrcForNightly() { - if (_didInstallRustSrcForNightly) { - return; - } - // Useful for -Z build-std - runCommand( - "rustup", - ['component', 'add', 'rust-src', '--toolchain', 'nightly'], - ); - _didInstallRustSrcForNightly = true; - } - - static String? executablePath() { - final envPath = Platform.environment['PATH']; - final envPathSeparator = Platform.isWindows ? ';' : ':'; - final home = Platform.isWindows - ? Platform.environment['USERPROFILE'] - : Platform.environment['HOME']; - final paths = [ - if (home != null) path.join(home, '.cargo', 'bin'), - if (envPath != null) ...envPath.split(envPathSeparator), - ]; - for (final p in paths) { - final rustup = Platform.isWindows ? 'rustup.exe' : 'rustup'; - final rustupPath = path.join(p, rustup); - if (File(rustupPath).existsSync()) { - return rustupPath; - } - } - return null; - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/target.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/target.dart deleted file mode 100644 index 6fbc58b64f..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/target.dart +++ /dev/null @@ -1,140 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:collection/collection.dart'; - -import 'util.dart'; - -class Target { - Target({ - required this.rust, - this.flutter, - this.android, - this.androidMinSdkVersion, - this.darwinPlatform, - this.darwinArch, - }); - - static final all = [ - Target( - rust: 'armv7-linux-androideabi', - flutter: 'android-arm', - android: 'armeabi-v7a', - androidMinSdkVersion: 16, - ), - Target( - rust: 'aarch64-linux-android', - flutter: 'android-arm64', - android: 'arm64-v8a', - androidMinSdkVersion: 21, - ), - Target( - rust: 'i686-linux-android', - flutter: 'android-x86', - android: 'x86', - androidMinSdkVersion: 16, - ), - Target( - rust: 'x86_64-linux-android', - flutter: 'android-x64', - android: 'x86_64', - androidMinSdkVersion: 21, - ), - Target( - rust: 'x86_64-pc-windows-msvc', - flutter: 'windows-x64', - ), - Target( - rust: 'x86_64-unknown-linux-gnu', - flutter: 'linux-x64', - ), - Target( - rust: 'aarch64-unknown-linux-gnu', - flutter: 'linux-arm64', - ), - Target( - rust: 'x86_64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'x86_64', - ), - Target( - rust: 'aarch64-apple-darwin', - darwinPlatform: 'macosx', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios', - darwinPlatform: 'iphoneos', - darwinArch: 'arm64', - ), - Target( - rust: 'aarch64-apple-ios-sim', - darwinPlatform: 'iphonesimulator', - darwinArch: 'arm64', - ), - Target( - rust: 'x86_64-apple-ios', - darwinPlatform: 'iphonesimulator', - darwinArch: 'x86_64', - ), - ]; - - static Target? forFlutterName(String flutterName) { - return all.firstWhereOrNull((element) => element.flutter == flutterName); - } - - static Target? forDarwin({ - required String platformName, - required String darwinAarch, - }) { - return all.firstWhereOrNull((element) => // - element.darwinPlatform == platformName && - element.darwinArch == darwinAarch); - } - - static Target? forRustTriple(String triple) { - return all.firstWhereOrNull((element) => element.rust == triple); - } - - static List androidTargets() { - return all - .where((element) => element.android != null) - .toList(growable: false); - } - - /// Returns buildable targets on current host platform ignoring Android targets. - static List buildableTargets() { - if (Platform.isLinux) { - // Right now we don't support cross-compiling on Linux. So we just return - // the host target. - final arch = runCommand('arch', []).stdout as String; - if (arch.trim() == 'aarch64') { - return [Target.forRustTriple('aarch64-unknown-linux-gnu')!]; - } else { - return [Target.forRustTriple('x86_64-unknown-linux-gnu')!]; - } - } - return all.where((target) { - if (Platform.isWindows) { - return target.rust.contains('-windows-'); - } else if (Platform.isMacOS) { - return target.darwinPlatform != null; - } - return false; - }).toList(growable: false); - } - - @override - String toString() { - return rust; - } - - final String? flutter; - final String rust; - final String? android; - final int? androidMinSdkVersion; - final String? darwinPlatform; - final String? darwinArch; -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/util.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/util.dart deleted file mode 100644 index 8bb6a8724f..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/util.dart +++ /dev/null @@ -1,172 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:convert'; -import 'dart:io'; - -import 'package:logging/logging.dart'; -import 'package:path/path.dart' as path; - -import 'logging.dart'; -import 'rustup.dart'; - -final log = Logger("process"); - -class CommandFailedException implements Exception { - final String executable; - final List arguments; - final ProcessResult result; - - CommandFailedException({ - required this.executable, - required this.arguments, - required this.result, - }); - - @override - String toString() { - final stdout = result.stdout.toString().trim(); - final stderr = result.stderr.toString().trim(); - return [ - "External Command: $executable ${arguments.map((e) => '"$e"').join(' ')}", - "Returned Exit Code: ${result.exitCode}", - kSeparator, - "STDOUT:", - if (stdout.isNotEmpty) stdout, - kSeparator, - "STDERR:", - if (stderr.isNotEmpty) stderr, - ].join('\n'); - } -} - -class TestRunCommandArgs { - final String executable; - final List arguments; - final String? workingDirectory; - final Map? environment; - final bool includeParentEnvironment; - final bool runInShell; - final Encoding? stdoutEncoding; - final Encoding? stderrEncoding; - - TestRunCommandArgs({ - required this.executable, - required this.arguments, - this.workingDirectory, - this.environment, - this.includeParentEnvironment = true, - this.runInShell = false, - this.stdoutEncoding, - this.stderrEncoding, - }); -} - -class TestRunCommandResult { - TestRunCommandResult({ - this.pid = 1, - this.exitCode = 0, - this.stdout = '', - this.stderr = '', - }); - - final int pid; - final int exitCode; - final String stdout; - final String stderr; -} - -TestRunCommandResult Function(TestRunCommandArgs args)? testRunCommandOverride; - -ProcessResult runCommand( - String executable, - List arguments, { - String? workingDirectory, - Map? environment, - bool includeParentEnvironment = true, - bool runInShell = false, - Encoding? stdoutEncoding = systemEncoding, - Encoding? stderrEncoding = systemEncoding, -}) { - if (testRunCommandOverride != null) { - final result = testRunCommandOverride!(TestRunCommandArgs( - executable: executable, - arguments: arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stdoutEncoding: stdoutEncoding, - stderrEncoding: stderrEncoding, - )); - return ProcessResult( - result.pid, - result.exitCode, - result.stdout, - result.stderr, - ); - } - log.finer('Running command $executable ${arguments.join(' ')}'); - final res = Process.runSync( - _resolveExecutable(executable), - arguments, - workingDirectory: workingDirectory, - environment: environment, - includeParentEnvironment: includeParentEnvironment, - runInShell: runInShell, - stderrEncoding: stderrEncoding, - stdoutEncoding: stdoutEncoding, - ); - if (res.exitCode != 0) { - throw CommandFailedException( - executable: executable, - arguments: arguments, - result: res, - ); - } else { - return res; - } -} - -class RustupNotFoundException implements Exception { - @override - String toString() { - return [ - ' ', - 'rustup not found in PATH.', - ' ', - 'Maybe you need to install Rust? It only takes a minute:', - ' ', - if (Platform.isWindows) 'https://www.rust-lang.org/tools/install', - if (hasHomebrewRustInPath()) ...[ - '\$ brew unlink rust # Unlink homebrew Rust from PATH', - ], - if (!Platform.isWindows) - "\$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh", - ' ', - ].join('\n'); - } - - static bool hasHomebrewRustInPath() { - if (!Platform.isMacOS) { - return false; - } - final envPath = Platform.environment['PATH'] ?? ''; - final paths = envPath.split(':'); - return paths.any((p) { - return p.contains('homebrew') && File(path.join(p, 'rustc')).existsSync(); - }); - } -} - -String _resolveExecutable(String executable) { - if (executable == 'rustup') { - final resolved = Rustup.executablePath(); - if (resolved != null) { - return resolved; - } - throw RustupNotFoundException(); - } else { - return executable; - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart deleted file mode 100644 index 2366b57bfd..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/lib/src/verify_binaries.dart +++ /dev/null @@ -1,84 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import 'dart:io'; - -import 'package:ed25519_edwards/ed25519_edwards.dart'; -import 'package:http/http.dart'; - -import 'artifacts_provider.dart'; -import 'cargo.dart'; -import 'crate_hash.dart'; -import 'options.dart'; -import 'precompile_binaries.dart'; -import 'target.dart'; - -class VerifyBinaries { - VerifyBinaries({ - required this.manifestDir, - }); - - final String manifestDir; - - Future run() async { - final crateInfo = CrateInfo.load(manifestDir); - - final config = CargokitCrateOptions.load(manifestDir: manifestDir); - final precompiledBinaries = config.precompiledBinaries; - if (precompiledBinaries == null) { - stdout.writeln('Crate does not support precompiled binaries.'); - } else { - final crateHash = CrateHash.compute(manifestDir); - stdout.writeln('Crate hash: $crateHash'); - - for (final target in Target.all) { - final message = 'Checking ${target.rust}...'; - stdout.write(message.padRight(40)); - stdout.flush(); - - final artifacts = getArtifactNames( - target: target, - libraryName: crateInfo.packageName, - remote: true, - ); - - final prefix = precompiledBinaries.uriPrefix; - - bool ok = true; - - for (final artifact in artifacts) { - final fileName = PrecompileBinaries.fileName(target, artifact); - final signatureFileName = - PrecompileBinaries.signatureFileName(target, artifact); - - final url = Uri.parse('$prefix$crateHash/$fileName'); - final signatureUrl = - Uri.parse('$prefix$crateHash/$signatureFileName'); - - final signature = await get(signatureUrl); - if (signature.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - final asset = await get(url); - if (asset.statusCode != 200) { - stdout.writeln('MISSING'); - ok = false; - break; - } - - if (!verify(precompiledBinaries.publicKey, asset.bodyBytes, - signature.bodyBytes)) { - stdout.writeln('INVALID SIGNATURE'); - ok = false; - } - } - - if (ok) { - stdout.writeln('OK'); - } - } - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.lock b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.lock deleted file mode 100644 index 343bdd3694..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.lock +++ /dev/null @@ -1,453 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - _fe_analyzer_shared: - dependency: transitive - description: - name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.dev" - source: hosted - version: "64.0.0" - adaptive_number: - dependency: transitive - description: - name: adaptive_number - sha256: "3a567544e9b5c9c803006f51140ad544aedc79604fd4f3f2c1380003f97c1d77" - url: "https://pub.dev" - source: hosted - version: "1.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.dev" - source: hosted - version: "6.2.0" - args: - dependency: "direct main" - description: - name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.dev" - source: hosted - version: "2.4.2" - async: - dependency: transitive - description: - name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.dev" - source: hosted - version: "2.11.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - collection: - dependency: "direct main" - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: "direct main" - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "2fb815080e44a09b85e0f2ca8a820b15053982b2e714b59267719e8a9ff17097" - url: "https://pub.dev" - source: hosted - version: "1.6.3" - crypto: - dependency: "direct main" - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - ed25519_edwards: - dependency: "direct main" - description: - name: ed25519_edwards - sha256: "6ce0112d131327ec6d42beede1e5dfd526069b18ad45dcf654f15074ad9276cd" - url: "https://pub.dev" - source: hosted - version: "0.3.1" - file: - dependency: transitive - description: - name: file - sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" - url: "https://pub.dev" - source: hosted - version: "6.1.4" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - github: - dependency: "direct main" - description: - name: github - sha256: "9966bc13bf612342e916b0a343e95e5f046c88f602a14476440e9b75d2295411" - url: "https://pub.dev" - source: hosted - version: "9.17.0" - glob: - dependency: transitive - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - hex: - dependency: "direct main" - description: - name: hex - sha256: "4e7cd54e4b59ba026432a6be2dd9d96e4c5205725194997193bf871703b82c4a" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - http: - dependency: "direct main" - description: - name: http - sha256: "759d1a329847dd0f39226c688d3e06a6b8679668e350e2891a6474f8b4bb8525" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - http_multi_server: - dependency: transitive - description: - name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.dev" - source: hosted - version: "3.2.1" - http_parser: - dependency: transitive - description: - name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.dev" - source: hosted - version: "4.0.2" - io: - dependency: transitive - description: - name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - js: - dependency: transitive - description: - name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.dev" - source: hosted - version: "0.6.7" - json_annotation: - dependency: transitive - description: - name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.dev" - source: hosted - version: "4.8.1" - lints: - dependency: "direct dev" - description: - name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - logging: - dependency: "direct main" - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" - url: "https://pub.dev" - source: hosted - version: "0.12.16" - meta: - dependency: transitive - description: - name: meta - sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - node_preamble: - dependency: transitive - description: - name: node_preamble - sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db" - url: "https://pub.dev" - source: hosted - version: "2.0.2" - package_config: - dependency: transitive - description: - name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - path: - dependency: "direct main" - description: - name: path - sha256: "2ad4cddff7f5cc0e2d13069f2a3f7a73ca18f66abd6f5ecf215219cdb3638edb" - url: "https://pub.dev" - source: hosted - version: "1.8.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750 - url: "https://pub.dev" - source: hosted - version: "5.4.0" - pool: - dependency: transitive - description: - name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.dev" - source: hosted - version: "1.5.1" - pub_semver: - dependency: transitive - description: - name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - shelf: - dependency: transitive - description: - name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.dev" - source: hosted - version: "1.4.1" - shelf_packages_handler: - dependency: transitive - description: - name: shelf_packages_handler - sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - shelf_static: - dependency: transitive - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: transitive - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - source_map_stack_trace: - dependency: transitive - description: - name: source_map_stack_trace - sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae" - url: "https://pub.dev" - source: hosted - version: "2.1.1" - source_maps: - dependency: transitive - description: - name: source_maps - sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703" - url: "https://pub.dev" - source: hosted - version: "0.10.12" - source_span: - dependency: "direct main" - description: - name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.dev" - source: hosted - version: "1.11.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.dev" - source: hosted - version: "2.1.2" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.dev" - source: hosted - version: "1.2.1" - test: - dependency: "direct dev" - description: - name: test - sha256: "9b0dd8e36af4a5b1569029949d50a52cb2a2a2fdaa20cebb96e6603b9ae241f9" - url: "https://pub.dev" - source: hosted - version: "1.24.6" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - test_core: - dependency: transitive - description: - name: test_core - sha256: "4bef837e56375537055fdbbbf6dd458b1859881f4c7e6da936158f77d61ab265" - url: "https://pub.dev" - source: hosted - version: "0.5.6" - toml: - dependency: "direct main" - description: - name: toml - sha256: "157c5dca5160fced243f3ce984117f729c788bb5e475504f3dbcda881accee44" - url: "https://pub.dev" - source: hosted - version: "0.14.0" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - version: - dependency: "direct main" - description: - name: version - sha256: "2307e23a45b43f96469eeab946208ed63293e8afca9c28cd8b5241ff31c55f55" - url: "https://pub.dev" - source: hosted - version: "3.0.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "0fae432c85c4ea880b33b497d32824b97795b04cdaa74d270219572a1f50268d" - url: "https://pub.dev" - source: hosted - version: "11.9.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web_socket_channel: - dependency: transitive - description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.dev" - source: hosted - version: "2.4.0" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "67d3a8b6c79e1987d19d848b0892e582dbb0c66c57cc1fef58a177dd2aa2823d" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - yaml: - dependency: "direct main" - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" -sdks: - dart: ">=3.0.0 <4.0.0" diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.yaml b/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.yaml deleted file mode 100644 index 18c61e3386..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/build_tool/pubspec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -# This is copied from Cargokit (which is the official way to use it currently) -# Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -name: build_tool -description: Cargokit build_tool. Facilitates the build of Rust crate during Flutter application build. -publish_to: none -version: 1.0.0 - -environment: - sdk: ">=3.0.0 <4.0.0" - -# Add regular dependencies here. -dependencies: - # these are pinned on purpose because the bundle_tool_runner doesn't have - # pubspec.lock. See run_build_tool.sh - logging: 1.2.0 - path: 1.8.0 - version: 3.0.0 - collection: 1.18.0 - ed25519_edwards: 0.3.1 - hex: 0.2.0 - yaml: 3.1.2 - source_span: 1.10.0 - github: 9.17.0 - args: 2.4.2 - crypto: 3.0.3 - convert: 3.1.1 - http: 1.1.0 - toml: 0.14.0 - -dev_dependencies: - lints: ^2.1.0 - test: ^1.24.0 diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/cargokit.cmake b/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/cargokit.cmake deleted file mode 100644 index ddd05df9b4..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/cargokit.cmake +++ /dev/null @@ -1,99 +0,0 @@ -SET(cargokit_cmake_root "${CMAKE_CURRENT_LIST_DIR}/..") - -# Workaround for https://github.com/dart-lang/pub/issues/4010 -get_filename_component(cargokit_cmake_root "${cargokit_cmake_root}" REALPATH) - -if(WIN32) - # REALPATH does not properly resolve symlinks on windows :-/ - execute_process(COMMAND powershell -ExecutionPolicy Bypass -File "${CMAKE_CURRENT_LIST_DIR}/resolve_symlinks.ps1" "${cargokit_cmake_root}" OUTPUT_VARIABLE cargokit_cmake_root OUTPUT_STRIP_TRAILING_WHITESPACE) -endif() - -# Arguments -# - target: CMAKE target to which rust library is linked -# - manifest_dir: relative path from current folder to directory containing cargo manifest -# - lib_name: cargo package name -# - any_symbol_name: name of any exported symbol from the library. -# used on windows to force linking with library. -function(apply_cargokit target manifest_dir lib_name any_symbol_name) - - set(CARGOKIT_LIB_NAME "${lib_name}") - set(CARGOKIT_LIB_FULL_NAME "${CMAKE_SHARED_MODULE_PREFIX}${CARGOKIT_LIB_NAME}${CMAKE_SHARED_MODULE_SUFFIX}") - if (CMAKE_CONFIGURATION_TYPES) - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/$") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/$/${CARGOKIT_LIB_FULL_NAME}") - else() - set(CARGOKIT_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}") - set(OUTPUT_LIB "${CMAKE_CURRENT_BINARY_DIR}/${CARGOKIT_LIB_FULL_NAME}") - endif() - set(CARGOKIT_TEMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/cargokit_build") - - if (FLUTTER_TARGET_PLATFORM) - set(CARGOKIT_TARGET_PLATFORM "${FLUTTER_TARGET_PLATFORM}") - else() - set(CARGOKIT_TARGET_PLATFORM "windows-x64") - endif() - - set(CARGOKIT_ENV - "CARGOKIT_CMAKE=${CMAKE_COMMAND}" - "CARGOKIT_CONFIGURATION=$" - "CARGOKIT_MANIFEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${manifest_dir}" - "CARGOKIT_TARGET_TEMP_DIR=${CARGOKIT_TEMP_DIR}" - "CARGOKIT_OUTPUT_DIR=${CARGOKIT_OUTPUT_DIR}" - "CARGOKIT_TARGET_PLATFORM=${CARGOKIT_TARGET_PLATFORM}" - "CARGOKIT_TOOL_TEMP_DIR=${CARGOKIT_TEMP_DIR}/tool" - "CARGOKIT_ROOT_PROJECT_DIR=${CMAKE_SOURCE_DIR}" - ) - - if (WIN32) - set(SCRIPT_EXTENSION ".cmd") - set(IMPORT_LIB_EXTENSION ".lib") - else() - set(SCRIPT_EXTENSION ".sh") - set(IMPORT_LIB_EXTENSION "") - execute_process(COMMAND chmod +x "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}") - endif() - - # Using generators in custom command is only supported in CMake 3.20+ - if (CMAKE_CONFIGURATION_TYPES AND ${CMAKE_VERSION} VERSION_LESS "3.20.0") - foreach(CONFIG IN LISTS CMAKE_CONFIGURATION_TYPES) - add_custom_command( - OUTPUT - "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG}/${CARGOKIT_LIB_FULL_NAME}" - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endforeach() - else() - add_custom_command( - OUTPUT - ${OUTPUT_LIB} - "${CMAKE_CURRENT_BINARY_DIR}/_phony_" - COMMAND ${CMAKE_COMMAND} -E env ${CARGOKIT_ENV} - "${cargokit_cmake_root}/run_build_tool${SCRIPT_EXTENSION}" build-cmake - VERBATIM - ) - endif() - - - set_source_files_properties("${CMAKE_CURRENT_BINARY_DIR}/_phony_" PROPERTIES SYMBOLIC TRUE) - - if (TARGET ${target}) - # If we have actual cmake target provided create target and make existing - # target depend on it - add_custom_target("${target}_cargokit" DEPENDS ${OUTPUT_LIB}) - add_dependencies("${target}" "${target}_cargokit") - target_link_libraries("${target}" PRIVATE "${OUTPUT_LIB}${IMPORT_LIB_EXTENSION}") - if(WIN32) - target_link_options(${target} PRIVATE "/INCLUDE:${any_symbol_name}") - endif() - else() - # Otherwise (FFI) just use ALL to force building always - add_custom_target("${target}_cargokit" ALL DEPENDS ${OUTPUT_LIB}) - endif() - - # Allow adding the output library to plugin bundled libraries - set("${target}_cargokit_lib" ${OUTPUT_LIB} PARENT_SCOPE) - -endfunction() diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/resolve_symlinks.ps1 b/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/resolve_symlinks.ps1 deleted file mode 100644 index 3d10d283c2..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/cmake/resolve_symlinks.ps1 +++ /dev/null @@ -1,27 +0,0 @@ -function Resolve-Symlinks { - [CmdletBinding()] - [OutputType([string])] - param( - [Parameter(Position = 0, Mandatory, ValueFromPipeline, ValueFromPipelineByPropertyName)] - [string] $Path - ) - - [string] $separator = '/' - [string[]] $parts = $Path.Split($separator) - - [string] $realPath = '' - foreach ($part in $parts) { - if ($realPath -and !$realPath.EndsWith($separator)) { - $realPath += $separator - } - $realPath += $part - $item = Get-Item $realPath - if ($item.Target) { - $realPath = $item.Target.Replace('\', '/') - } - } - $realPath -} - -$path=Resolve-Symlinks -Path $args[0] -Write-Host $path diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/gradle/plugin.gradle b/frb_example/flutter_via_integrate/rust_builder/cargokit/gradle/plugin.gradle deleted file mode 100644 index 1aead89136..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/gradle/plugin.gradle +++ /dev/null @@ -1,179 +0,0 @@ -/// This is copied from Cargokit (which is the official way to use it currently) -/// Details: https://fzyzcjy.github.io/flutter_rust_bridge/manual/integrate/builtin - -import java.nio.file.Paths -import org.apache.tools.ant.taskdefs.condition.Os - -CargoKitPlugin.file = buildscript.sourceFile - -apply plugin: CargoKitPlugin - -class CargoKitExtension { - String manifestDir; // Relative path to folder containing Cargo.toml - String libname; // Library name within Cargo.toml. Must be a cdylib -} - -abstract class CargoKitBuildTask extends DefaultTask { - - @Input - String buildMode - - @Input - String buildDir - - @Input - String outputDir - - @Input - String ndkVersion - - @Input - String sdkDirectory - - @Input - int compileSdkVersion; - - @Input - int minSdkVersion; - - @Input - String pluginFile - - @Input - List targetPlatforms - - @TaskAction - def build() { - if (project.cargokit.manifestDir == null) { - throw new GradleException("Property 'manifestDir' must be set on cargokit extension"); - } - - if (project.cargokit.libname == null) { - throw new GradleException("Property 'libname' must be set on cargokit extension"); - } - - def executableName = Os.isFamily(Os.FAMILY_WINDOWS) ? "run_build_tool.cmd" : "run_build_tool.sh" - def path = Paths.get(new File(pluginFile).parent, "..", executableName); - - def manifestDir = Paths.get(project.buildscript.sourceFile.parent, project.cargokit.manifestDir) - - def rootProjectDir = project.rootProject.projectDir - - if (!Os.isFamily(Os.FAMILY_WINDOWS)) { - project.exec { - commandLine 'chmod', '+x', path - } - } - - project.exec { - executable path - args "build-gradle" - environment "CARGOKIT_ROOT_PROJECT_DIR", rootProjectDir - environment "CARGOKIT_TOOL_TEMP_DIR", "${buildDir}/build_tool" - environment "CARGOKIT_MANIFEST_DIR", manifestDir - environment "CARGOKIT_CONFIGURATION", buildMode - environment "CARGOKIT_TARGET_TEMP_DIR", buildDir - environment "CARGOKIT_OUTPUT_DIR", outputDir - environment "CARGOKIT_NDK_VERSION", ndkVersion - environment "CARGOKIT_SDK_DIR", sdkDirectory - environment "CARGOKIT_COMPILE_SDK_VERSION", compileSdkVersion - environment "CARGOKIT_MIN_SDK_VERSION", minSdkVersion - environment "CARGOKIT_TARGET_PLATFORMS", targetPlatforms.join(",") - environment "CARGOKIT_JAVA_HOME", System.properties['java.home'] - } - } -} - -class CargoKitPlugin implements Plugin { - - static String file; - - private Plugin findFlutterPlugin(Project rootProject) { - _findFlutterPlugin(rootProject.childProjects) - } - - private Plugin _findFlutterPlugin(Map projects) { - for (project in projects) { - for (plugin in project.value.getPlugins()) { - if (plugin.class.name == "FlutterPlugin") { - return plugin; - } - } - def plugin = _findFlutterPlugin(project.value.childProjects); - if (plugin != null) { - return plugin; - } - } - return null; - } - - @Override - void apply(Project project) { - def plugin = findFlutterPlugin(project.rootProject); - - project.extensions.create("cargokit", CargoKitExtension) - - if (plugin == null) { - print("Flutter plugin not found, CargoKit plugin will not be applied.") - return; - } - - def cargoBuildDir = "${project.buildDir}/build" - - // Determine if the project is an application or library - def isApplication = plugin.project.plugins.hasPlugin('com.android.application') - def variants = isApplication ? plugin.project.android.applicationVariants : plugin.project.android.libraryVariants - - variants.all { variant -> - - final buildType = variant.buildType.name - - def cargoOutputDir = "${project.buildDir}/jniLibs/${buildType}"; - def jniLibs = project.android.sourceSets.maybeCreate(buildType).jniLibs; - jniLibs.srcDir(new File(cargoOutputDir)) - - def platforms = plugin.getTargetPlatforms().collect() - - // Same thing addFlutterDependencies does in flutter.gradle - if (buildType == "debug") { - platforms.add("android-x86") - platforms.add("android-x64") - } - - // The task name depends on plugin properties, which are not available - // at this point - project.getGradle().afterProject { - def taskName = "cargokitCargoBuild${project.cargokit.libname.capitalize()}${buildType.capitalize()}"; - - if (project.tasks.findByName(taskName)) { - return - } - - if (plugin.project.android.ndkVersion == null) { - throw new GradleException("Please set 'android.ndkVersion' in 'app/build.gradle'.") - } - - def task = project.tasks.create(taskName, CargoKitBuildTask.class) { - buildMode = variant.buildType.name - buildDir = cargoBuildDir - outputDir = cargoOutputDir - ndkVersion = plugin.project.android.ndkVersion - sdkDirectory = plugin.project.android.sdkDirectory - minSdkVersion = plugin.project.android.defaultConfig.minSdkVersion.apiLevel as int - compileSdkVersion = plugin.project.android.compileSdkVersion.substring(8) as int - targetPlatforms = platforms - pluginFile = CargoKitPlugin.file - } - def onTask = { newTask -> - if (newTask.name == "merge${buildType.capitalize()}NativeLibs") { - newTask.dependsOn task - // Fix gradle 7.4.2 not picking up JNI library changes - newTask.outputs.upToDateWhen { false } - } - } - project.tasks.each onTask - project.tasks.whenTaskAdded onTask - } - } - } -} diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.cmd b/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.cmd deleted file mode 100755 index c45d0aa8b5..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.cmd +++ /dev/null @@ -1,91 +0,0 @@ -@echo off -setlocal - -setlocal ENABLEDELAYEDEXPANSION - -SET BASEDIR=%~dp0 - -if not exist "%CARGOKIT_TOOL_TEMP_DIR%" ( - mkdir "%CARGOKIT_TOOL_TEMP_DIR%" -) -cd /D "%CARGOKIT_TOOL_TEMP_DIR%" - -SET BUILD_TOOL_PKG_DIR=%BASEDIR%build_tool -SET DART=%FLUTTER_ROOT%\bin\cache\dart-sdk\bin\dart - -set BUILD_TOOL_PKG_DIR_POSIX=%BUILD_TOOL_PKG_DIR:\=/% - -( - echo name: build_tool_runner - echo version: 1.0.0 - echo publish_to: none - echo. - echo environment: - echo sdk: '^>=3.0.0 ^<4.0.0' - echo. - echo dependencies: - echo build_tool: - echo path: %BUILD_TOOL_PKG_DIR_POSIX% -) >pubspec.yaml - -if not exist bin ( - mkdir bin -) - -( - echo import 'package:build_tool/build_tool.dart' as build_tool; - echo void main^(List^ args^) ^{ - echo build_tool.runMain^(args^); - echo ^} -) >bin\build_tool_runner.dart - -SET PRECOMPILED=bin\build_tool_runner.dill - -REM To detect changes in package we compare output of DIR /s (recursive) -set PREV_PACKAGE_INFO=.dart_tool\package_info.prev -set CUR_PACKAGE_INFO=.dart_tool\package_info.cur - -DIR "%BUILD_TOOL_PKG_DIR%" /s > "%CUR_PACKAGE_INFO%_orig" - -REM Last line in dir output is free space on harddrive. That is bound to -REM change between invocation so we need to remove it -( - Set "Line=" - For /F "UseBackQ Delims=" %%A In ("%CUR_PACKAGE_INFO%_orig") Do ( - SetLocal EnableDelayedExpansion - If Defined Line Echo !Line! - EndLocal - Set "Line=%%A") -) >"%CUR_PACKAGE_INFO%" -DEL "%CUR_PACKAGE_INFO%_orig" - -REM Compare current directory listing with previous -FC /B "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" > nul 2>&1 - -If %ERRORLEVEL% neq 0 ( - REM Changed - copy current to previous and remove precompiled kernel - if exist "%PREV_PACKAGE_INFO%" ( - DEL "%PREV_PACKAGE_INFO%" - ) - MOVE /Y "%CUR_PACKAGE_INFO%" "%PREV_PACKAGE_INFO%" - if exist "%PRECOMPILED%" ( - DEL "%PRECOMPILED%" - ) -) - -REM There is no CUR_PACKAGE_INFO it was renamed in previous step to %PREV_PACKAGE_INFO% -REM which means we need to do pub get and precompile -if not exist "%PRECOMPILED%" ( - echo Running pub get in "%cd%" - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart -) - -"%DART%" "%PRECOMPILED%" %* - -REM 253 means invalid snapshot version. -If %ERRORLEVEL% equ 253 ( - "%DART%" pub get --no-precompile - "%DART%" compile kernel bin/build_tool_runner.dart - "%DART%" "%PRECOMPILED%" %* -) diff --git a/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.sh b/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.sh deleted file mode 100755 index 6e594a23d4..0000000000 --- a/frb_example/flutter_via_integrate/rust_builder/cargokit/run_build_tool.sh +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/env bash - -set -e - -BASEDIR=$(dirname "$0") - -mkdir -p "$CARGOKIT_TOOL_TEMP_DIR" - -cd "$CARGOKIT_TOOL_TEMP_DIR" - -# Write a very simple bin package in temp folder that depends on build_tool package -# from Cargokit. This is done to ensure that we don't pollute Cargokit folder -# with .dart_tool contents. - -BUILD_TOOL_PKG_DIR="$BASEDIR/build_tool" - -if [[ -z $FLUTTER_ROOT ]]; then # not defined - DART=dart -else - DART="$FLUTTER_ROOT/bin/cache/dart-sdk/bin/dart" -fi - -cat << EOF > "pubspec.yaml" -name: build_tool_runner -version: 1.0.0 -publish_to: none - -environment: - sdk: '>=3.0.0 <4.0.0' - -dependencies: - build_tool: - path: "$BUILD_TOOL_PKG_DIR" -EOF - -mkdir -p "bin" - -cat << EOF > "bin/build_tool_runner.dart" -import 'package:build_tool/build_tool.dart' as build_tool; -void main(List args) { - build_tool.runMain(args); -} -EOF - -# Create alias for `shasum` if it does not exist and `sha1sum` exists -if ! [ -x "$(command -v shasum)" ] && [ -x "$(command -v sha1sum)" ]; then - shopt -s expand_aliases - alias shasum="sha1sum" -fi - -# Dart run will not cache any package that has a path dependency, which -# is the case for our build_tool_runner. So instead we precompile the package -# ourselves. -# To invalidate the cached kernel we use the hash of ls -LR of the build_tool -# package directory. This should be good enough, as the build_tool package -# itself is not meant to have any path dependencies. - -if [[ "$OSTYPE" == "darwin"* ]]; then - PACKAGE_HASH=$(ls -lTR "$BUILD_TOOL_PKG_DIR" | shasum) -else - PACKAGE_HASH=$(ls -lR --full-time "$BUILD_TOOL_PKG_DIR" | shasum) -fi - -PACKAGE_HASH_FILE=".package_hash" - -if [ -f "$PACKAGE_HASH_FILE" ]; then - EXISTING_HASH=$(cat "$PACKAGE_HASH_FILE") - if [ "$PACKAGE_HASH" != "$EXISTING_HASH" ]; then - rm "$PACKAGE_HASH_FILE" - fi -fi - -# Run pub get if needed. -if [ ! -f "$PACKAGE_HASH_FILE" ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - echo "$PACKAGE_HASH" > "$PACKAGE_HASH_FILE" -fi - -set +e - -"$DART" bin/build_tool_runner.dill "$@" - -exit_code=$? - -# 253 means invalid snapshot version. -if [ $exit_code == 253 ]; then - "$DART" pub get --no-precompile - "$DART" compile kernel bin/build_tool_runner.dart - "$DART" bin/build_tool_runner.dill "$@" - exit_code=$? -fi - -exit $exit_code diff --git a/frb_example/flutter_via_integrate/windows/flutter/generated_plugins.cmake b/frb_example/flutter_via_integrate/windows/flutter/generated_plugins.cmake index 941f73696e..b93c4c30c1 100644 --- a/frb_example/flutter_via_integrate/windows/flutter/generated_plugins.cmake +++ b/frb_example/flutter_via_integrate/windows/flutter/generated_plugins.cmake @@ -6,7 +6,6 @@ list(APPEND FLUTTER_PLUGIN_LIST ) list(APPEND FLUTTER_FFI_PLUGIN_LIST - rust_lib_flutter_via_integrate ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/frb_example/flutter_via_integrate/windows/runner/runner.exe.manifest b/frb_example/flutter_via_integrate/windows/runner/runner.exe.manifest index a42ea7687c..153653e8d6 100644 --- a/frb_example/flutter_via_integrate/windows/runner/runner.exe.manifest +++ b/frb_example/flutter_via_integrate/windows/runner/runner.exe.manifest @@ -9,12 +9,6 @@ - - - - - - diff --git a/frb_example/gallery/lib/src/rust/api/mandelbrot.dart b/frb_example/gallery/lib/src/rust/api/mandelbrot.dart index aa689b8f34..d9b7743378 100644 --- a/frb_example/gallery/lib/src/rust/api/mandelbrot.dart +++ b/frb_example/gallery/lib/src/rust/api/mandelbrot.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/gallery/lib/src/rust/frb_generated.dart b/frb_example/gallery/lib/src/rust/frb_generated.dart index 4a40a91182..1154b1a927 100644 --- a/frb_example/gallery/lib/src/rust/frb_generated.dart +++ b/frb_example/gallery/lib/src/rust/frb_generated.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/gallery/lib/src/rust/frb_generated.io.dart b/frb_example/gallery/lib/src/rust/frb_generated.io.dart index 140f016aae..e1f1ed0797 100644 --- a/frb_example/gallery/lib/src/rust/frb_generated.io.dart +++ b/frb_example/gallery/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/gallery/lib/src/rust/frb_generated.web.dart b/frb_example/gallery/lib/src/rust/frb_generated.web.dart index 7c9db69d43..f798afdfb6 100644 --- a/frb_example/gallery/lib/src/rust/frb_generated.web.dart +++ b/frb_example/gallery/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/gallery/pubspec.lock b/frb_example/gallery/pubspec.lock index 86f2313664..c3a8867323 100644 --- a/frb_example/gallery/pubspec.lock +++ b/frb_example/gallery/pubspec.lock @@ -357,18 +357,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -405,18 +405,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: @@ -453,10 +453,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -633,26 +633,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" + sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" url: "https://pub.dev" source: hosted - version: "1.25.2" + version: "1.25.7" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" test_core: dependency: transitive description: name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" + sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.4" timing: dependency: transitive description: @@ -681,10 +681,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" watcher: dependency: transitive description: diff --git a/frb_example/gallery/rust/src/frb_generated.rs b/frb_example/gallery/rust/src/frb_generated.rs index 208847b1c1..f1fbfb4d99 100644 --- a/frb_example/gallery/rust/src/frb_generated.rs +++ b/frb_example/gallery/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -306,7 +306,7 @@ impl SseEncode for bool { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -328,7 +328,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/integrate_third_party/lib/src/rust/api/media_element.dart b/frb_example/integrate_third_party/lib/src/rust/api/media_element.dart index 08fc164410..b59b757c16 100644 --- a/frb_example/integrate_third_party/lib/src/rust/api/media_element.dart +++ b/frb_example/integrate_third_party/lib/src/rust/api/media_element.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/api/override_web_audio_api.dart b/frb_example/integrate_third_party/lib/src/rust/api/override_web_audio_api.dart index 1e040b2503..29e24d8a4b 100644 --- a/frb_example/integrate_third_party/lib/src/rust/api/override_web_audio_api.dart +++ b/frb_example/integrate_third_party/lib/src/rust/api/override_web_audio_api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/api/simple.dart b/frb_example/integrate_third_party/lib/src/rust/api/simple.dart index 71e5924bd7..2456e949be 100644 --- a/frb_example/integrate_third_party/lib/src/rust/api/simple.dart +++ b/frb_example/integrate_third_party/lib/src/rust/api/simple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/frb_generated.dart b/frb_example/integrate_third_party/lib/src/rust/frb_generated.dart index 18fe6fd1df..4144716c84 100644 --- a/frb_example/integrate_third_party/lib/src/rust/frb_generated.dart +++ b/frb_example/integrate_third_party/lib/src/rust/frb_generated.dart @@ -1,9 +1,9 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/frb_generated.io.dart b/frb_example/integrate_third_party/lib/src/rust/frb_generated.io.dart index fad366ff2a..57ba217211 100644 --- a/frb_example/integrate_third_party/lib/src/rust/frb_generated.io.dart +++ b/frb_example/integrate_third_party/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/integrate_third_party/lib/src/rust/frb_generated.web.dart b/frb_example/integrate_third_party/lib/src/rust/frb_generated.web.dart index ecdf31bfbc..3e115121f0 100644 --- a/frb_example/integrate_third_party/lib/src/rust/frb_generated.web.dart +++ b/frb_example/integrate_third_party/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api.dart index 418a24dde5..4bb6d3a386 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/context.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/context.dart index ef7b4d7829..e67fe00fa4 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/context.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/context.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_devices.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_devices.dart index dbfc706681..3e7466dbcc 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_devices.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_devices.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_recorder.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_recorder.dart index 9c377cf1f5..cb8df57729 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_recorder.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_recorder.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_streams.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_streams.dart index 5ad3b5d1e0..b5d08c8bc0 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_streams.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/media_streams.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/node.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/node.dart index c54a529335..870181924a 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/node.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/node.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/worklet.dart b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/worklet.dart index 362fba3784..8a54c1c002 100644 --- a/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/worklet.dart +++ b/frb_example/integrate_third_party/lib/src/rust/third_party/web_audio_api/worklet.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/integrate_third_party/pubspec.lock b/frb_example/integrate_third_party/pubspec.lock index bbb1eaa152..f9ff33e9c2 100644 --- a/frb_example/integrate_third_party/pubspec.lock +++ b/frb_example/integrate_third_party/pubspec.lock @@ -333,18 +333,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -381,18 +381,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" mime: dependency: transitive description: @@ -429,10 +429,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -601,26 +601,26 @@ packages: dependency: "direct dev" description: name: test - sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073" + sha256: "7ee44229615f8f642b68120165ae4c2a75fe77ae2065b1e55ae4711f6cf0899e" url: "https://pub.dev" source: hosted - version: "1.25.2" + version: "1.25.7" test_api: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" test_core: dependency: transitive description: name: test_core - sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4" + sha256: "55ea5a652e38a1dfb32943a7973f3681a60f872f8c3a05a14664ad54ef9c6696" url: "https://pub.dev" source: hosted - version: "0.6.0" + version: "0.6.4" timing: dependency: transitive description: @@ -649,10 +649,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" watcher: dependency: transitive description: diff --git a/frb_example/integrate_third_party/rust/src/frb_generated.rs b/frb_example/integrate_third_party/rust/src/frb_generated.rs index a4dd11f373..723f32e51b 100644 --- a/frb_example/integrate_third_party/rust/src/frb_generated.rs +++ b/frb_example/integrate_third_party/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -38018,7 +38018,7 @@ impl SseEncode for web_audio_api::node::WaveShaperOptions { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -38725,7 +38725,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/pure_dart/lib/src/rust/api.dart b/frb_example/pure_dart/lib/src/rust/api.dart index 26591509b8..245fc47f82 100644 --- a/frb_example/pure_dart/lib/src/rust/api.dart +++ b/frb_example/pure_dart/lib/src/rust/api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/array.dart b/frb_example/pure_dart/lib/src/rust/api/array.dart index 3bb6d12867..af842ed810 100644 --- a/frb_example/pure_dart/lib/src/rust/api/array.dart +++ b/frb_example/pure_dart/lib/src/rust/api/array.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/async_misc.dart b/frb_example/pure_dart/lib/src/rust/api/async_misc.dart index 419b7b0c88..441d8afc53 100644 --- a/frb_example/pure_dart/lib/src/rust/api/async_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/async_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/async_spawn.dart b/frb_example/pure_dart/lib/src/rust/api/async_spawn.dart index ae93036fd5..a8fb395c8e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/async_spawn.dart +++ b/frb_example/pure_dart/lib/src/rust/api/async_spawn.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/attribute.dart b/frb_example/pure_dart/lib/src/rust/api/attribute.dart index b332889684..9fc7355c5b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/attribute.dart +++ b/frb_example/pure_dart/lib/src/rust/api/attribute.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/benchmark_misc.dart b/frb_example/pure_dart/lib/src/rust/api/benchmark_misc.dart index a0f1190b94..2f44be3ff7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/benchmark_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/benchmark_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/casted_primitive.dart b/frb_example/pure_dart/lib/src/rust/api/casted_primitive.dart index 51edc16530..88a8e79f2f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/casted_primitive.dart +++ b/frb_example/pure_dart/lib/src/rust/api/casted_primitive.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/chrono_type.dart b/frb_example/pure_dart/lib/src/rust/api/chrono_type.dart index e3583e05c9..ba8418abf0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/chrono_type.dart +++ b/frb_example/pure_dart/lib/src/rust/api/chrono_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/comment.dart b/frb_example/pure_dart/lib/src/rust/api/comment.dart index 3802ed0c03..f7e420f5b5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/comment.dart +++ b/frb_example/pure_dart/lib/src/rust/api/comment.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/constructor.dart b/frb_example/pure_dart/lib/src/rust/api/constructor.dart index e2280b0828..48cf7217db 100644 --- a/frb_example/pure_dart/lib/src/rust/api/constructor.dart +++ b/frb_example/pure_dart/lib/src/rust/api/constructor.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/custom_ser_des.dart b/frb_example/pure_dart/lib/src/rust/api/custom_ser_des.dart index a10dd92239..4e71c0a7ea 100644 --- a/frb_example/pure_dart/lib/src/rust/api/custom_ser_des.dart +++ b/frb_example/pure_dart/lib/src/rust/api/custom_ser_des.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/customization.dart b/frb_example/pure_dart/lib/src/rust/api/customization.dart index 492a530774..4e7dedde84 100644 --- a/frb_example/pure_dart/lib/src/rust/api/customization.dart +++ b/frb_example/pure_dart/lib/src/rust/api/customization.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dart_code.dart b/frb_example/pure_dart/lib/src/rust/api/dart_code.dart index 681662c98b..6ec5078c55 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dart_code.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dart_code.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dart_dynamic.dart b/frb_example/pure_dart/lib/src/rust/api/dart_dynamic.dart index 087bda77cf..4ca496145b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dart_dynamic.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dart_dynamic.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dart_fn.dart b/frb_example/pure_dart/lib/src/rust/api/dart_fn.dart index 83cec60815..addbc92586 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dart_fn.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dart_fn.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dart_opaque.dart b/frb_example/pure_dart/lib/src/rust/api/dart_opaque.dart index 519152abe8..6b21a20696 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dart_opaque.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dart_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dart_opaque_sync.dart b/frb_example/pure_dart/lib/src/rust/api/dart_opaque_sync.dart index 7f9f7fdc14..f82719c747 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dart_opaque_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dart_opaque_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/deliberate_name_conflict.dart b/frb_example/pure_dart/lib/src/rust/api/deliberate_name_conflict.dart index dc2b6952d2..2f39b63637 100644 --- a/frb_example/pure_dart/lib/src/rust/api/deliberate_name_conflict.dart +++ b/frb_example/pure_dart/lib/src/rust/api/deliberate_name_conflict.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dropping.dart b/frb_example/pure_dart/lib/src/rust/api/dropping.dart index 8efb5f12f8..69836a57d3 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dropping.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dropping.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/dyn_trait.dart b/frb_example/pure_dart/lib/src/rust/api/dyn_trait.dart index 1317ead15e..a19b07f6de 100644 --- a/frb_example/pure_dart/lib/src/rust/api/dyn_trait.dart +++ b/frb_example/pure_dart/lib/src/rust/api/dyn_trait.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/enumeration.dart b/frb_example/pure_dart/lib/src/rust/api/enumeration.dart index f0e0dbde52..ba38e961e6 100644 --- a/frb_example/pure_dart/lib/src/rust/api/enumeration.dart +++ b/frb_example/pure_dart/lib/src/rust/api/enumeration.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/event_listener.dart b/frb_example/pure_dart/lib/src/rust/api/event_listener.dart index 9853423df9..29bf367030 100644 --- a/frb_example/pure_dart/lib/src/rust/api/event_listener.dart +++ b/frb_example/pure_dart/lib/src/rust/api/event_listener.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/exception.dart b/frb_example/pure_dart/lib/src/rust/api/exception.dart index b9eb515f8c..5e4da4ac67 100644 --- a/frb_example/pure_dart/lib/src/rust/api/exception.dart +++ b/frb_example/pure_dart/lib/src/rust/api/exception.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/external_impl.dart b/frb_example/pure_dart/lib/src/rust/api/external_impl.dart index b1b130f104..2a8a52decb 100644 --- a/frb_example/pure_dart/lib/src/rust/api/external_impl.dart +++ b/frb_example/pure_dart/lib/src/rust/api/external_impl.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/external_type_in_crate.dart b/frb_example/pure_dart/lib/src/rust/api/external_type_in_crate.dart index 8a4952f8d5..f960be36a5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/external_type_in_crate.dart +++ b/frb_example/pure_dart/lib/src/rust/api/external_type_in_crate.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/impl_trait.dart b/frb_example/pure_dart/lib/src/rust/api/impl_trait.dart index faabd478f1..207a07387b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/impl_trait.dart +++ b/frb_example/pure_dart/lib/src/rust/api/impl_trait.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/inside_macro.dart b/frb_example/pure_dart/lib/src/rust/api/inside_macro.dart index b86b08b672..7411abb881 100644 --- a/frb_example/pure_dart/lib/src/rust/api/inside_macro.dart +++ b/frb_example/pure_dart/lib/src/rust/api/inside_macro.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/lifetimeable.dart b/frb_example/pure_dart/lib/src/rust/api/lifetimeable.dart index 70f794f05b..05cea3a867 100644 --- a/frb_example/pure_dart/lib/src/rust/api/lifetimeable.dart +++ b/frb_example/pure_dart/lib/src/rust/api/lifetimeable.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/map_and_set.dart b/frb_example/pure_dart/lib/src/rust/api/map_and_set.dart index 42c51c39ff..1a4c57e3f7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/map_and_set.dart +++ b/frb_example/pure_dart/lib/src/rust/api/map_and_set.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/method.dart b/frb_example/pure_dart/lib/src/rust/api/method.dart index a2f912dc7c..4e9996aa85 100644 --- a/frb_example/pure_dart/lib/src/rust/api/method.dart +++ b/frb_example/pure_dart/lib/src/rust/api/method.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/mirror.dart b/frb_example/pure_dart/lib/src/rust/api/mirror.dart index 9739cafd82..bb98e9e372 100644 --- a/frb_example/pure_dart/lib/src/rust/api/mirror.dart +++ b/frb_example/pure_dart/lib/src/rust/api/mirror.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/misc_example.dart b/frb_example/pure_dart/lib/src/rust/api/misc_example.dart index 1ef851a982..7c8f3ea607 100644 --- a/frb_example/pure_dart/lib/src/rust/api/misc_example.dart +++ b/frb_example/pure_dart/lib/src/rust/api/misc_example.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_a.dart b/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_a.dart index 6f0a3e4844..73847ed6c0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_a.dart +++ b/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_a.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_b.dart b/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_b.dart index 2cb182b987..169b0234a6 100644 --- a/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_b.dart +++ b/frb_example/pure_dart/lib/src/rust/api/misc_no_twin_example_b.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/misc_type.dart b/frb_example/pure_dart/lib/src/rust/api/misc_type.dart index 16145c2020..c345eeb88b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/misc_type.dart +++ b/frb_example/pure_dart/lib/src/rust/api/misc_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/newtype_pattern.dart b/frb_example/pure_dart/lib/src/rust/api/newtype_pattern.dart index d3f8843f24..8dcf4d846f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/newtype_pattern.dart +++ b/frb_example/pure_dart/lib/src/rust/api/newtype_pattern.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/optional.dart b/frb_example/pure_dart/lib/src/rust/api/optional.dart index 6d74cd1c1d..6656e457fd 100644 --- a/frb_example/pure_dart/lib/src/rust/api/optional.dart +++ b/frb_example/pure_dart/lib/src/rust/api/optional.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/optional_primitive_misc.dart b/frb_example/pure_dart/lib/src/rust/api/optional_primitive_misc.dart index 542d457f64..2f7cbd1465 100644 --- a/frb_example/pure_dart/lib/src/rust/api/optional_primitive_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/optional_primitive_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/ownership.dart b/frb_example/pure_dart/lib/src/rust/api/ownership.dart index 06d2b0c662..93b346c881 100644 --- a/frb_example/pure_dart/lib/src/rust/api/ownership.dart +++ b/frb_example/pure_dart/lib/src/rust/api/ownership.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/primitive_list_misc.dart b/frb_example/pure_dart/lib/src/rust/api/primitive_list_misc.dart index 9e9552cbea..471746eeca 100644 --- a/frb_example/pure_dart/lib/src/rust/api/primitive_list_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/primitive_list_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/primitive_misc.dart b/frb_example/pure_dart/lib/src/rust/api/primitive_misc.dart index 75d7c5cae8..ea9c3d0837 100644 --- a/frb_example/pure_dart/lib/src/rust/api/primitive_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/primitive_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/proxy.dart b/frb_example/pure_dart/lib/src/rust/api/proxy.dart index 312536c9f3..cb6769e59f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/proxy.dart +++ b/frb_example/pure_dart/lib/src/rust/api/proxy.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart index ab88ff24ce..e920fd3d03 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async_sse.dart index a6b22a6fb5..832d3487a7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sse.dart index 987945b5cf..773224bfc2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync.dart index 11160274f3..5c7c2b3a54 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync_sse.dart index 4f24d4dc15..cbf6e1cca0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/array_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/async_misc_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/async_misc_twin_sse.dart index ad543f1ae3..907d28b04d 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/async_misc_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/async_misc_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart index b6d23fc5dd..d3897de145 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async_sse.dart index 24723f6ebc..14e573ea64 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sse.dart index 6f1380dbfb..5f86b3f5df 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart index b9d411500c..c56e33bf9b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync_sse.dart index 0c1c7de05c..249c2a7435 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/attribute_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic.dart index 05d89baf1b..4471308b6b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list.dart index 2ecf884883..30cc879085 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart index d0271d4c07..8c81ed5d86 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async_sse.dart index 65fa32c8fc..2a9239f671 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sse.dart index 7195b43e1f..da00c829b3 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart index ea8df9611f..bedbc5f4fc 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync_sse.dart index 78fbf970cd..443b35488a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_list_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map.dart index b3e2c10305..edc4bc42f1 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart index 7d69807ae9..0068a39c51 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async_sse.dart index 4af72f324b..1922fa2187 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sse.dart index 3d14af7ea5..8ca4331380 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart index 7b29b6fe7c..dab6142344 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync_sse.dart index 9d11280ef8..e7b2ad937d 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_map_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional.dart index 4b7bee49b1..85419cb646 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart index c1650607ae..9940b5c218 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async_sse.dart index 8db9522bba..16d4286b6e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sse.dart index 807e37d140..b8545295b1 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart index eca69ed89c..7cd6c54ee0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync_sse.dart index f70100e7ad..dfcd5da304 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart index a72acd9a23..458d288425 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async_sse.dart index f759116561..b7db1c7cd4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sse.dart index a27d476a3c..ea3313ed65 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart index a1533e7b98..8c4b495e4c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync_sse.dart index 4172dca8b6..49d3c11178 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/basic_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api.dart index 6ae5705c02..6ffca38e63 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart index 66dd24f445..1dfcfcfcfa 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async_sse.dart index beb1f2d294..8baf3f6c68 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sse.dart index 1bc2a19e19..fac1425967 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart index 44471d149b..1c0156fe70 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync_sse.dart index b568208fe5..1ec6943ee2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart index 18b9b1059d..366a097bf7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async_sse.dart index 002cef5136..795c174bc9 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sse.dart index faf267c7cd..4bc7ca36ea 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart index df39580368..c6c7a18b43 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync_sse.dart index 6e5e6728a7..030fee77ee 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart index 0b8b58bfb9..67b5b3a002 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async_sse.dart index dbe89073d3..023514c624 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sse.dart index 8901686027..c3f10d9aad 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart index e48280026e..7cb71ebf21 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync_sse.dart index 56280d5ce7..f1d36a7eb9 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/comment_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_rust_async.dart index 60a4ad056c..ad50978333 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_sync.dart index 64c7822304..3ff87a0630 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_dynamic_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart index 55344ee1f2..ee715fcd35 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async_sse.dart index ffec3665da..ebff3978a5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_sse.dart index bf8a9c72d1..a7d524a36a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_fn_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_sync_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_sync_twin_sse.dart index 5fdf05fafa..260661f928 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_sync_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_sync_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart index 3f42c1c949..b549f3450a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async_sse.dart index f82cb243a2..c07e74d085 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sse.dart index af58c8de51..5a3a6350f5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart index ccf054f549..99870cfbc2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync_sse.dart index e4115b571a..3b2b4bbdc7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart index e7330e4207..056f95c35f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async_sse.dart index 5296861aea..f155ecd1b2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sse.dart index b70ca0b48f..8906bdc9f6 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart index 20cd7876cc..95f3367db4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync_sse.dart index 635b12f350..6751975876 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/dropping_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart index 561565bece..728b27c13c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async_sse.dart index 28137d91ef..43c9ba9027 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sse.dart index e4b803605d..2a7f378a8b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart index a3b5e202c1..35f23c66a8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync_sse.dart index 239300916e..d326da0c02 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/enumeration_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart index ff3abe570b..fc90634bfd 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async_sse.dart index f00c5f2ad5..6952dbb5c3 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_sse.dart index e422a9c292..60c3f5dadb 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/event_listener_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart index 0a646ccf0c..2a6ec06312 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async_sse.dart index 5826911d69..08c8cb9860 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sse.dart index 58743ff89b..b8d30030b0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart index 8d51468f21..849e669893 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync_sse.dart index 8cdccf319d..e27c542266 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/exception_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart index cc4497b2e7..9f64ad7d3b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async_sse.dart index b42862d049..ba8d85bd85 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sse.dart index 0202060453..8fe401d8f8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart index cbf0fef28b..fb41c52052 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync_sse.dart index 3a2b8ed007..94320cbe96 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sse.dart index cfb1c56b33..08bc88c493 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart index e90dbedc3c..746c5f5438 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync_sse.dart index 3c3385df37..34ca3a3c25 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart index 0e6dc16229..c0b0bde1ee 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart index 35991272d6..9f0d269318 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async_sse.dart index fb2c7afc19..f2e2237a3f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sse.dart index d70cc95215..061029a536 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart index 7ac0beee20..ee73376e86 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync_sse.dart index 59e1545775..55f3a6e70f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart index a7d71dfb21..48bdc9a9e8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async_sse.dart index 92f42e84ce..571c6a7cfe 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sse.dart index 2e3685b322..d96e3746cb 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync.dart index 6aea766f65..aab5f6d460 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync_sse.dart index 579be41045..9ff94a3ac2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/method_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart index 813892f701..91168042db 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async_sse.dart index eec7608410..d4ae025e39 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sse.dart index 8947efcb61..93ed2614e6 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart index ac687f879a..03374d7bad 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync_sse.dart index 9bfb88153c..19f32d5d5e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/mirror_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart index 376044ec7a..880a44aa76 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async_sse.dart index ad9aee044b..4070224054 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sse.dart index 77d7c8c0f5..fe438a9406 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart index de79179a84..dc3c66fdd8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync_sse.dart index b455e12347..bc80126271 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_example_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart index 67bb187074..2ec2dd24d7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async_sse.dart index d67c2b05ad..59c0a43479 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sse.dart index a2bf57afcf..3fa654a818 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart index bc6777104f..9a98b2db27 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync_sse.dart index 789fea1379..45694d9ac4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/misc_type_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart index f28a30f365..1263607d12 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async_sse.dart index 8cc9bc9f4d..be20c7686c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sse.dart index 19285f6e7d..86589d1b8a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart index 307234295e..1204ef2372 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync_sse.dart index 5eef9b3fa4..ea42054e79 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart index 25e1895501..474fe45ce7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async_sse.dart index 64dad43f18..0b8a3e9ec1 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sse.dart index fbfdf48441..142302d992 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart index c4e39ffab9..af6817d637 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync_sse.dart index b5b10973d2..1c67928d30 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart index c7a8beb442..a062e9c9ae 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async_sse.dart index febc810b41..decae85cc2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sse.dart index 5eb53c4be5..37a8ec99ea 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart index bf3a5bc898..7ff8f7d215 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync_sse.dart index 15cf37ca64..a4c37c6c45 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/optional_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart index 607f48684b..f3f165f651 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async_sse.dart index d8e915635b..213db1dc3a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sse.dart index 84fcc64715..0e5ae29e9b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart index c0f1992de3..1893b7f1b5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync_sse.dart index bc364cc051..8448e13e5f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/ownership_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart index f88b7ea37e..22c20b8bd9 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async_sse.dart index d601de114f..0b6c6a2f41 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sse.dart index bef826e519..f4eac4fd80 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart index faaed4f60a..d75a3058c0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync_sse.dart index 3794578386..67dec3d120 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart index 340c3fd7db..9354591373 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async_sse.dart index 0b4e837adb..88720c9575 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sse.dart index 8bcfc52b85..9b9fdd366a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart index 9f08891712..39277f56b7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync_sse.dart index ad71339fa3..bed5194db8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart index c3e68ae177..3e198eae98 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async_sse.dart index 22637b76cc..581ba672c9 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sse.dart index f0dcd43890..eca4c2b59b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart index f7381cbbea..c44c1bb3e3 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync_sse.dart index e1188d75a1..089bb60500 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/raw_string_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_moi.dart index c4d54e0749..e03e970c01 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart index 52e1c40fed..dd247975c2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_moi.dart index 18ad104b7a..acc87b9ac5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse.dart index b7d16cee69..4c32a71056 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse_moi.dart index 83aeda0a41..df20e3cbdd 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse.dart index 8daf0cb3e6..b8f227dca7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse_moi.dart index b7eca91015..0dc10fe0ff 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart index c1ef97ef5c..0f5da41f5e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_moi.dart index 24f2fdb179..d1895be4f7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse.dart index 734c343e08..16bd07d753 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse_moi.dart index 705e825485..3176d8fc61 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_moi.dart index a1927db1ae..9373028160 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse.dart index c6bb456b1c..e5231c0a80 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse_moi.dart index f4ba9a5a37..351f3c693d 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_sync_twin_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_moi.dart index d5ea41a402..867e47d65e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart index 061600dd5b..68445c6e87 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_moi.dart index 6a39099cdd..7c3666589b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse.dart index ccdab0a756..02003b6995 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse_moi.dart index 5e0a04c281..582e091f55 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse.dart index fd93a9d1d4..23c7f6c2de 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse_moi.dart index 5c77a36c68..22334ac3ce 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart index 5dd9737071..9cfaa2cc30 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_moi.dart index 352b729de4..2527031d70 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse.dart index f9291c0abb..11eaf95d56 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse_moi.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse_moi.dart index 3cd7d9d931..f6271fe08a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse_moi.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync_sse_moi.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart index 12b26333b2..2052b5898f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async_sse.dart index f1008dab88..08cad79bc2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sse.dart index 02aced5ec8..e69405176c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart index 541757b90c..ac0cf33bd0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync_sse.dart index f8f96f2d63..bc0e9eaa43 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/simple_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_misc_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_misc_twin_sse.dart index 912b8095c5..95a951a536 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_misc_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_misc_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart index efb6607721..a9b77c3485 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async_sse.dart index 4042a9875f..d0e34576fa 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_sse.dart index 3391b081a5..b05538b68e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/stream_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart index d628cde29b..4b68587c52 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async_sse.dart index ab85652eb5..3cafee4aac 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sse.dart index 5ce9f81672..13aeaffc85 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart index f47589a8c0..b7c3f86d86 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync_sse.dart index 8ec054f17c..d7109f38e5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/structure_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart index e672cedcf8..0593a7a7c7 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async_sse.dart index 31bb24be94..0fc8b9cf41 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sse.dart index 6c66bab128..de8b2e14a2 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart index a3b5f9ffc0..5a30e7c72c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync_sse.dart index 48030ec097..e590bbfb3a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/tuple_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart index 0f98cb514c..74bb3436ae 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async_sse.dart index 8740f69a07..208bc9f14a 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sse.dart index 0642041388..5843799bf8 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart index 7ee3eed294..7176eb21d4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync_sse.dart index d9e59cf878..4e1dcf4417 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/type_alias_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart index fdc989377d..2ccc7cb3f4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async_sse.dart index 0b0c6e738c..10b2cfbc28 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sse.dart index 737062b890..98b15b0603 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart index 84973c78c1..dfa23109cf 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync_sse.dart b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync_sse.dart index e0d930dced..868eee6abd 100644 --- a/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync_sse.dart +++ b/frb_example/pure_dart/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync_sse.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/raw_string.dart b/frb_example/pure_dart/lib/src/rust/api/raw_string.dart index 7c7dd6701f..83085298b0 100644 --- a/frb_example/pure_dart/lib/src/rust/api/raw_string.dart +++ b/frb_example/pure_dart/lib/src/rust/api/raw_string.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/rust_auto_opaque.dart b/frb_example/pure_dart/lib/src/rust/api/rust_auto_opaque.dart index 19057dc544..746a47280f 100644 --- a/frb_example/pure_dart/lib/src/rust/api/rust_auto_opaque.dart +++ b/frb_example/pure_dart/lib/src/rust/api/rust_auto_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/rust_opaque.dart b/frb_example/pure_dart/lib/src/rust/api/rust_opaque.dart index 36560a7f29..f110927a8b 100644 --- a/frb_example/pure_dart/lib/src/rust/api/rust_opaque.dart +++ b/frb_example/pure_dart/lib/src/rust/api/rust_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/rust_opaque_sync.dart b/frb_example/pure_dart/lib/src/rust/api/rust_opaque_sync.dart index 66d829b439..83994e6bf3 100644 --- a/frb_example/pure_dart/lib/src/rust/api/rust_opaque_sync.dart +++ b/frb_example/pure_dart/lib/src/rust/api/rust_opaque_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/simple.dart b/frb_example/pure_dart/lib/src/rust/api/simple.dart index 5366473657..84e42a082c 100644 --- a/frb_example/pure_dart/lib/src/rust/api/simple.dart +++ b/frb_example/pure_dart/lib/src/rust/api/simple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/stream.dart b/frb_example/pure_dart/lib/src/rust/api/stream.dart index c277d7311c..86c7099e5d 100644 --- a/frb_example/pure_dart/lib/src/rust/api/stream.dart +++ b/frb_example/pure_dart/lib/src/rust/api/stream.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/stream_misc.dart b/frb_example/pure_dart/lib/src/rust/api/stream_misc.dart index b4186f0a00..2857a02fc4 100644 --- a/frb_example/pure_dart/lib/src/rust/api/stream_misc.dart +++ b/frb_example/pure_dart/lib/src/rust/api/stream_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/structure.dart b/frb_example/pure_dart/lib/src/rust/api/structure.dart index baf7ac5bfc..74a6fbdad5 100644 --- a/frb_example/pure_dart/lib/src/rust/api/structure.dart +++ b/frb_example/pure_dart/lib/src/rust/api/structure.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/tuple.dart b/frb_example/pure_dart/lib/src/rust/api/tuple.dart index 29cd2de545..c12a131dcd 100644 --- a/frb_example/pure_dart/lib/src/rust/api/tuple.dart +++ b/frb_example/pure_dart/lib/src/rust/api/tuple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/type_alias.dart b/frb_example/pure_dart/lib/src/rust/api/type_alias.dart index 5c8e1ede7d..57080e692e 100644 --- a/frb_example/pure_dart/lib/src/rust/api/type_alias.dart +++ b/frb_example/pure_dart/lib/src/rust/api/type_alias.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/api/uuid_type.dart b/frb_example/pure_dart/lib/src/rust/api/uuid_type.dart index abe54b6ac5..104a337730 100644 --- a/frb_example/pure_dart/lib/src/rust/api/uuid_type.dart +++ b/frb_example/pure_dart/lib/src/rust/api/uuid_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/auxiliary/new_module_system/sub_module.dart b/frb_example/pure_dart/lib/src/rust/auxiliary/new_module_system/sub_module.dart index 41eb066be9..b64cb7d9a8 100644 --- a/frb_example/pure_dart/lib/src/rust/auxiliary/new_module_system/sub_module.dart +++ b/frb_example/pure_dart/lib/src/rust/auxiliary/new_module_system/sub_module.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/auxiliary/old_module_system/sub_module.dart b/frb_example/pure_dart/lib/src/rust/auxiliary/old_module_system/sub_module.dart index bb0792aefb..ccca9b8916 100644 --- a/frb_example/pure_dart/lib/src/rust/auxiliary/old_module_system/sub_module.dart +++ b/frb_example/pure_dart/lib/src/rust/auxiliary/old_module_system/sub_module.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/auxiliary/sample_types.dart b/frb_example/pure_dart/lib/src/rust/auxiliary/sample_types.dart index 4f9c68116f..e951d5d8ca 100644 --- a/frb_example/pure_dart/lib/src/rust/auxiliary/sample_types.dart +++ b/frb_example/pure_dart/lib/src/rust/auxiliary/sample_types.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/deliberate_name_conflict.dart b/frb_example/pure_dart/lib/src/rust/deliberate_name_conflict.dart index df08101293..95a1e56eee 100644 --- a/frb_example/pure_dart/lib/src/rust/deliberate_name_conflict.dart +++ b/frb_example/pure_dart/lib/src/rust/deliberate_name_conflict.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/frb_generated.dart b/frb_example/pure_dart/lib/src/rust/frb_generated.dart index 503b77dde1..652eb113a8 100644 --- a/frb_example/pure_dart/lib/src/rust/frb_generated.dart +++ b/frb_example/pure_dart/lib/src/rust/frb_generated.dart @@ -1,9 +1,9 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart/lib/src/rust/frb_generated.io.dart b/frb_example/pure_dart/lib/src/rust/frb_generated.io.dart index 7775bbaed4..74a10ec62f 100644 --- a/frb_example/pure_dart/lib/src/rust/frb_generated.io.dart +++ b/frb_example/pure_dart/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/pure_dart/lib/src/rust/frb_generated.web.dart b/frb_example/pure_dart/lib/src/rust/frb_generated.web.dart index 7060637085..9da911ba01 100644 --- a/frb_example/pure_dart/lib/src/rust/frb_generated.web.dart +++ b/frb_example/pure_dart/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/pure_dart/rust/src/frb_generated.rs b/frb_example/pure_dart/rust/src/frb_generated.rs index 007d71e829..5af67cd6b3 100644 --- a/frb_example/pure_dart/rust/src/frb_generated.rs +++ b/frb_example/pure_dart/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -103551,7 +103551,7 @@ crate::api::pseudo_manual::misc_example_twin_sync_sse::WeekdaysTwinSyncSse::Sund #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -159037,7 +159037,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/pure_dart_pde/lib/src/rust/api.dart b/frb_example/pure_dart_pde/lib/src/rust/api.dart index 26591509b8..245fc47f82 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/array.dart b/frb_example/pure_dart_pde/lib/src/rust/api/array.dart index 3bb6d12867..af842ed810 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/array.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/array.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/async_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/async_misc.dart index 419b7b0c88..441d8afc53 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/async_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/async_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/async_spawn.dart b/frb_example/pure_dart_pde/lib/src/rust/api/async_spawn.dart index ae93036fd5..a8fb395c8e 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/async_spawn.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/async_spawn.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/attribute.dart b/frb_example/pure_dart_pde/lib/src/rust/api/attribute.dart index b332889684..9fc7355c5b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/attribute.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/attribute.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/benchmark_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/benchmark_misc.dart index a0f1190b94..2f44be3ff7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/benchmark_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/benchmark_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/casted_primitive.dart b/frb_example/pure_dart_pde/lib/src/rust/api/casted_primitive.dart index 51edc16530..88a8e79f2f 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/casted_primitive.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/casted_primitive.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/chrono_type.dart b/frb_example/pure_dart_pde/lib/src/rust/api/chrono_type.dart index e3583e05c9..ba8418abf0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/chrono_type.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/chrono_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/comment.dart b/frb_example/pure_dart_pde/lib/src/rust/api/comment.dart index 3802ed0c03..f7e420f5b5 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/comment.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/comment.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/constructor.dart b/frb_example/pure_dart_pde/lib/src/rust/api/constructor.dart index 1ec1fc7754..c99dc51677 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/constructor.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/constructor.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/custom_ser_des.dart b/frb_example/pure_dart_pde/lib/src/rust/api/custom_ser_des.dart index a10dd92239..4e71c0a7ea 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/custom_ser_des.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/custom_ser_des.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/customization.dart b/frb_example/pure_dart_pde/lib/src/rust/api/customization.dart index 492a530774..4e7dedde84 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/customization.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/customization.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dart_code.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dart_code.dart index 215154baa0..5551127465 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dart_code.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dart_code.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dart_fn.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dart_fn.dart index 83cec60815..addbc92586 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dart_fn.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dart_fn.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque.dart index 519152abe8..6b21a20696 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque_sync.dart index 7f9f7fdc14..f82719c747 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dart_opaque_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/deliberate_name_conflict.dart b/frb_example/pure_dart_pde/lib/src/rust/api/deliberate_name_conflict.dart index dc2b6952d2..2f39b63637 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/deliberate_name_conflict.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/deliberate_name_conflict.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dropping.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dropping.dart index 6e13d16d2d..69eb807395 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dropping.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dropping.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/dyn_trait.dart b/frb_example/pure_dart_pde/lib/src/rust/api/dyn_trait.dart index 505b59a8ba..0d362601c2 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/dyn_trait.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/dyn_trait.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/enumeration.dart b/frb_example/pure_dart_pde/lib/src/rust/api/enumeration.dart index f0e0dbde52..ba38e961e6 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/enumeration.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/enumeration.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/event_listener.dart b/frb_example/pure_dart_pde/lib/src/rust/api/event_listener.dart index 9853423df9..29bf367030 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/event_listener.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/event_listener.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/exception.dart b/frb_example/pure_dart_pde/lib/src/rust/api/exception.dart index b9eb515f8c..5e4da4ac67 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/exception.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/exception.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/external_impl.dart b/frb_example/pure_dart_pde/lib/src/rust/api/external_impl.dart index 6e07001c3d..bd79febe73 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/external_impl.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/external_impl.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/external_type_in_crate.dart b/frb_example/pure_dart_pde/lib/src/rust/api/external_type_in_crate.dart index 8a4952f8d5..f960be36a5 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/external_type_in_crate.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/external_type_in_crate.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/impl_trait.dart b/frb_example/pure_dart_pde/lib/src/rust/api/impl_trait.dart index 0ce1f3de77..fba38b221f 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/impl_trait.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/impl_trait.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/inside_macro.dart b/frb_example/pure_dart_pde/lib/src/rust/api/inside_macro.dart index b86b08b672..7411abb881 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/inside_macro.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/inside_macro.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/lifetimeable.dart b/frb_example/pure_dart_pde/lib/src/rust/api/lifetimeable.dart index 337e54dd77..3f90f8d8aa 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/lifetimeable.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/lifetimeable.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/map_and_set.dart b/frb_example/pure_dart_pde/lib/src/rust/api/map_and_set.dart index 42c51c39ff..1a4c57e3f7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/map_and_set.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/map_and_set.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/method.dart b/frb_example/pure_dart_pde/lib/src/rust/api/method.dart index 339f816582..99b3e10eb5 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/method.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/method.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/mirror.dart b/frb_example/pure_dart_pde/lib/src/rust/api/mirror.dart index 9739cafd82..bb98e9e372 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/mirror.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/mirror.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/misc_example.dart b/frb_example/pure_dart_pde/lib/src/rust/api/misc_example.dart index 1ef851a982..7c8f3ea607 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/misc_example.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/misc_example.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_a.dart b/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_a.dart index 9a4c328448..6ff3ced817 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_a.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_a.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_b.dart b/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_b.dart index c99c3741e4..8894aead64 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_b.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/misc_no_twin_example_b.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/misc_type.dart b/frb_example/pure_dart_pde/lib/src/rust/api/misc_type.dart index 16145c2020..c345eeb88b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/misc_type.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/misc_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/newtype_pattern.dart b/frb_example/pure_dart_pde/lib/src/rust/api/newtype_pattern.dart index d3f8843f24..8dcf4d846f 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/newtype_pattern.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/newtype_pattern.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/optional.dart b/frb_example/pure_dart_pde/lib/src/rust/api/optional.dart index 6d74cd1c1d..6656e457fd 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/optional.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/optional.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/optional_primitive_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/optional_primitive_misc.dart index 542d457f64..2f7cbd1465 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/optional_primitive_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/optional_primitive_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/ownership.dart b/frb_example/pure_dart_pde/lib/src/rust/api/ownership.dart index 06d2b0c662..93b346c881 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/ownership.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/ownership.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/primitive_list_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/primitive_list_misc.dart index 9e9552cbea..471746eeca 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/primitive_list_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/primitive_list_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/primitive_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/primitive_misc.dart index 75d7c5cae8..ea9c3d0837 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/primitive_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/primitive_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/proxy.dart b/frb_example/pure_dart_pde/lib/src/rust/api/proxy.dart index 4035ce198d..bd8fb79136 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/proxy.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/proxy.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart index ab88ff24ce..e920fd3d03 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_sync.dart index 11160274f3..5c7c2b3a54 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/array_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart index b6d23fc5dd..d3897de145 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart index b9d411500c..c56e33bf9b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/attribute_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic.dart index 05d89baf1b..4471308b6b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list.dart index 2ecf884883..30cc879085 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart index d0271d4c07..8c81ed5d86 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart index ea8df9611f..bedbc5f4fc 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_list_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map.dart index b3e2c10305..edc4bc42f1 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart index 7d69807ae9..0068a39c51 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart index 7b29b6fe7c..dab6142344 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_map_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional.dart index 4b7bee49b1..85419cb646 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart index c1650607ae..9940b5c218 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart index eca69ed89c..7cd6c54ee0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_optional_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart index a72acd9a23..458d288425 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart index a1533e7b98..8c4b495e4c 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/basic_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api.dart index 6ae5705c02..6ffca38e63 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart index 66dd24f445..1dfcfcfcfa 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart index 44471d149b..1c0156fe70 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/benchmark_api_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart index 18b9b1059d..366a097bf7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart index df39580368..c6c7a18b43 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/chrono_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart index 0b8b58bfb9..67b5b3a002 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart index e48280026e..7cb71ebf21 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/comment_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart index 55344ee1f2..ee715fcd35 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_fn_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart index 3f42c1c949..b549f3450a 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart index ccf054f549..99870cfbc2 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dart_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart index 7ff5ece004..cb0cf3a96b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart index cb56481197..2286bc859e 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/dropping_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart index 561565bece..728b27c13c 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart index a3b5e202c1..35f23c66a8 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/enumeration_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart index ff3abe570b..fc90634bfd 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/event_listener_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart index 0a646ccf0c..2a6ec06312 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart index 8d51468f21..849e669893 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/exception_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart index cc4497b2e7..9f64ad7d3b 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart index cbf0fef28b..fb41c52052 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/external_type_in_crate_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart index 0d7728f120..7cde136509 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/impl_trait_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart index 629338759b..3242163f90 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/lifetimeable_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart index 35991272d6..9f0d269318 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart index 7ac0beee20..ee73376e86 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/map_and_set_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart index 91e9ffb96a..2f080b4696 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_sync.dart index 0252424172..47aec5af08 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/method_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart index 813892f701..91168042db 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart index ac687f879a..03374d7bad 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/mirror_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart index 376044ec7a..880a44aa76 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart index de79179a84..dc3c66fdd8 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_example_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart index 67bb187074..2ec2dd24d7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart index bc6777104f..9a98b2db27 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/misc_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart index f28a30f365..1263607d12 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart index 307234295e..1204ef2372 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/newtype_pattern_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart index 25e1895501..474fe45ce7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart index c4e39ffab9..af6817d637 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_primitive_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart index c7a8beb442..a062e9c9ae 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart index bf3a5bc898..7ff8f7d215 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/optional_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart index 607f48684b..f3f165f651 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart index c0f1992de3..1893b7f1b5 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/ownership_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart index f88b7ea37e..22c20b8bd9 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart index faaed4f60a..d75a3058c0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_list_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart index 340c3fd7db..9354591373 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart index 9f08891712..39277f56b7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/primitive_misc_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart index c3e68ae177..3e198eae98 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart index f7381cbbea..c44c1bb3e3 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/raw_string_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart index 54287074d7..98b2ffa8d0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart index 50526a43cd..8fffe2bf23 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_auto_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart index c5a8a30922..012bea7cef 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart index 1c11a0afb7..eb34f6f918 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/rust_opaque_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart index 12b26333b2..2052b5898f 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart index 541757b90c..ac0cf33bd0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/simple_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart index efb6607721..a9b77c3485 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/stream_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart index d628cde29b..4b68587c52 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart index f47589a8c0..b7c3f86d86 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/structure_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart index e672cedcf8..0593a7a7c7 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart index a3b5f9ffc0..5a30e7c72c 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/tuple_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart index 0f98cb514c..74bb3436ae 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart index 7ee3eed294..7176eb21d4 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/type_alias_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart index fdc989377d..2ccc7cb3f4 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_rust_async.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart index 84973c78c1..dfa23109cf 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/pseudo_manual/uuid_type_twin_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/raw_string.dart b/frb_example/pure_dart_pde/lib/src/rust/api/raw_string.dart index 7c7dd6701f..83085298b0 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/raw_string.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/raw_string.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/rust_auto_opaque.dart b/frb_example/pure_dart_pde/lib/src/rust/api/rust_auto_opaque.dart index 64756e453b..0cf7d38307 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/rust_auto_opaque.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/rust_auto_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque.dart b/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque.dart index 7ef58a9a46..b8fd11dfc9 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque_sync.dart b/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque_sync.dart index 0ba1bfc2ab..1e4501329c 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque_sync.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/rust_opaque_sync.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/simple.dart b/frb_example/pure_dart_pde/lib/src/rust/api/simple.dart index 5366473657..84e42a082c 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/simple.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/simple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/stream.dart b/frb_example/pure_dart_pde/lib/src/rust/api/stream.dart index c277d7311c..86c7099e5d 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/stream.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/stream.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/stream_misc.dart b/frb_example/pure_dart_pde/lib/src/rust/api/stream_misc.dart index b4186f0a00..2857a02fc4 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/stream_misc.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/stream_misc.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/structure.dart b/frb_example/pure_dart_pde/lib/src/rust/api/structure.dart index baf7ac5bfc..74a6fbdad5 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/structure.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/structure.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/tuple.dart b/frb_example/pure_dart_pde/lib/src/rust/api/tuple.dart index 29cd2de545..c12a131dcd 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/tuple.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/tuple.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/type_alias.dart b/frb_example/pure_dart_pde/lib/src/rust/api/type_alias.dart index 5c8e1ede7d..57080e692e 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/type_alias.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/type_alias.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/api/uuid_type.dart b/frb_example/pure_dart_pde/lib/src/rust/api/uuid_type.dart index abe54b6ac5..104a337730 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/api/uuid_type.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/api/uuid_type.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/new_module_system/sub_module.dart b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/new_module_system/sub_module.dart index 41eb066be9..b64cb7d9a8 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/new_module_system/sub_module.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/new_module_system/sub_module.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/old_module_system/sub_module.dart b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/old_module_system/sub_module.dart index bb0792aefb..ccca9b8916 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/old_module_system/sub_module.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/old_module_system/sub_module.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/sample_types.dart b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/sample_types.dart index 4f9c68116f..e951d5d8ca 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/auxiliary/sample_types.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/auxiliary/sample_types.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/deliberate_name_conflict.dart b/frb_example/pure_dart_pde/lib/src/rust/deliberate_name_conflict.dart index df08101293..95a1e56eee 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/deliberate_name_conflict.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/deliberate_name_conflict.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.dart b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.dart index 00c7b47058..fb04479230 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.dart @@ -1,9 +1,9 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.io.dart b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.io.dart index 915cfb1c77..aa8e90d16d 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.io.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.web.dart b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.web.dart index ec13bcb3b1..b7badabe8e 100644 --- a/frb_example/pure_dart_pde/lib/src/rust/frb_generated.web.dart +++ b/frb_example/pure_dart_pde/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/pure_dart_pde/rust/src/frb_generated.rs b/frb_example/pure_dart_pde/rust/src/frb_generated.rs index 408ee0d1db..bce00fd83f 100644 --- a/frb_example/pure_dart_pde/rust/src/frb_generated.rs +++ b/frb_example/pure_dart_pde/rust/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -59688,7 +59688,7 @@ impl SseEncode for crate::api::pseudo_manual::misc_example_twin_sync::WeekdaysTw #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -61156,7 +61156,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/rust_ui_counter/src/frb_generated.rs b/frb_example/rust_ui_counter/src/frb_generated.rs index 6ae25ea586..da18e56e57 100644 --- a/frb_example/rust_ui_counter/src/frb_generated.rs +++ b/frb_example/rust_ui_counter/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -682,7 +682,7 @@ impl SseEncode for bool { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -733,7 +733,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/rust_ui_counter/ui/lib/src/rust/app.dart b/frb_example/rust_ui_counter/ui/lib/src/rust/app.dart index 7ba8906fed..3af24fd2cb 100644 --- a/frb_example/rust_ui_counter/ui/lib/src/rust/app.dart +++ b/frb_example/rust_ui_counter/ui/lib/src/rust/app.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.dart b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.dart index 927e113571..0b750c1768 100644 --- a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.dart +++ b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.dart @@ -1,9 +1,9 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.io.dart b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.io.dart index 6224b5b185..3f75c9a063 100644 --- a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.io.dart +++ b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.web.dart b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.web.dart index f0777cdf9c..11bfc6080b 100644 --- a/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.web.dart +++ b/frb_example/rust_ui_counter/ui/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/rust_ui_counter/ui/pubspec.lock b/frb_example/rust_ui_counter/ui/pubspec.lock index 38f092acd7..2a2dc7f7ae 100644 --- a/frb_example/rust_ui_counter/ui/pubspec.lock +++ b/frb_example/rust_ui_counter/ui/pubspec.lock @@ -125,18 +125,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -173,18 +173,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -197,10 +197,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -289,10 +289,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -305,10 +305,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" web: dependency: transitive description: diff --git a/frb_example/rust_ui_todo_list/src/frb_generated.rs b/frb_example/rust_ui_todo_list/src/frb_generated.rs index 8575bc8bb7..c919bd3e87 100644 --- a/frb_example/rust_ui_todo_list/src/frb_generated.rs +++ b/frb_example/rust_ui_todo_list/src/frb_generated.rs @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. #![allow( non_camel_case_types, @@ -1050,7 +1050,7 @@ impl SseEncode for usize { #[cfg(not(target_family = "wasm"))] mod io { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports @@ -1101,7 +1101,7 @@ pub use io::*; #[cfg(target_family = "wasm")] mod web { // This file is automatically generated, so please do not edit it. - // Generated by `flutter_rust_bridge`@ 2.3.0. + // @generated by `flutter_rust_bridge`@ 2.3.0. // Section: imports diff --git a/frb_example/rust_ui_todo_list/ui/lib/src/rust/app.dart b/frb_example/rust_ui_todo_list/ui/lib/src/rust/app.dart index 2a78ff7d55..4d6bbd25b5 100644 --- a/frb_example/rust_ui_todo_list/ui/lib/src/rust/app.dart +++ b/frb_example/rust_ui_todo_list/ui/lib/src/rust/app.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.dart b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.dart index b3c2c68d3d..da0a5b6ce7 100644 --- a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.dart +++ b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.dart @@ -1,9 +1,9 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: invalid_use_of_internal_member, unused_import, unnecessary_import diff --git a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.io.dart b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.io.dart index cd9dd691ca..fee1a5c985 100644 --- a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.io.dart +++ b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.io.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.web.dart b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.web.dart index 3eb9822018..ee5727cddb 100644 --- a/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.web.dart +++ b/frb_example/rust_ui_todo_list/ui/lib/src/rust/frb_generated.web.dart @@ -1,5 +1,5 @@ // This file is automatically generated, so please do not edit it. -// Generated by `flutter_rust_bridge`@ 2.3.0. +// @generated by `flutter_rust_bridge`@ 2.3.0. // ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field diff --git a/frb_example/rust_ui_todo_list/ui/pubspec.lock b/frb_example/rust_ui_todo_list/ui/pubspec.lock index 7e9b7892c6..44ae894f95 100644 --- a/frb_example/rust_ui_todo_list/ui/pubspec.lock +++ b/frb_example/rust_ui_todo_list/ui/pubspec.lock @@ -125,18 +125,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -173,18 +173,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -197,10 +197,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -289,10 +289,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -305,10 +305,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" web: dependency: transitive description: