Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

third party lib, doesnt throw errors nor generate files #2304

Open
abdelaziz-mahdy opened this issue Sep 19, 2024 · 8 comments
Open

third party lib, doesnt throw errors nor generate files #2304

abdelaziz-mahdy opened this issue Sep 19, 2024 · 8 comments
Labels
awaiting Waiting for responses, PR, further discussions, upstream release, etc experimental feature Issues related to experimental instead of stable features

Comments

@abdelaziz-mahdy
Copy link

Describe the bug

i am trying to create mapping to polars, but the generate function works but doesnt create the mapping so i am confused

Steps to reproduce

Hint: A simple way to reproduce is to clone and modify the https://github.com/fzyzcjy/flutter_rust_bridge/tree/master/frb_example/dart_minimal example package according to your needs.

  1. updated the frb_example/dart_minimal/flutter_rust_bridge.yaml to have rust_input: polars
  2. run cd rust && cargo add polars && cd ..
  3. run flutter_rust_bridge_codegen generate

Logs

https://justpaste.it/exo6j

Expected behavior

the dart binding should get generated

Generated binding code

none

OS

macos

Version of flutter_rust_bridge_codegen

2.4.0

Flutter info

[✓] Flutter (Channel stable, 3.24.3, on macOS 15.0 24A335 darwin-arm64, locale
    en-EG)
    • Flutter version 3.24.3 on channel stable at
      /Users/AbdelazizMahdy/Developer/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (8 days ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/AbdelazizMahdy/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android
      Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      17.0.11+0-17.0.11b1207.24-11852314)

[✓] IntelliJ IDEA Community Edition (version 2024.2.0.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 242.20629

[✓] VS Code (version 1.93.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.96.0

[✓] Connected device (3 available)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 15.0 24A335 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 15.0 24A335 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 128.0.6613.138

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Version of clang++

clang --version Apple clang version 16.0.0 (clang-1600.0.26.3) Target: arm64-apple-darwin24.0.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Additional context

No response

@abdelaziz-mahdy abdelaziz-mahdy added the bug Something isn't working label Sep 19, 2024
Copy link

welcome bot commented Sep 19, 2024

Hi! Thanks for opening your first issue here! 😄

@fzyzcjy
Copy link
Owner

fzyzcjy commented Sep 20, 2024

Hi, could you please provide a minimal reproducible sample?

Btw, polars may be too complex to be auto scanned by the experimental "scan whole third party package" feature.

And you may be interested in: https://github.com/Desdaemon/polars_dart

@fzyzcjy fzyzcjy added the awaiting Waiting for responses, PR, further discussions, upstream release, etc label Sep 20, 2024
@abdelaziz-mahdy
Copy link
Author

this is an example repo, https://github.com/abdelaziz-mahdy/polars_dart

i would love to have the auto scan working in general since that will make migration rust crates binding so much easier and that will improve the dart platform in general, so i am interested to make it work

@fzyzcjy
Copy link
Owner

fzyzcjy commented Sep 20, 2024

i would love to have the auto scan working in general since that will make migration rust crates binding so much easier and that will improve the dart platform in general, so i am interested to make it work

I think so, that would be quite convenient.
And, even if it cannot handle 100% cases, let it handle a large portion of trivial things would also be beneficial.

@fzyzcjy
Copy link
Owner

fzyzcjy commented Sep 20, 2024

Looked at the logs. Seems

[2024-09-19T23:27:04.134Z DEBUG /Users/AbdelazizMahdy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flutter_rust_bridge_codegen-2.4.0/src/library/codegen/parser/hir/tree/transformer/pub_use_transformer.rs:155] transform_module_by_pub_use_single skip `PubUseInfo { namespace: Namespace { joined_path: "polars_core::export" }, name_filter: None }` since cannot find mod

i.e. the polars package is almost empty and only exports polars_core. On the other hand, frb currently has not implemented such complex cross-multiple-third-party-crate-import things.

@fzyzcjy fzyzcjy changed the title third party lib, doesnt throw errors nor generate files [experimental-feature] third party lib, doesnt throw errors nor generate files Sep 20, 2024
@abdelaziz-mahdy
Copy link
Author

Looked at the logs. Seems

[2024-09-19T23:27:04.134Z DEBUG /Users/AbdelazizMahdy/.cargo/registry/src/index.crates.io-6f17d22bba15001f/flutter_rust_bridge_codegen-2.4.0/src/library/codegen/parser/hir/tree/transformer/pub_use_transformer.rs:155] transform_module_by_pub_use_single skip `PubUseInfo { namespace: Namespace { joined_path: "polars_core::export" }, name_filter: None }` since cannot find mod

i.e. the polars package is almost empty and only exports polars_core. On the other hand, frb currently has not implemented such complex cross-multiple-third-party-crate-import things.

Oh okay, guess I will wait for it to get fixed when you have time to do so,

Or create my own API around it

Thank you for the awesome package and looking forward to scanning to be improved

@fzyzcjy
Copy link
Owner

fzyzcjy commented Sep 20, 2024

You are welcome! I guess this may be a bit nontrivial so cannot estimate the time to implement it.

@abdelaziz-mahdy
Copy link
Author

i was trying ndarray and faced the same issue, dont know if they are related or not but i wanted to share it incase it helps https://github.com/abdelaziz-mahdy/rust_ndarray_dart
logs: https://justpaste.it/8v3kt

@patmuk patmuk mentioned this issue Sep 26, 2024
5 tasks
@fzyzcjy fzyzcjy added experimental feature Issues related to experimental instead of stable features and removed bug Something isn't working labels Nov 5, 2024
@fzyzcjy fzyzcjy changed the title [experimental-feature] third party lib, doesnt throw errors nor generate files third party lib, doesnt throw errors nor generate files Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting Waiting for responses, PR, further discussions, upstream release, etc experimental feature Issues related to experimental instead of stable features
Projects
None yet
Development

No branches or pull requests

2 participants