From d432572241f79659fd71477e7f6688805a81cb9f Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 08:51:07 +0800 Subject: [PATCH 01/22] more --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 599aad2421..2011fe0315 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -721,7 +721,7 @@ jobs: - frb_example--dart_minimal - frb_example--pure_dart - frb_example--pure_dart_pde - - frb_example--deliberate_bad + # - frb_example--deliberate_bad # wait for https://github.com/rust-lang/rust/issues/111073 # no need for `frb_example--dart_build_rs` steps: From 42b95b40966762b418b22871a1cf93c77d082439 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 08:52:09 +0800 Subject: [PATCH 02/22] more --- frb_utils/.gitignore | 2 - frb_utils/pubspec.lock | 636 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 636 insertions(+), 2 deletions(-) create mode 100644 frb_utils/pubspec.lock diff --git a/frb_utils/.gitignore b/frb_utils/.gitignore index 3a83c2f087..a87b4d268f 100644 --- a/frb_utils/.gitignore +++ b/frb_utils/.gitignore @@ -4,8 +4,6 @@ .dart_tool/ .packages build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. diff --git a/frb_utils/pubspec.lock b/frb_utils/pubspec.lock new file mode 100644 index 0000000000..fe48595083 --- /dev/null +++ b/frb_utils/pubspec.lock @@ -0,0 +1,636 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49" + url: "https://pub.dev" + source: hosted + version: "65.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07 + url: "https://pub.dev" + source: hosted + version: "6.3.0" + archive: + dependency: transitive + description: + name: archive + sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" + url: "https://pub.dev" + source: hosted + version: "3.4.9" + 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" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_cli: + dependency: "direct dev" + description: + name: build_cli + sha256: ce6a27bdf9c6a08c926c3dcbc07fe9ac512f6fcdc14230e40298799784035fb7 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + build_cli_annotations: + dependency: "direct main" + description: + name: build_cli_annotations + sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 + url: "https://pub.dev" + source: hosted + version: "2.1.0" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + url: "https://pub.dev" + source: hosted + version: "4.0.1" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" + url: "https://pub.dev" + source: hosted + version: "2.4.7" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + url: "https://pub.dev" + source: hosted + version: "7.2.11" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 + url: "https://pub.dev" + source: hosted + version: "8.8.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: "65c7830649e1f8247660f1b783effb460255d6e2c1ac94eb823cf1f84e59b288" + url: "https://pub.dev" + source: hosted + version: "0.1.2" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 + url: "https://pub.dev" + source: hosted + version: "4.9.0" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + url: "https://pub.dev" + source: hosted + version: "1.7.2" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + url: "https://pub.dev" + source: hosted + version: "2.3.4" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + url: "https://pub.dev" + source: hosted + version: "3.0.1" + flutter_rust_bridge: + dependency: "direct main" + description: + path: "../frb_dart" + relative: true + source: path + version: "2.7.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: "direct main" + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: transitive + description: + name: http + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + 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: "direct main" + 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: transitive + description: + name: lints + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + native_assets_cli: + dependency: "direct main" + description: + name: native_assets_cli + sha256: "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + 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: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + url: "https://pub.dev" + source: hosted + version: "3.7.3" + 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" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + puppeteer: + dependency: "direct main" + description: + name: puppeteer + sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 + url: "https://pub.dev" + source: hosted + version: "3.6.0" + recase: + dependency: "direct main" + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + shelf: + dependency: "direct main" + 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: "direct main" + description: + name: shelf_static + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" + shelf_web_socket: + dependency: "direct main" + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + source_helper: + dependency: transitive + description: + name: source_helper + sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" + url: "https://pub.dev" + source: hosted + version: "1.3.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: transitive + 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" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + 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: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + url: "https://pub.dev" + source: hosted + version: "1.24.9" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + test_core: + dependency: "direct main" + description: + name: test_core + sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + url: "https://pub.dev" + source: hosted + version: "0.5.9" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + web_socket_channel: + dependency: "direct main" + description: + name: web_socket_channel + sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" + url: "https://pub.dev" + source: hosted + version: "2.4.5" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" + yaml_edit: + dependency: transitive + description: + name: yaml_edit + sha256: "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd" + url: "https://pub.dev" + source: hosted + version: "2.1.1" +sdks: + dart: ">=3.4.0 <4.0.0" From d9d86ca2c43bd538a5eca0ecc66bd3d45fce8eca Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 08:57:09 +0800 Subject: [PATCH 03/22] Revert "more" This reverts commit 42b95b40966762b418b22871a1cf93c77d082439. --- frb_utils/.gitignore | 2 + frb_utils/pubspec.lock | 636 ----------------------------------------- 2 files changed, 2 insertions(+), 636 deletions(-) delete mode 100644 frb_utils/pubspec.lock diff --git a/frb_utils/.gitignore b/frb_utils/.gitignore index a87b4d268f..3a83c2f087 100644 --- a/frb_utils/.gitignore +++ b/frb_utils/.gitignore @@ -4,6 +4,8 @@ .dart_tool/ .packages build/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. diff --git a/frb_utils/pubspec.lock b/frb_utils/pubspec.lock deleted file mode 100644 index fe48595083..0000000000 --- a/frb_utils/pubspec.lock +++ /dev/null @@ -1,636 +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: "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49" - url: "https://pub.dev" - source: hosted - version: "65.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07 - url: "https://pub.dev" - source: hosted - version: "6.3.0" - archive: - dependency: transitive - description: - name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" - url: "https://pub.dev" - source: hosted - version: "3.4.9" - 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" - build: - dependency: transitive - description: - name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - build_cli: - dependency: "direct dev" - description: - name: build_cli - sha256: ce6a27bdf9c6a08c926c3dcbc07fe9ac512f6fcdc14230e40298799784035fb7 - url: "https://pub.dev" - source: hosted - version: "2.2.3" - build_cli_annotations: - dependency: "direct main" - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" - build_config: - dependency: transitive - description: - name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.dev" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" - url: "https://pub.dev" - source: hosted - version: "4.0.1" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" - source: hosted - version: "2.4.2" - build_runner: - dependency: "direct dev" - description: - name: build_runner - sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" - url: "https://pub.dev" - source: hosted - version: "2.4.7" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 - url: "https://pub.dev" - source: hosted - version: "7.2.11" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 - url: "https://pub.dev" - source: hosted - version: "8.8.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" - source: hosted - version: "2.0.3" - cli_config: - dependency: transitive - description: - name: cli_config - sha256: "65c7830649e1f8247660f1b783effb460255d6e2c1ac94eb823cf1f84e59b288" - url: "https://pub.dev" - source: hosted - version: "0.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 - url: "https://pub.dev" - source: hosted - version: "4.9.0" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" - url: "https://pub.dev" - source: hosted - version: "1.7.2" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" - url: "https://pub.dev" - source: hosted - version: "2.3.4" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 - url: "https://pub.dev" - source: hosted - version: "3.0.1" - flutter_rust_bridge: - dependency: "direct main" - description: - path: "../frb_dart" - relative: true - source: path - version: "2.7.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - glob: - dependency: "direct main" - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - graphs: - dependency: transitive - description: - name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - http: - dependency: transitive - description: - name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - 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: "direct main" - 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: transitive - description: - name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 - url: "https://pub.dev" - source: hosted - version: "3.0.0" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - meta: - dependency: transitive - description: - name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - native_assets_cli: - dependency: "direct main" - description: - name: native_assets_cli - sha256: "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - 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: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" - 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" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 - url: "https://pub.dev" - source: hosted - version: "1.2.3" - puppeteer: - dependency: "direct main" - description: - name: puppeteer - sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 - url: "https://pub.dev" - source: hosted - version: "3.6.0" - recase: - dependency: "direct main" - description: - name: recase - sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 - url: "https://pub.dev" - source: hosted - version: "4.1.0" - shelf: - dependency: "direct main" - 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: "direct main" - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: "direct main" - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" - url: "https://pub.dev" - source: hosted - version: "1.3.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: transitive - 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" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - 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: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f - url: "https://pub.dev" - source: hosted - version: "1.24.9" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - test_core: - dependency: "direct main" - description: - name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a - url: "https://pub.dev" - source: hosted - version: "0.5.9" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 - url: "https://pub.dev" - source: hosted - version: "13.0.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" - url: "https://pub.dev" - source: hosted - version: "0.5.1" - web_socket_channel: - dependency: "direct main" - description: - name: web_socket_channel - sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" - url: "https://pub.dev" - source: hosted - version: "2.4.5" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - yaml_edit: - dependency: transitive - description: - name: yaml_edit - sha256: "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd" - url: "https://pub.dev" - source: hosted - version: "2.1.1" -sdks: - dart: ">=3.4.0 <4.0.0" From ba809b937db5014486a0a73af19ecd352d693afa Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 08:59:38 +0800 Subject: [PATCH 04/22] try bump --- frb_example/dart_minimal/pubspec.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frb_example/dart_minimal/pubspec.lock b/frb_example/dart_minimal/pubspec.lock index 5c4ee6e6d6..ad6e5510c6 100644 --- a/frb_example/dart_minimal/pubspec.lock +++ b/frb_example/dart_minimal/pubspec.lock @@ -443,10 +443,10 @@ packages: dependency: transitive description: name: puppeteer - sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 + sha256: "7a990c68d33882b642214c351f66492d9a738afa4226a098ab70642357337fa2" url: "https://pub.dev" source: hosted - version: "3.6.0" + version: "3.16.0" quiver: dependency: transitive description: From ba156a5f683b4a713f9364b95e859a08a49b2ea0 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:04:39 +0800 Subject: [PATCH 05/22] temp --- .github/workflows/ci.yaml | 1000 ------------------------------------- 1 file changed, 1000 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2011fe0315..a9287c9da4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,608 +18,6 @@ concurrency: cancel-in-progress: true jobs: - # ----------------------------------- deploy ----------------------------------- - - # ref https://docusaurus.io/docs/deployment#triggering-deployment-with-github-actions - deploy_website: - name: 'Deploy :: Website' - runs-on: ubuntu-latest - - steps: - # setup - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: nightly - target: wasm32-unknown-unknown - components: rust-src,rustfmt - - uses: actions/setup-node@v3 - with: - node-version: 18 - cache: yarn - cache-dependency-path: website/yarn.lock - - name: Setup mdBook - uses: peaceiris/actions-mdbook@v1 - with: - mdbook-version: "latest" - - name: Setup `mdbook-mermaid` - run: cargo install mdbook-mermaid - - # execute - - run: ./frb_internal generate-website - - # deploy - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - if: ${{ github.ref == 'refs/heads/master' }} - with: - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: ./website/merged_target/flutter_rust_bridge - - # ----------------------------------- lint ----------------------------------- - - lint_rust_primary: - name: 'Lint :: Rust :: Primary' - runs-on: ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt, clippy - - run: |- - rustup toolchain install nightly - rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu - rustup target add wasm32-unknown-unknown - - # execute - - run: ./frb_internal lint-rust - - lint_dart_primary: - name: 'Lint :: Dart :: Primary' - runs-on: ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - - # execute - - run: ./frb_internal lint-dart - - lint_rust_feature_flag: - name: 'Lint :: Rust :: Feature flag' - runs-on: ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt, clippy - - uses: taiki-e/install-action@cargo-hack - - run: |- - rustup toolchain install nightly - rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu - rustup target add wasm32-unknown-unknown - - # execute - - run: ./frb_internal lint-rust-feature-flag - - # ----------------------------------- codegen ----------------------------------- - # instead of running this explicit test for frb_codegen and frb_rust only, we run the test for - # all rust packages in the job "test_rust". While this would not be needed for these other packages, - # we avoid a ci dependency to cargo-msrv. - # However, the code is left commented here in case this decission changes. - # msrv: - # name: 'Test :: FRB Codegen :: MSRV' - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v2 - - # - name: Install Rust - # uses: actions-rs/toolchain@v1 - # with: - # toolchain: stable - - # - name: Verify MSRV for frb_codegen - # run: | - # cargo install cargo-msrv - # cargo msrv --path frb_codegen verify - - # - name: Verify MSRV for frb_rust - # run: | - # cargo install cargo-msrv - # cargo msrv --path frb_rust verify - - generate_run_frb_codegen_command_generate: - name: 'Generate :: FRB Codegen :: Command Generate' - runs-on: ${{ matrix.image }} - - strategy: - fail-fast: false - matrix: - image: - - windows-2019 - - macos-13 - - ubuntu-20.04 - package: - - frb_example--dart_minimal - - frb_example--pure_dart - - frb_example--pure_dart_pde - - frb_example--dart_build_rs - - frb_example--deliberate_bad - - frb_example--integrate_third_party - - frb_example--flutter_via_create - - frb_example--flutter_via_integrate - - frb_example--flutter_package - - frb_example--rust_ui_counter--ui - - frb_example--rust_ui_todo_list--ui - exclude: - - { image: windows-2019, package: frb_example--deliberate_bad } - - { image: macos-13, package: frb_example--deliberate_bad } - - { image: windows-2019, package: frb_example--integrate_third_party } - - { image: macos-13, package: frb_example--integrate_third_party } - - { image: windows-2019, package: frb_example--flutter_via_integrate } - - { image: macos-13, package: frb_example--flutter_via_integrate } - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt, clippy - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal generate-run-frb-codegen-command-generate --set-exit-if-changed --package ${{ matrix.package }} --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage - path: target/coverage - - generate_run_frb_codegen_command_integrate: - name: 'Generate :: FRB Codegen :: Command Integrate' - runs-on: ${{ matrix.image }} - env: - RUST_LOG: debug - - strategy: - fail-fast: false - matrix: - image: - - macos-13 - - windows-2019 - - ubuntu-20.04 - package: - - frb_example--flutter_via_create - - frb_example--flutter_via_integrate - - frb_example--flutter_package - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt, clippy - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal generate-run-frb-codegen-command-integrate --set-exit-if-changed --package ${{ matrix.package }} --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage - path: target/coverage - - generate_internal: - name: 'Generate :: Internal' - runs-on: ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt, clippy - - run: rustup toolchain install nightly && rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu - - run: yarn global add all-contributors-cli - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal generate-internal --set-exit-if-changed --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--coverage - path: target/coverage - - # ----------------------------------- bench ----------------------------------- - - bench_dart_native: - name: 'Bench :: Dart :: Native' - runs-on: ${{ matrix.image }} - strategy: - fail-fast: false - matrix: - image: - - windows-2019 - - macos-13 - - ubuntu-20.04 - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - # execute - - run: ./frb_internal bench-dart-native - - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.image }}--benchmark - path: frb_example/pure_dart/build/simple_benchmark/benchmark_result.json - - bench_upload: - name: 'Bench :: Upload' - runs-on: ubuntu-latest - # NOTE Even if some previous jobs failed, we still want partial info - if: ${{ always() && !cancelled() }} - needs: - # NOTE We do this to ensure bench upload *after* deploy website. - # Otherwise, if they are run concurrently, they can push to git at the same time, causing failure for one of them - - deploy_website - - bench_dart_native - - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Download artifacts - uses: actions/download-artifact@v4 - with: - path: downloaded-artifacts/ - pattern: '*-benchmark' - - run: tree downloaded-artifacts - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - - run: ./frb_internal bench-merge - - - uses: benchmark-action/github-action-benchmark@v1 - # Warn: https://github.com/benchmark-action/github-action-benchmark?tab=readme-ov-file#run-only-on-your-branches - if: github.event_name != 'pull_request' - with: - name: Flutter Rust Bridge Benchmark - tool: customSmallerIsBetter - output-file-path: merged_benchmark.json - github-token: ${{ secrets.GITHUB_TOKEN }} - auto-push: true - - # ----------------------------------- build ----------------------------------- - - build_flutter: - name: 'Build :: Flutter' - runs-on: ${{ matrix.info.image }} - strategy: - fail-fast: false - matrix: - info: - - image: windows-2019 - target: windows - - image: macos-13 - target: macos - - image: ubuntu-latest - target: linux - - image: ubuntu-latest - target: android-aab - - image: ubuntu-latest - target: android-apk - - image: macos-13 - target: ios - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites - - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - # execute - - run: ./frb_internal build-flutter --target ${{ matrix.info.target }} - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.info.target }}--output - path: target/build_flutter_output - - # ----------------------------------- test ----------------------------------- - - test_mimic_quickstart: - name: 'Test :: MimicQuickstart' - runs-on: ${{ matrix.image }} - strategy: - fail-fast: false - matrix: - image: - - windows-2019 - # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 - - macos-13 - - ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites - - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev - - if: runner.os == 'Linux' - uses: pyvista/setup-headless-display-action@v3 - - # execute - - run: ./frb_internal test-mimic-quickstart - - test_upgrade: - name: 'Test :: Upgrade' - runs-on: ${{ matrix.image }} - strategy: - fail-fast: false - matrix: - image: - - windows-2019 - # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 - - macos-13 - - ubuntu-latest - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites - - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev - - if: runner.os == 'Linux' - uses: pyvista/setup-headless-display-action@v3 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal test-upgrade - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.image }}--coverage - path: target/coverage - - test_rust: - name: 'Test :: Rust' - runs-on: ${{ matrix.info.image }} - strategy: - fail-fast: false - matrix: - info: - # run on various platforms - - image: macos-13 - version: '' - - image: windows-2019 - version: '' - - image: ubuntu-latest - version: '' - # run on various rust versions - - image: ubuntu-latest - version: nightly - # tests the MSRV - # run on all rust packages, though only needed for frb_rust and frb_codegen - - image: ubuntu-latest - # update this, if a later MSRV is needed - version: 1.83.0 - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ matrix.info.version || env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - # TODO cache (for rust-toolchain, also for cargo build) - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal test-rust --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.info.image }}--${{ matrix.info.version }}--coverage - path: target/coverage - - test_dart_native: - name: 'Test :: Dart :: Native' - runs-on: ${{ matrix.image }} - strategy: - fail-fast: false - matrix: - image: - - windows-2019 - - macos-13 - - ubuntu-20.04 - package: - - frb_dart - - frb_utils - - tools--frb_internal - - frb_example--dart_minimal - - frb_example--pure_dart - - frb_example--pure_dart_pde - - frb_example--dart_build_rs - - frb_example--deliberate_bad - exclude: - - { image: windows-2019, package: frb_utils } - - { image: macos-13, package: frb_utils } - - { image: windows-2019, package: tools--frb_internal } - - { image: macos-13, package: tools--frb_internal } - - { image: windows-2019, package: frb_example--deliberate_bad } - - { image: macos-13, package: frb_example--deliberate_bad } - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - uses: taiki-e/install-action@cargo-llvm-cov - - # execute - - run: ./frb_internal test-dart-native --package ${{ matrix.package }} --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage - path: target/coverage - test_dart_web: name: 'Test :: Dart :: Web' runs-on: ubuntu-latest @@ -627,11 +25,7 @@ jobs: fail-fast: false matrix: package: - - frb_dart - frb_example--dart_minimal - - frb_example--pure_dart - - frb_example--pure_dart_pde - # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` steps: # setup @@ -670,397 +64,3 @@ jobs: # execute - run: ./frb_internal test-dart-web --package ${{ matrix.package }} - - test_dart_valgrind: - name: 'Test :: Dart :: Valgrind' - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - package: - - frb_example--dart_minimal - - frb_example--pure_dart - - frb_example--pure_dart_pde - # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - run: sudo apt-get update - - # execute - - run: ./frb_internal test-dart-valgrind --package ${{ matrix.package }} - - test_dart_sanitizer: - name: 'Test :: Dart :: Sanitizer' - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - sanitizer: - - asan - - msan - - lsan - # Every time we build TSAN in https://github.com/fzyzcjy/dart_lang_ci, it fails near the end. - # Since it is unlikely we will have thread issues, we temporarily disable TSAN now. - # - tsan - package: - - frb_example--dart_minimal - - frb_example--pure_dart - - frb_example--pure_dart_pde - # - frb_example--deliberate_bad # wait for https://github.com/rust-lang/rust/issues/111073 - # no need for `frb_example--dart_build_rs` - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - components: rustfmt - - run: |- - rustup toolchain install nightly - rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu - - uses: dart-lang/setup-dart@v1 - with: - sdk: ${{ env.FRB_MAIN_DART_VERSION }} - architecture: x64 - - # execute - - run: ./frb_internal test-dart-sanitizer --package ${{ matrix.package }} --sanitizer ${{ matrix.sanitizer }} - - # ref https://betterprogramming.pub/test-flutter-apps-on-android-with-github-actions-abdba2137b4 - test_flutter_native_android: - name: 'Test :: Flutter :: Native:: Android' - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - package: - - frb_example--flutter_via_create - - frb_example--flutter_package--example - - frb_example--rust_ui_counter--ui - - frb_example--rust_ui_todo_list--ui - # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` - device: - - "pixel" - - "Nexus 6" - api-level: [ 29 ] - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - # Otherwise it fails and Flutter doctor say "You need Java 11 or higher to build your app with this version of Gradle." - - uses: actions/setup-java@v2 - with: - distribution: 'zulu' - java-version: "17.x" - - name: Enable KVM group perms - run: | - echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules - sudo udevadm control --reload-rules - sudo udevadm trigger --name-match=kvm - - name: AVD cache - uses: actions/cache@v3 - id: avd-cache - with: - path: | - ~/.android/avd/* - ~/.android/adb* - key: avd-api-level-${{ matrix.api-level }} - - name: Create AVD and generate snapshot for caching - if: steps.avd-cache.outputs.cache-hit != 'true' - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - force-avd-creation: false - # emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none - # disable-animations: false - script: echo "Generated AVD snapshot for caching." - - # execute - - uses: reactivecircus/android-emulator-runner@v2 - with: - api-level: ${{ matrix.api-level }} - # emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim - # arch: x86_64 - profile: ${{ matrix.device }} - script: ./frb_internal test-flutter-native --package ${{ matrix.package }} - - # ref https://medium.com/flutter-community/run-flutter-driver-tests-on-github-actions-13c639c7e4ab - test_flutter_native_ios: - name: 'Test :: Flutter :: Native:: iOS' - runs-on: macos-latest - strategy: - fail-fast: false - matrix: - package: - - frb_example--flutter_via_create - - frb_example--flutter_package--example - - frb_example--rust_ui_counter--ui - - frb_example--rust_ui_todo_list--ui - # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` - device: - - "iPad (10th generation) Simulator (17.2)" - - "iPhone 15 Pro Max Simulator (17.2)" - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: "Start Simulator" - run: | - # list all devices - xcrun xctrace list devices - # the extra "(" is to avoid matching things like "iPhone 12 Pro Max Simulator (16.2) + Apple Watch Series 5 - 44mm (8.0)" - UDID=$(xcrun xctrace list devices | grep '${{ matrix.device }} (' | awk '{print $NF}' | tr -d '()') - echo UDID=$UDID - xcrun simctl boot "${UDID:?No Simulator with this name found}" - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - # execute - - run: ./frb_internal test-flutter-native --package ${{ matrix.package }} - - test_flutter_native_desktop: - name: 'Test :: Flutter :: Native:: ${{ matrix.info.platform }} (${{ matrix.info.package }})' - runs-on: ${{ matrix.info.image }} - strategy: - fail-fast: false - matrix: - info: - - image: windows-2019 - platform: windows - package: frb_example--flutter_via_create - # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 - - image: macos-13 - platform: macos - package: frb_example--flutter_via_create - - image: ubuntu-latest - platform: linux - package: frb_example--flutter_via_create - - - image: windows-2019 - platform: windows - package: frb_example--flutter_package--example - - image: macos-13 - platform: macos - package: frb_example--flutter_package--example - - image: ubuntu-latest - platform: linux - package: frb_example--flutter_package--example - - - image: windows-2019 - platform: windows - package: frb_example--rust_ui_counter--ui - - image: macos-13 - platform: macos - package: frb_example--rust_ui_counter--ui - - image: ubuntu-latest - platform: linux - package: frb_example--rust_ui_counter--ui - - - image: windows-2019 - platform: windows - package: frb_example--rust_ui_todo_list--ui - - image: macos-13 - platform: macos - package: frb_example--rust_ui_todo_list--ui - - image: ubuntu-latest - platform: linux - package: frb_example--rust_ui_todo_list--ui - - # only slightly test `flutter_via_integrate` since quite similar to `flutter_via_create` - - image: ubuntu-latest - platform: linux - package: frb_example--flutter_via_integrate - # only slightly test `gallery`, since mainly used on web - - image: ubuntu-latest - platform: linux - package: frb_example--gallery - # only slightly test `integrate_third_party`, since the main point is not this - - image: ubuntu-latest - platform: linux - package: frb_example--integrate_third_party - - steps: - # setup - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites - - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev - - if: runner.os == 'Linux' - uses: pyvista/setup-headless-display-action@v3 - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - # execute - - run: ./frb_internal test-flutter-native --flutter-test-args '--device-id ${{ matrix.info.platform }}' --package ${{ matrix.info.package }} - - test_flutter_web: - name: 'Test :: Flutter :: Web' - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - package: - - frb_example--flutter_via_create - # no `frb_example--flutter_package--example` yet - # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` - - frb_example--gallery - - steps: - - uses: catchpoint/workflow-telemetry-action@v1 - with: - comment_on_pr: false - - uses: actions/checkout@v4 - with: - submodules: recursive - - uses: subosito/flutter-action@v2 - with: - cache: true - flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} - architecture: x64 - - uses: dtolnay/rust-toolchain@stable - with: - toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} - - uses: taiki-e/install-action@cargo-llvm-cov - - run: |- - rustup toolchain install nightly - rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu - - uses: nanasess/setup-chromedriver@v2 - # ref https://github.com/dewbambs/flutter_github_actions/blob/dev/.github/workflows/e2e_test.yml - - run: |- - sleep 15 - export DISPLAY=:99 - chromedriver --port=4444 --verbose & - sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & - - sleep 15 - lsof -i :4444 - - # execute - - run: ./frb_internal test-flutter-web --package ${{ matrix.package }} --coverage - - # report - - uses: actions/upload-artifact@v4 - with: - name: ${{ github.job }}--${{ matrix.package }}--coverage - path: target/coverage - - # ----------------------------------- misc ----------------------------------- - - # Why one separate codecov job: Otherwise, when some jobs upload artifact while some not, - # the (partial) coverage will show up and be very low - which surely does not reflect actual coverage. - misc_codecov: - name: 'Misc :: Codecov' - runs-on: ubuntu-latest - # NOTE Even if some previous jobs failed, we still want partial info - if: ${{ always() && !cancelled() }} - # NOTE need to depend on *all* jobs that may generate codecov artifacts - needs: - - generate_run_frb_codegen_command_generate - - generate_run_frb_codegen_command_integrate - - generate_internal - - test_upgrade - - test_rust - - test_dart_native - - test_flutter_web - - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - name: Download artifacts - uses: actions/download-artifact@v4 - with: - path: downloaded-artifacts/ - pattern: '*-coverage' - - run: tree downloaded-artifacts - - - uses: codecov/codecov-action@v3 - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - with: - directory: downloaded-artifacts - verbose: true - -# GitHub actions errors: `no space left on device`, thus temp skip it, since it does not introduce any new checks -# misc_check_precommit: -# name: 'Misc :: Check precommit' -# runs-on: ubuntu-latest -# -# strategy: -# fail-fast: false -# matrix: -# mode: -# - fast -# - slow -# -# steps: -# # setup -# - uses: catchpoint/workflow-telemetry-action@v1 -# with: -# comment_on_pr: false -# - uses: actions/checkout@v4 -# with: -# submodules: recursive -# - uses: dtolnay/rust-toolchain@stable -# with: -# toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} -# components: rustfmt, clippy -# - run: | -# rustup toolchain install nightly -# rustup target add wasm32-unknown-unknown -# rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu -# cargo install cargo-expand -# - uses: subosito/flutter-action@v2 -# with: -# cache: true -# flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} -# -# # execute -# - run: ./frb_internal precommit --mode ${{ matrix.mode }} From 0f453d24aa6e8f0098da18b328ff1aca7dd1af4d Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:16:25 +0800 Subject: [PATCH 06/22] more --- frb_utils/lib/src/dart_web_test_utils/run_test.dart | 7 +++++++ frb_utils/pubspec.yaml | 1 + 2 files changed, 8 insertions(+) diff --git a/frb_utils/lib/src/dart_web_test_utils/run_test.dart b/frb_utils/lib/src/dart_web_test_utils/run_test.dart index 4b264c5123..7974983e43 100644 --- a/frb_utils/lib/src/dart_web_test_utils/run_test.dart +++ b/frb_utils/lib/src/dart_web_test_utils/run_test.dart @@ -9,6 +9,7 @@ import 'package:flutter_rust_bridge_utils/src/commands/serve_web_command.dart'; import 'package:flutter_rust_bridge_utils/src/commands/test_web_command.dart'; import 'package:flutter_rust_bridge_utils/src/dart_web_test_utils/static_content.dart'; import 'package:flutter_rust_bridge_utils/src/serve_web/run_server.dart'; +import 'package:logging/logging.dart'; import 'package:path/path.dart' as path; import 'package:puppeteer/puppeteer.dart' hide Response; import 'package:shelf/shelf.dart'; @@ -17,6 +18,12 @@ import 'package:shelf_web_socket/shelf_web_socket.dart'; const kTestResultKey = '__result__'; Future executeTestWeb(TestWebConfig config) async { + // puppeteer uses logging + Logger.root + ..level = Level.ALL + ..onRecord.listen((record) => + print('${record.level.name}: ${record.time}: ${record.message}')); + final dartRoot = await findDartPackageDirectory(path.dirname(config.entrypoint)); final webRoot = '$dartRoot/web'; diff --git a/frb_utils/pubspec.yaml b/frb_utils/pubspec.yaml index 3e531b5942..8e32fc8e66 100644 --- a/frb_utils/pubspec.yaml +++ b/frb_utils/pubspec.yaml @@ -22,6 +22,7 @@ dependencies: js: ^0.6.4 test_core: ^0.5.9 path: ^1.8.1 + logging: ^1.0.0 dev_dependencies: build_runner: ^2.2.0 From 06a6e02ddb367fd3639bcd085d12b73eb65a916d Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:19:18 +0800 Subject: [PATCH 07/22] more --- frb_utils/lib/src/dart_web_test_utils/run_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frb_utils/lib/src/dart_web_test_utils/run_test.dart b/frb_utils/lib/src/dart_web_test_utils/run_test.dart index 7974983e43..f33f73d9d3 100644 --- a/frb_utils/lib/src/dart_web_test_utils/run_test.dart +++ b/frb_utils/lib/src/dart_web_test_utils/run_test.dart @@ -20,7 +20,7 @@ const kTestResultKey = '__result__'; Future executeTestWeb(TestWebConfig config) async { // puppeteer uses logging Logger.root - ..level = Level.ALL + ..level = Level.INFO ..onRecord.listen((record) => print('${record.level.name}: ${record.time}: ${record.message}')); From 086600fa4d2afd849340f43d9443e478f578f840 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:19:25 +0800 Subject: [PATCH 08/22] more --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a9287c9da4..1d9c4bb337 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,7 +20,7 @@ concurrency: jobs: test_dart_web: name: 'Test :: Dart :: Web' - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: From a552810c3de4a974a87d584334a39526d670ee67 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:22:00 +0800 Subject: [PATCH 09/22] more --- .github/workflows/ci.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1d9c4bb337..4084242259 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,12 +20,13 @@ concurrency: jobs: test_dart_web: name: 'Test :: Dart :: Web' - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: fail-fast: false matrix: package: - frb_example--dart_minimal + # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` steps: # setup @@ -35,6 +36,10 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + # https://github.com/puppeteer/puppeteer/pull/13196 + - name: Disable AppArmor + if: ${{ matrix.os == 'ubuntu-latest' }} + run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: dart-lang/setup-dart@v1 with: sdk: ${{ env.FRB_MAIN_DART_VERSION }} From 1840e577ed142571d9084bee2d222be46712591a Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:23:02 +0800 Subject: [PATCH 10/22] more --- .github/workflows/ci.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4084242259..567c76f80c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -38,7 +38,6 @@ jobs: submodules: recursive # https://github.com/puppeteer/puppeteer/pull/13196 - name: Disable AppArmor - if: ${{ matrix.os == 'ubuntu-latest' }} run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: dart-lang/setup-dart@v1 with: From 15d1f84d63c0dbafb13960622245e6f021601b80 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 11/22] Revert "more" This reverts commit 1840e577ed142571d9084bee2d222be46712591a. --- .github/workflows/ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 567c76f80c..4084242259 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -38,6 +38,7 @@ jobs: submodules: recursive # https://github.com/puppeteer/puppeteer/pull/13196 - name: Disable AppArmor + if: ${{ matrix.os == 'ubuntu-latest' }} run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: dart-lang/setup-dart@v1 with: From 449e0dadcae099bd4f3011cb1719be16bd428a0e Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 12/22] Revert "more" This reverts commit a552810c3de4a974a87d584334a39526d670ee67. --- .github/workflows/ci.yaml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4084242259..1d9c4bb337 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,13 +20,12 @@ concurrency: jobs: test_dart_web: name: 'Test :: Dart :: Web' - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: package: - frb_example--dart_minimal - # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` steps: # setup @@ -36,10 +35,6 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive - # https://github.com/puppeteer/puppeteer/pull/13196 - - name: Disable AppArmor - if: ${{ matrix.os == 'ubuntu-latest' }} - run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: dart-lang/setup-dart@v1 with: sdk: ${{ env.FRB_MAIN_DART_VERSION }} From cad4ca9b1880a32cb7d1eaaf326fef6d40edfbcf Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 13/22] Revert "more" This reverts commit 086600fa4d2afd849340f43d9443e478f578f840. --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 1d9c4bb337..a9287c9da4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -20,7 +20,7 @@ concurrency: jobs: test_dart_web: name: 'Test :: Dart :: Web' - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest strategy: fail-fast: false matrix: From 0aabd34a860e63646315376e5d2566ac8cd3d91c Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 14/22] Revert "more" This reverts commit 06a6e02ddb367fd3639bcd085d12b73eb65a916d. --- frb_utils/lib/src/dart_web_test_utils/run_test.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frb_utils/lib/src/dart_web_test_utils/run_test.dart b/frb_utils/lib/src/dart_web_test_utils/run_test.dart index f33f73d9d3..7974983e43 100644 --- a/frb_utils/lib/src/dart_web_test_utils/run_test.dart +++ b/frb_utils/lib/src/dart_web_test_utils/run_test.dart @@ -20,7 +20,7 @@ const kTestResultKey = '__result__'; Future executeTestWeb(TestWebConfig config) async { // puppeteer uses logging Logger.root - ..level = Level.INFO + ..level = Level.ALL ..onRecord.listen((record) => print('${record.level.name}: ${record.time}: ${record.message}')); From 519e629773371b344b165b49efcba428dbcb09db Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 15/22] Revert "more" This reverts commit 0f453d24aa6e8f0098da18b328ff1aca7dd1af4d. --- frb_utils/lib/src/dart_web_test_utils/run_test.dart | 7 ------- frb_utils/pubspec.yaml | 1 - 2 files changed, 8 deletions(-) diff --git a/frb_utils/lib/src/dart_web_test_utils/run_test.dart b/frb_utils/lib/src/dart_web_test_utils/run_test.dart index 7974983e43..4b264c5123 100644 --- a/frb_utils/lib/src/dart_web_test_utils/run_test.dart +++ b/frb_utils/lib/src/dart_web_test_utils/run_test.dart @@ -9,7 +9,6 @@ import 'package:flutter_rust_bridge_utils/src/commands/serve_web_command.dart'; import 'package:flutter_rust_bridge_utils/src/commands/test_web_command.dart'; import 'package:flutter_rust_bridge_utils/src/dart_web_test_utils/static_content.dart'; import 'package:flutter_rust_bridge_utils/src/serve_web/run_server.dart'; -import 'package:logging/logging.dart'; import 'package:path/path.dart' as path; import 'package:puppeteer/puppeteer.dart' hide Response; import 'package:shelf/shelf.dart'; @@ -18,12 +17,6 @@ import 'package:shelf_web_socket/shelf_web_socket.dart'; const kTestResultKey = '__result__'; Future executeTestWeb(TestWebConfig config) async { - // puppeteer uses logging - Logger.root - ..level = Level.ALL - ..onRecord.listen((record) => - print('${record.level.name}: ${record.time}: ${record.message}')); - final dartRoot = await findDartPackageDirectory(path.dirname(config.entrypoint)); final webRoot = '$dartRoot/web'; diff --git a/frb_utils/pubspec.yaml b/frb_utils/pubspec.yaml index 8e32fc8e66..3e531b5942 100644 --- a/frb_utils/pubspec.yaml +++ b/frb_utils/pubspec.yaml @@ -22,7 +22,6 @@ dependencies: js: ^0.6.4 test_core: ^0.5.9 path: ^1.8.1 - logging: ^1.0.0 dev_dependencies: build_runner: ^2.2.0 From cae00bf0cbf2f482e501c69e00febe85272fed87 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 16/22] Revert "temp" This reverts commit ba156a5f683b4a713f9364b95e859a08a49b2ea0. --- .github/workflows/ci.yaml | 1000 +++++++++++++++++++++++++++++++++++++ 1 file changed, 1000 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index a9287c9da4..2011fe0315 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -18,6 +18,608 @@ concurrency: cancel-in-progress: true jobs: + # ----------------------------------- deploy ----------------------------------- + + # ref https://docusaurus.io/docs/deployment#triggering-deployment-with-github-actions + deploy_website: + name: 'Deploy :: Website' + runs-on: ubuntu-latest + + steps: + # setup + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: nightly + target: wasm32-unknown-unknown + components: rust-src,rustfmt + - uses: actions/setup-node@v3 + with: + node-version: 18 + cache: yarn + cache-dependency-path: website/yarn.lock + - name: Setup mdBook + uses: peaceiris/actions-mdbook@v1 + with: + mdbook-version: "latest" + - name: Setup `mdbook-mermaid` + run: cargo install mdbook-mermaid + + # execute + - run: ./frb_internal generate-website + + # deploy + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.ref == 'refs/heads/master' }} + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./website/merged_target/flutter_rust_bridge + + # ----------------------------------- lint ----------------------------------- + + lint_rust_primary: + name: 'Lint :: Rust :: Primary' + runs-on: ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt, clippy + - run: |- + rustup toolchain install nightly + rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu + rustup target add wasm32-unknown-unknown + + # execute + - run: ./frb_internal lint-rust + + lint_dart_primary: + name: 'Lint :: Dart :: Primary' + runs-on: ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + + # execute + - run: ./frb_internal lint-dart + + lint_rust_feature_flag: + name: 'Lint :: Rust :: Feature flag' + runs-on: ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt, clippy + - uses: taiki-e/install-action@cargo-hack + - run: |- + rustup toolchain install nightly + rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu + rustup target add wasm32-unknown-unknown + + # execute + - run: ./frb_internal lint-rust-feature-flag + + # ----------------------------------- codegen ----------------------------------- + # instead of running this explicit test for frb_codegen and frb_rust only, we run the test for + # all rust packages in the job "test_rust". While this would not be needed for these other packages, + # we avoid a ci dependency to cargo-msrv. + # However, the code is left commented here in case this decission changes. + # msrv: + # name: 'Test :: FRB Codegen :: MSRV' + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + + # - name: Install Rust + # uses: actions-rs/toolchain@v1 + # with: + # toolchain: stable + + # - name: Verify MSRV for frb_codegen + # run: | + # cargo install cargo-msrv + # cargo msrv --path frb_codegen verify + + # - name: Verify MSRV for frb_rust + # run: | + # cargo install cargo-msrv + # cargo msrv --path frb_rust verify + + generate_run_frb_codegen_command_generate: + name: 'Generate :: FRB Codegen :: Command Generate' + runs-on: ${{ matrix.image }} + + strategy: + fail-fast: false + matrix: + image: + - windows-2019 + - macos-13 + - ubuntu-20.04 + package: + - frb_example--dart_minimal + - frb_example--pure_dart + - frb_example--pure_dart_pde + - frb_example--dart_build_rs + - frb_example--deliberate_bad + - frb_example--integrate_third_party + - frb_example--flutter_via_create + - frb_example--flutter_via_integrate + - frb_example--flutter_package + - frb_example--rust_ui_counter--ui + - frb_example--rust_ui_todo_list--ui + exclude: + - { image: windows-2019, package: frb_example--deliberate_bad } + - { image: macos-13, package: frb_example--deliberate_bad } + - { image: windows-2019, package: frb_example--integrate_third_party } + - { image: macos-13, package: frb_example--integrate_third_party } + - { image: windows-2019, package: frb_example--flutter_via_integrate } + - { image: macos-13, package: frb_example--flutter_via_integrate } + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt, clippy + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal generate-run-frb-codegen-command-generate --set-exit-if-changed --package ${{ matrix.package }} --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage + path: target/coverage + + generate_run_frb_codegen_command_integrate: + name: 'Generate :: FRB Codegen :: Command Integrate' + runs-on: ${{ matrix.image }} + env: + RUST_LOG: debug + + strategy: + fail-fast: false + matrix: + image: + - macos-13 + - windows-2019 + - ubuntu-20.04 + package: + - frb_example--flutter_via_create + - frb_example--flutter_via_integrate + - frb_example--flutter_package + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt, clippy + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal generate-run-frb-codegen-command-integrate --set-exit-if-changed --package ${{ matrix.package }} --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage + path: target/coverage + + generate_internal: + name: 'Generate :: Internal' + runs-on: ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt, clippy + - run: rustup toolchain install nightly && rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu + - run: yarn global add all-contributors-cli + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal generate-internal --set-exit-if-changed --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--coverage + path: target/coverage + + # ----------------------------------- bench ----------------------------------- + + bench_dart_native: + name: 'Bench :: Dart :: Native' + runs-on: ${{ matrix.image }} + strategy: + fail-fast: false + matrix: + image: + - windows-2019 + - macos-13 + - ubuntu-20.04 + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + + # execute + - run: ./frb_internal bench-dart-native + + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.image }}--benchmark + path: frb_example/pure_dart/build/simple_benchmark/benchmark_result.json + + bench_upload: + name: 'Bench :: Upload' + runs-on: ubuntu-latest + # NOTE Even if some previous jobs failed, we still want partial info + if: ${{ always() && !cancelled() }} + needs: + # NOTE We do this to ensure bench upload *after* deploy website. + # Otherwise, if they are run concurrently, they can push to git at the same time, causing failure for one of them + - deploy_website + - bench_dart_native + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + path: downloaded-artifacts/ + pattern: '*-benchmark' + - run: tree downloaded-artifacts + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + + - run: ./frb_internal bench-merge + + - uses: benchmark-action/github-action-benchmark@v1 + # Warn: https://github.com/benchmark-action/github-action-benchmark?tab=readme-ov-file#run-only-on-your-branches + if: github.event_name != 'pull_request' + with: + name: Flutter Rust Bridge Benchmark + tool: customSmallerIsBetter + output-file-path: merged_benchmark.json + github-token: ${{ secrets.GITHUB_TOKEN }} + auto-push: true + + # ----------------------------------- build ----------------------------------- + + build_flutter: + name: 'Build :: Flutter' + runs-on: ${{ matrix.info.image }} + strategy: + fail-fast: false + matrix: + info: + - image: windows-2019 + target: windows + - image: macos-13 + target: macos + - image: ubuntu-latest + target: linux + - image: ubuntu-latest + target: android-aab + - image: ubuntu-latest + target: android-apk + - image: macos-13 + target: ios + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites + - if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + + # execute + - run: ./frb_internal build-flutter --target ${{ matrix.info.target }} + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.info.target }}--output + path: target/build_flutter_output + + # ----------------------------------- test ----------------------------------- + + test_mimic_quickstart: + name: 'Test :: MimicQuickstart' + runs-on: ${{ matrix.image }} + strategy: + fail-fast: false + matrix: + image: + - windows-2019 + # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 + - macos-13 + - ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites + - if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + - if: runner.os == 'Linux' + uses: pyvista/setup-headless-display-action@v3 + + # execute + - run: ./frb_internal test-mimic-quickstart + + test_upgrade: + name: 'Test :: Upgrade' + runs-on: ${{ matrix.image }} + strategy: + fail-fast: false + matrix: + image: + - windows-2019 + # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 + - macos-13 + - ubuntu-latest + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites + - if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + - if: runner.os == 'Linux' + uses: pyvista/setup-headless-display-action@v3 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal test-upgrade + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.image }}--coverage + path: target/coverage + + test_rust: + name: 'Test :: Rust' + runs-on: ${{ matrix.info.image }} + strategy: + fail-fast: false + matrix: + info: + # run on various platforms + - image: macos-13 + version: '' + - image: windows-2019 + version: '' + - image: ubuntu-latest + version: '' + # run on various rust versions + - image: ubuntu-latest + version: nightly + # tests the MSRV + # run on all rust packages, though only needed for frb_rust and frb_codegen + - image: ubuntu-latest + # update this, if a later MSRV is needed + version: 1.83.0 + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ matrix.info.version || env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + # TODO cache (for rust-toolchain, also for cargo build) + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal test-rust --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.info.image }}--${{ matrix.info.version }}--coverage + path: target/coverage + + test_dart_native: + name: 'Test :: Dart :: Native' + runs-on: ${{ matrix.image }} + strategy: + fail-fast: false + matrix: + image: + - windows-2019 + - macos-13 + - ubuntu-20.04 + package: + - frb_dart + - frb_utils + - tools--frb_internal + - frb_example--dart_minimal + - frb_example--pure_dart + - frb_example--pure_dart_pde + - frb_example--dart_build_rs + - frb_example--deliberate_bad + exclude: + - { image: windows-2019, package: frb_utils } + - { image: macos-13, package: frb_utils } + - { image: windows-2019, package: tools--frb_internal } + - { image: macos-13, package: tools--frb_internal } + - { image: windows-2019, package: frb_example--deliberate_bad } + - { image: macos-13, package: frb_example--deliberate_bad } + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + - uses: taiki-e/install-action@cargo-llvm-cov + + # execute + - run: ./frb_internal test-dart-native --package ${{ matrix.package }} --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.image }}--${{ matrix.package }}--coverage + path: target/coverage + test_dart_web: name: 'Test :: Dart :: Web' runs-on: ubuntu-latest @@ -25,7 +627,11 @@ jobs: fail-fast: false matrix: package: + - frb_dart - frb_example--dart_minimal + - frb_example--pure_dart + - frb_example--pure_dart_pde + # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` steps: # setup @@ -64,3 +670,397 @@ jobs: # execute - run: ./frb_internal test-dart-web --package ${{ matrix.package }} + + test_dart_valgrind: + name: 'Test :: Dart :: Valgrind' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + package: + - frb_example--dart_minimal + - frb_example--pure_dart + - frb_example--pure_dart_pde + # no need for `frb_example--deliberate_bad`, `frb_example--dart_build_rs` + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + - run: sudo apt-get update + + # execute + - run: ./frb_internal test-dart-valgrind --package ${{ matrix.package }} + + test_dart_sanitizer: + name: 'Test :: Dart :: Sanitizer' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sanitizer: + - asan + - msan + - lsan + # Every time we build TSAN in https://github.com/fzyzcjy/dart_lang_ci, it fails near the end. + # Since it is unlikely we will have thread issues, we temporarily disable TSAN now. + # - tsan + package: + - frb_example--dart_minimal + - frb_example--pure_dart + - frb_example--pure_dart_pde + # - frb_example--deliberate_bad # wait for https://github.com/rust-lang/rust/issues/111073 + # no need for `frb_example--dart_build_rs` + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + components: rustfmt + - run: |- + rustup toolchain install nightly + rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu + - uses: dart-lang/setup-dart@v1 + with: + sdk: ${{ env.FRB_MAIN_DART_VERSION }} + architecture: x64 + + # execute + - run: ./frb_internal test-dart-sanitizer --package ${{ matrix.package }} --sanitizer ${{ matrix.sanitizer }} + + # ref https://betterprogramming.pub/test-flutter-apps-on-android-with-github-actions-abdba2137b4 + test_flutter_native_android: + name: 'Test :: Flutter :: Native:: Android' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + package: + - frb_example--flutter_via_create + - frb_example--flutter_package--example + - frb_example--rust_ui_counter--ui + - frb_example--rust_ui_todo_list--ui + # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` + device: + - "pixel" + - "Nexus 6" + api-level: [ 29 ] + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + # Otherwise it fails and Flutter doctor say "You need Java 11 or higher to build your app with this version of Gradle." + - uses: actions/setup-java@v2 + with: + distribution: 'zulu' + java-version: "17.x" + - name: Enable KVM group perms + run: | + echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules + sudo udevadm control --reload-rules + sudo udevadm trigger --name-match=kvm + - name: AVD cache + uses: actions/cache@v3 + id: avd-cache + with: + path: | + ~/.android/avd/* + ~/.android/adb* + key: avd-api-level-${{ matrix.api-level }} + - name: Create AVD and generate snapshot for caching + if: steps.avd-cache.outputs.cache-hit != 'true' + uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: ${{ matrix.api-level }} + force-avd-creation: false + # emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + # disable-animations: false + script: echo "Generated AVD snapshot for caching." + + # execute + - uses: reactivecircus/android-emulator-runner@v2 + with: + api-level: ${{ matrix.api-level }} + # emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim + # arch: x86_64 + profile: ${{ matrix.device }} + script: ./frb_internal test-flutter-native --package ${{ matrix.package }} + + # ref https://medium.com/flutter-community/run-flutter-driver-tests-on-github-actions-13c639c7e4ab + test_flutter_native_ios: + name: 'Test :: Flutter :: Native:: iOS' + runs-on: macos-latest + strategy: + fail-fast: false + matrix: + package: + - frb_example--flutter_via_create + - frb_example--flutter_package--example + - frb_example--rust_ui_counter--ui + - frb_example--rust_ui_todo_list--ui + # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` + device: + - "iPad (10th generation) Simulator (17.2)" + - "iPhone 15 Pro Max Simulator (17.2)" + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: "Start Simulator" + run: | + # list all devices + xcrun xctrace list devices + # the extra "(" is to avoid matching things like "iPhone 12 Pro Max Simulator (16.2) + Apple Watch Series 5 - 44mm (8.0)" + UDID=$(xcrun xctrace list devices | grep '${{ matrix.device }} (' | awk '{print $NF}' | tr -d '()') + echo UDID=$UDID + xcrun simctl boot "${UDID:?No Simulator with this name found}" + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + + # execute + - run: ./frb_internal test-flutter-native --package ${{ matrix.package }} + + test_flutter_native_desktop: + name: 'Test :: Flutter :: Native:: ${{ matrix.info.platform }} (${{ matrix.info.package }})' + runs-on: ${{ matrix.info.image }} + strategy: + fail-fast: false + matrix: + info: + - image: windows-2019 + platform: windows + package: frb_example--flutter_via_create + # need macos-"13" because https://github.com/fzyzcjy/flutter_rust_bridge/issues/1225 + - image: macos-13 + platform: macos + package: frb_example--flutter_via_create + - image: ubuntu-latest + platform: linux + package: frb_example--flutter_via_create + + - image: windows-2019 + platform: windows + package: frb_example--flutter_package--example + - image: macos-13 + platform: macos + package: frb_example--flutter_package--example + - image: ubuntu-latest + platform: linux + package: frb_example--flutter_package--example + + - image: windows-2019 + platform: windows + package: frb_example--rust_ui_counter--ui + - image: macos-13 + platform: macos + package: frb_example--rust_ui_counter--ui + - image: ubuntu-latest + platform: linux + package: frb_example--rust_ui_counter--ui + + - image: windows-2019 + platform: windows + package: frb_example--rust_ui_todo_list--ui + - image: macos-13 + platform: macos + package: frb_example--rust_ui_todo_list--ui + - image: ubuntu-latest + platform: linux + package: frb_example--rust_ui_todo_list--ui + + # only slightly test `flutter_via_integrate` since quite similar to `flutter_via_create` + - image: ubuntu-latest + platform: linux + package: frb_example--flutter_via_integrate + # only slightly test `gallery`, since mainly used on web + - image: ubuntu-latest + platform: linux + package: frb_example--gallery + # only slightly test `integrate_third_party`, since the main point is not this + - image: ubuntu-latest + platform: linux + package: frb_example--integrate_third_party + + steps: + # setup + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + # https://docs.flutter.dev/get-started/install/linux#linux-prerequisites + - if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + - if: runner.os == 'Linux' + uses: pyvista/setup-headless-display-action@v3 + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + + # execute + - run: ./frb_internal test-flutter-native --flutter-test-args '--device-id ${{ matrix.info.platform }}' --package ${{ matrix.info.package }} + + test_flutter_web: + name: 'Test :: Flutter :: Web' + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + package: + - frb_example--flutter_via_create + # no `frb_example--flutter_package--example` yet + # no `frb_example--flutter_via_integrate` since it is similar to `flutter_via_create` + - frb_example--gallery + + steps: + - uses: catchpoint/workflow-telemetry-action@v1 + with: + comment_on_pr: false + - uses: actions/checkout@v4 + with: + submodules: recursive + - uses: subosito/flutter-action@v2 + with: + cache: true + flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} + architecture: x64 + - uses: dtolnay/rust-toolchain@stable + with: + toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} + - uses: taiki-e/install-action@cargo-llvm-cov + - run: |- + rustup toolchain install nightly + rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu + - uses: nanasess/setup-chromedriver@v2 + # ref https://github.com/dewbambs/flutter_github_actions/blob/dev/.github/workflows/e2e_test.yml + - run: |- + sleep 15 + export DISPLAY=:99 + chromedriver --port=4444 --verbose & + sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & + + sleep 15 + lsof -i :4444 + + # execute + - run: ./frb_internal test-flutter-web --package ${{ matrix.package }} --coverage + + # report + - uses: actions/upload-artifact@v4 + with: + name: ${{ github.job }}--${{ matrix.package }}--coverage + path: target/coverage + + # ----------------------------------- misc ----------------------------------- + + # Why one separate codecov job: Otherwise, when some jobs upload artifact while some not, + # the (partial) coverage will show up and be very low - which surely does not reflect actual coverage. + misc_codecov: + name: 'Misc :: Codecov' + runs-on: ubuntu-latest + # NOTE Even if some previous jobs failed, we still want partial info + if: ${{ always() && !cancelled() }} + # NOTE need to depend on *all* jobs that may generate codecov artifacts + needs: + - generate_run_frb_codegen_command_generate + - generate_run_frb_codegen_command_integrate + - generate_internal + - test_upgrade + - test_rust + - test_dart_native + - test_flutter_web + + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + path: downloaded-artifacts/ + pattern: '*-coverage' + - run: tree downloaded-artifacts + + - uses: codecov/codecov-action@v3 + env: + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} + with: + directory: downloaded-artifacts + verbose: true + +# GitHub actions errors: `no space left on device`, thus temp skip it, since it does not introduce any new checks +# misc_check_precommit: +# name: 'Misc :: Check precommit' +# runs-on: ubuntu-latest +# +# strategy: +# fail-fast: false +# matrix: +# mode: +# - fast +# - slow +# +# steps: +# # setup +# - uses: catchpoint/workflow-telemetry-action@v1 +# with: +# comment_on_pr: false +# - uses: actions/checkout@v4 +# with: +# submodules: recursive +# - uses: dtolnay/rust-toolchain@stable +# with: +# toolchain: ${{ env.FRB_MAIN_RUST_VERSION }} +# components: rustfmt, clippy +# - run: | +# rustup toolchain install nightly +# rustup target add wasm32-unknown-unknown +# rustup component add rustfmt --toolchain nightly-x86_64-unknown-linux-gnu +# cargo install cargo-expand +# - uses: subosito/flutter-action@v2 +# with: +# cache: true +# flutter-version: ${{ env.FRB_MAIN_FLUTTER_VERSION }} +# +# # execute +# - run: ./frb_internal precommit --mode ${{ matrix.mode }} From 0d94ecd5cbfabf04d55a7d3f485c8352bad83afd Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 17/22] Revert "try bump" This reverts commit ba809b937db5014486a0a73af19ecd352d693afa. --- frb_example/dart_minimal/pubspec.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frb_example/dart_minimal/pubspec.lock b/frb_example/dart_minimal/pubspec.lock index ad6e5510c6..5c4ee6e6d6 100644 --- a/frb_example/dart_minimal/pubspec.lock +++ b/frb_example/dart_minimal/pubspec.lock @@ -443,10 +443,10 @@ packages: dependency: transitive description: name: puppeteer - sha256: "7a990c68d33882b642214c351f66492d9a738afa4226a098ab70642357337fa2" + sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 url: "https://pub.dev" source: hosted - version: "3.16.0" + version: "3.6.0" quiver: dependency: transitive description: From 1e17ea1b219abd1b6ca350e9fbda338eace48dbd Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 18/22] Revert "Revert "more"" This reverts commit d9d86ca2c43bd538a5eca0ecc66bd3d45fce8eca. --- frb_utils/.gitignore | 2 - frb_utils/pubspec.lock | 636 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 636 insertions(+), 2 deletions(-) create mode 100644 frb_utils/pubspec.lock diff --git a/frb_utils/.gitignore b/frb_utils/.gitignore index 3a83c2f087..a87b4d268f 100644 --- a/frb_utils/.gitignore +++ b/frb_utils/.gitignore @@ -4,8 +4,6 @@ .dart_tool/ .packages build/ -# If you're building an application, you may want to check-in your pubspec.lock -pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. diff --git a/frb_utils/pubspec.lock b/frb_utils/pubspec.lock new file mode 100644 index 0000000000..fe48595083 --- /dev/null +++ b/frb_utils/pubspec.lock @@ -0,0 +1,636 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49" + url: "https://pub.dev" + source: hosted + version: "65.0.0" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07 + url: "https://pub.dev" + source: hosted + version: "6.3.0" + archive: + dependency: transitive + description: + name: archive + sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" + url: "https://pub.dev" + source: hosted + version: "3.4.9" + 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" + build: + dependency: transitive + description: + name: build + sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + build_cli: + dependency: "direct dev" + description: + name: build_cli + sha256: ce6a27bdf9c6a08c926c3dcbc07fe9ac512f6fcdc14230e40298799784035fb7 + url: "https://pub.dev" + source: hosted + version: "2.2.3" + build_cli_annotations: + dependency: "direct main" + description: + name: build_cli_annotations + sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 + url: "https://pub.dev" + source: hosted + version: "2.1.0" + build_config: + dependency: transitive + description: + name: build_config + sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + url: "https://pub.dev" + source: hosted + version: "1.1.1" + build_daemon: + dependency: transitive + description: + name: build_daemon + sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + url: "https://pub.dev" + source: hosted + version: "4.0.1" + build_resolvers: + dependency: transitive + description: + name: build_resolvers + sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + url: "https://pub.dev" + source: hosted + version: "2.4.2" + build_runner: + dependency: "direct dev" + description: + name: build_runner + sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" + url: "https://pub.dev" + source: hosted + version: "2.4.7" + build_runner_core: + dependency: transitive + description: + name: build_runner_core + sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 + url: "https://pub.dev" + source: hosted + version: "7.2.11" + built_collection: + dependency: transitive + description: + name: built_collection + sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" + url: "https://pub.dev" + source: hosted + version: "5.1.1" + built_value: + dependency: transitive + description: + name: built_value + sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 + url: "https://pub.dev" + source: hosted + version: "8.8.1" + checked_yaml: + dependency: transitive + description: + name: checked_yaml + sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + url: "https://pub.dev" + source: hosted + version: "2.0.3" + cli_config: + dependency: transitive + description: + name: cli_config + sha256: "65c7830649e1f8247660f1b783effb460255d6e2c1ac94eb823cf1f84e59b288" + url: "https://pub.dev" + source: hosted + version: "0.1.2" + code_builder: + dependency: transitive + description: + name: code_builder + sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 + url: "https://pub.dev" + source: hosted + version: "4.9.0" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + coverage: + dependency: transitive + description: + name: coverage + sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" + url: "https://pub.dev" + source: hosted + version: "1.7.2" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + dart_style: + dependency: transitive + description: + name: dart_style + sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + url: "https://pub.dev" + source: hosted + version: "2.3.4" + file: + dependency: transitive + description: + name: file + sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + url: "https://pub.dev" + source: hosted + version: "7.0.0" + fixnum: + dependency: transitive + description: + name: fixnum + sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + url: "https://pub.dev" + source: hosted + version: "3.0.1" + flutter_rust_bridge: + dependency: "direct main" + description: + path: "../frb_dart" + relative: true + source: path + version: "2.7.0" + frontend_server_client: + dependency: transitive + description: + name: frontend_server_client + sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + url: "https://pub.dev" + source: hosted + version: "3.2.0" + glob: + dependency: "direct main" + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + graphs: + dependency: transitive + description: + name: graphs + sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + url: "https://pub.dev" + source: hosted + version: "2.3.1" + http: + dependency: transitive + description: + name: http + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + 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: "direct main" + 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: transitive + description: + name: lints + sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 + url: "https://pub.dev" + source: hosted + version: "3.0.0" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" + source: hosted + version: "0.12.16+1" + meta: + dependency: transitive + description: + name: meta + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" + source: hosted + version: "1.11.0" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" + native_assets_cli: + dependency: "direct main" + description: + name: native_assets_cli + sha256: "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3" + url: "https://pub.dev" + source: hosted + version: "0.2.0" + 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: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" + source: hosted + version: "1.9.0" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" + url: "https://pub.dev" + source: hosted + version: "3.7.3" + 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" + pubspec_parse: + dependency: transitive + description: + name: pubspec_parse + sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + puppeteer: + dependency: "direct main" + description: + name: puppeteer + sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 + url: "https://pub.dev" + source: hosted + version: "3.6.0" + recase: + dependency: "direct main" + description: + name: recase + sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 + url: "https://pub.dev" + source: hosted + version: "4.1.0" + shelf: + dependency: "direct main" + 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: "direct main" + description: + name: shelf_static + sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e + url: "https://pub.dev" + source: hosted + version: "1.1.2" + shelf_web_socket: + dependency: "direct main" + description: + name: shelf_web_socket + sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + url: "https://pub.dev" + source: hosted + version: "1.0.4" + source_gen: + dependency: transitive + description: + name: source_gen + sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" + url: "https://pub.dev" + source: hosted + version: "1.5.0" + source_helper: + dependency: transitive + description: + name: source_helper + sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" + url: "https://pub.dev" + source: hosted + version: "1.3.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: transitive + 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" + stream_transform: + dependency: transitive + description: + name: stream_transform + sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + 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: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f + url: "https://pub.dev" + source: hosted + version: "1.24.9" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + test_core: + dependency: "direct main" + description: + name: test_core + sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a + url: "https://pub.dev" + source: hosted + version: "0.5.9" + timing: + dependency: transitive + description: + name: timing + sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + url: "https://pub.dev" + source: hosted + version: "1.0.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" + watcher: + dependency: transitive + description: + name: watcher + sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + url: "https://pub.dev" + source: hosted + version: "1.1.0" + web: + dependency: transitive + description: + name: web + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" + source: hosted + version: "0.5.1" + web_socket_channel: + dependency: "direct main" + description: + name: web_socket_channel + sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" + url: "https://pub.dev" + source: hosted + version: "2.4.5" + webkit_inspection_protocol: + dependency: transitive + description: + name: webkit_inspection_protocol + sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" + url: "https://pub.dev" + source: hosted + version: "1.2.1" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" + yaml_edit: + dependency: transitive + description: + name: yaml_edit + sha256: "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd" + url: "https://pub.dev" + source: hosted + version: "2.1.1" +sdks: + dart: ">=3.4.0 <4.0.0" From c385343823e3dca7654111908a3cfdf4c78da0cb Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 19/22] Revert "more" This reverts commit 42b95b40966762b418b22871a1cf93c77d082439. --- frb_utils/.gitignore | 2 + frb_utils/pubspec.lock | 636 ----------------------------------------- 2 files changed, 2 insertions(+), 636 deletions(-) delete mode 100644 frb_utils/pubspec.lock diff --git a/frb_utils/.gitignore b/frb_utils/.gitignore index a87b4d268f..3a83c2f087 100644 --- a/frb_utils/.gitignore +++ b/frb_utils/.gitignore @@ -4,6 +4,8 @@ .dart_tool/ .packages build/ +# If you're building an application, you may want to check-in your pubspec.lock +pubspec.lock # Directory created by dartdoc # If you don't generate documentation locally you can remove this line. diff --git a/frb_utils/pubspec.lock b/frb_utils/pubspec.lock deleted file mode 100644 index fe48595083..0000000000 --- a/frb_utils/pubspec.lock +++ /dev/null @@ -1,636 +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: "36a321c3d2cbe01cbcb3540a87b8843846e0206df3e691fa7b23e19e78de6d49" - url: "https://pub.dev" - source: hosted - version: "65.0.0" - analyzer: - dependency: transitive - description: - name: analyzer - sha256: dfe03b90ec022450e22513b5e5ca1f01c0c01de9c3fba2f7fd233cb57a6b9a07 - url: "https://pub.dev" - source: hosted - version: "6.3.0" - archive: - dependency: transitive - description: - name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" - url: "https://pub.dev" - source: hosted - version: "3.4.9" - 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" - build: - dependency: transitive - description: - name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.dev" - source: hosted - version: "2.4.1" - build_cli: - dependency: "direct dev" - description: - name: build_cli - sha256: ce6a27bdf9c6a08c926c3dcbc07fe9ac512f6fcdc14230e40298799784035fb7 - url: "https://pub.dev" - source: hosted - version: "2.2.3" - build_cli_annotations: - dependency: "direct main" - description: - name: build_cli_annotations - sha256: b59d2769769efd6c9ff6d4c4cede0be115a566afc591705c2040b707534b1172 - url: "https://pub.dev" - source: hosted - version: "2.1.0" - build_config: - dependency: transitive - description: - name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.dev" - source: hosted - version: "1.1.1" - build_daemon: - dependency: transitive - description: - name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" - url: "https://pub.dev" - source: hosted - version: "4.0.1" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" - source: hosted - version: "2.4.2" - build_runner: - dependency: "direct dev" - description: - name: build_runner - sha256: "67d591d602906ef9201caf93452495ad1812bea2074f04e25dbd7c133785821b" - url: "https://pub.dev" - source: hosted - version: "2.4.7" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 - url: "https://pub.dev" - source: hosted - version: "7.2.11" - built_collection: - dependency: transitive - description: - name: built_collection - sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.dev" - source: hosted - version: "5.1.1" - built_value: - dependency: transitive - description: - name: built_value - sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 - url: "https://pub.dev" - source: hosted - version: "8.8.1" - checked_yaml: - dependency: transitive - description: - name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.dev" - source: hosted - version: "2.0.3" - cli_config: - dependency: transitive - description: - name: cli_config - sha256: "65c7830649e1f8247660f1b783effb460255d6e2c1ac94eb823cf1f84e59b288" - url: "https://pub.dev" - source: hosted - version: "0.1.2" - code_builder: - dependency: transitive - description: - name: code_builder - sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 - url: "https://pub.dev" - source: hosted - version: "4.9.0" - collection: - dependency: transitive - description: - name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.dev" - source: hosted - version: "1.18.0" - convert: - dependency: transitive - description: - name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.dev" - source: hosted - version: "3.1.1" - coverage: - dependency: transitive - description: - name: coverage - sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76" - url: "https://pub.dev" - source: hosted - version: "1.7.2" - crypto: - dependency: transitive - description: - name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.dev" - source: hosted - version: "3.0.3" - dart_style: - dependency: transitive - description: - name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" - url: "https://pub.dev" - source: hosted - version: "2.3.4" - file: - dependency: transitive - description: - name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.dev" - source: hosted - version: "7.0.0" - fixnum: - dependency: transitive - description: - name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - flutter_lints: - dependency: "direct dev" - description: - name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 - url: "https://pub.dev" - source: hosted - version: "3.0.1" - flutter_rust_bridge: - dependency: "direct main" - description: - path: "../frb_dart" - relative: true - source: path - version: "2.7.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" - glob: - dependency: "direct main" - description: - name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - graphs: - dependency: transitive - description: - name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.dev" - source: hosted - version: "2.3.1" - http: - dependency: transitive - description: - name: http - sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - 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: "direct main" - 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: transitive - description: - name: lints - sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290 - url: "https://pub.dev" - source: hosted - version: "3.0.0" - logging: - dependency: transitive - description: - name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.dev" - source: hosted - version: "1.2.0" - matcher: - dependency: transitive - description: - name: matcher - sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb - url: "https://pub.dev" - source: hosted - version: "0.12.16+1" - meta: - dependency: transitive - description: - name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 - url: "https://pub.dev" - source: hosted - version: "1.11.0" - mime: - dependency: transitive - description: - name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.dev" - source: hosted - version: "1.0.4" - native_assets_cli: - dependency: "direct main" - description: - name: native_assets_cli - sha256: "51d1af3ebc2437f5883ed749f1877cb82d6a569b0712dad02c8370e6e4f2b5e3" - url: "https://pub.dev" - source: hosted - version: "0.2.0" - 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: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" - url: "https://pub.dev" - source: hosted - version: "1.9.0" - petitparser: - dependency: transitive - description: - name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.dev" - source: hosted - version: "6.0.2" - pointycastle: - dependency: transitive - description: - name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.dev" - source: hosted - version: "3.7.3" - 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" - pubspec_parse: - dependency: transitive - description: - name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 - url: "https://pub.dev" - source: hosted - version: "1.2.3" - puppeteer: - dependency: "direct main" - description: - name: puppeteer - sha256: eedeaae6ec5d2e54f9ae22ab4d6b3dda2e8791c356cc783046d06c287ffe11d8 - url: "https://pub.dev" - source: hosted - version: "3.6.0" - recase: - dependency: "direct main" - description: - name: recase - sha256: e4eb4ec2dcdee52dcf99cb4ceabaffc631d7424ee55e56f280bc039737f89213 - url: "https://pub.dev" - source: hosted - version: "4.1.0" - shelf: - dependency: "direct main" - 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: "direct main" - description: - name: shelf_static - sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e - url: "https://pub.dev" - source: hosted - version: "1.1.2" - shelf_web_socket: - dependency: "direct main" - description: - name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.dev" - source: hosted - version: "1.0.4" - source_gen: - dependency: transitive - description: - name: source_gen - sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.dev" - source: hosted - version: "1.5.0" - source_helper: - dependency: transitive - description: - name: source_helper - sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" - url: "https://pub.dev" - source: hosted - version: "1.3.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: transitive - 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" - stream_transform: - dependency: transitive - description: - name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.dev" - source: hosted - version: "2.1.0" - 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: a1f7595805820fcc05e5c52e3a231aedd0b72972cb333e8c738a8b1239448b6f - url: "https://pub.dev" - source: hosted - version: "1.24.9" - test_api: - dependency: transitive - description: - name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.dev" - source: hosted - version: "0.6.1" - test_core: - dependency: "direct main" - description: - name: test_core - sha256: a757b14fc47507060a162cc2530d9a4a2f92f5100a952c7443b5cad5ef5b106a - url: "https://pub.dev" - source: hosted - version: "0.5.9" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.dev" - source: hosted - version: "1.0.1" - typed_data: - dependency: transitive - description: - name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.dev" - source: hosted - version: "1.3.2" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 - url: "https://pub.dev" - source: hosted - version: "13.0.0" - watcher: - dependency: transitive - description: - name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.dev" - source: hosted - version: "1.1.0" - web: - dependency: transitive - description: - name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" - url: "https://pub.dev" - source: hosted - version: "0.5.1" - web_socket_channel: - dependency: "direct main" - description: - name: web_socket_channel - sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" - url: "https://pub.dev" - source: hosted - version: "2.4.5" - webkit_inspection_protocol: - dependency: transitive - description: - name: webkit_inspection_protocol - sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572" - url: "https://pub.dev" - source: hosted - version: "1.2.1" - yaml: - dependency: transitive - description: - name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.dev" - source: hosted - version: "3.1.2" - yaml_edit: - dependency: transitive - description: - name: yaml_edit - sha256: "1579d4a0340a83cf9e4d580ea51a16329c916973bffd5bd4b45e911b25d46bfd" - url: "https://pub.dev" - source: hosted - version: "2.1.1" -sdks: - dart: ">=3.4.0 <4.0.0" From 348bf11812e495be273484845ca03e9e611c0b92 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:01 +0800 Subject: [PATCH 20/22] Revert "more" This reverts commit d432572241f79659fd71477e7f6688805a81cb9f. --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2011fe0315..599aad2421 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -721,7 +721,7 @@ jobs: - frb_example--dart_minimal - frb_example--pure_dart - frb_example--pure_dart_pde - # - frb_example--deliberate_bad # wait for https://github.com/rust-lang/rust/issues/111073 + - frb_example--deliberate_bad # no need for `frb_example--dart_build_rs` steps: From 323a5b0dba96dc7f64e537f890e01f9bec72f452 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:25:52 +0800 Subject: [PATCH 21/22] more --- .github/workflows/ci.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 599aad2421..d0f46e5188 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -641,6 +641,9 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + # https://github.com/puppeteer/puppeteer/pull/13196 + - name: Disable AppArmor + run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: dart-lang/setup-dart@v1 with: sdk: ${{ env.FRB_MAIN_DART_VERSION }} @@ -959,6 +962,9 @@ jobs: - uses: actions/checkout@v4 with: submodules: recursive + # https://github.com/puppeteer/puppeteer/pull/13196 + - name: Disable AppArmor + run: echo 0 | sudo tee /proc/sys/kernel/apparmor_restrict_unprivileged_userns - uses: subosito/flutter-action@v2 with: cache: true From 0c280715bae4894e00be2267094f6f61de118835 Mon Sep 17 00:00:00 2001 From: fzyzcjy Date: Thu, 16 Jan 2025 09:26:03 +0800 Subject: [PATCH 22/22] Revert "Revert "more"" This reverts commit 348bf11812e495be273484845ca03e9e611c0b92. --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d0f46e5188..d3cf4ff234 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -724,7 +724,7 @@ jobs: - frb_example--dart_minimal - frb_example--pure_dart - frb_example--pure_dart_pde - - frb_example--deliberate_bad + # - frb_example--deliberate_bad # wait for https://github.com/rust-lang/rust/issues/111073 # no need for `frb_example--dart_build_rs` steps: