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

Jetbrains IDEs don't support static analysis of generated code in OUT_DIR #506

Closed
Bromeon opened this issue Nov 27, 2023 · 3 comments · Fixed by #687
Closed

Jetbrains IDEs don't support static analysis of generated code in OUT_DIR #506

Bromeon opened this issue Nov 27, 2023 · 3 comments · Fixed by #687
Labels
c: tooling CI, automation, tools quality-of-life No new functionality, but improves ergonomics/internals status: upstream Depending on upstream fix (typically Godot)

Comments

@Bromeon
Copy link
Member

Bromeon commented Nov 27, 2023

We can currently not generate sources inside target (via OUT_DIR), because CLion/RustRover do not recognize symbols in that directory, completely breaking user experience. This is however likely a blocker for #2 (unless we consider #[cfg] shenanigans).

Upstream: RUST-12312 on YouTrack.
Please upvote if you can. It looks like a solution is already being worked on.

@Bromeon Bromeon added quality-of-life No new functionality, but improves ergonomics/internals status: upstream Depending on upstream fix (typically Godot) c: tooling CI, automation, tools labels Nov 27, 2023
@Bromeon
Copy link
Member Author

Bromeon commented Jan 7, 2024

Looks like the above issue was closed 3 days ago, but there was no comment.
Will need to test on latest RustRover...

@bluenote10
Copy link
Contributor

Will need to test on latest RustRover...

Did you already give it a try? From that (upstream) issue it is still a bit unclear if something has changed, but at least yesterday 3 related meta issues got closed.

If I remember correctly this is basically the only thing preventing publishing on crates.io (#2), right?

I'm wondering how exactly it affects the publishing (I'm not a CLion user): Wouldn't it be possible for CLion users to still consume gdext just via git if consuming it via crates.io is what doesn't work? Or would the mere existence of the crate on the index cause issues? Or is it more a problem of communicating/documenting that CLion users must not use the published crate yet? Perhaps this could be mitigated by only using pre-releases / beta versions for the time being.


It would really be great to have a first release on crates.io. I have quite a few experimental projects, and working just with git hashes makes it a bit hard to keep an overview of what I'm using where (apparently I'm using 19 different versions in total 🙈). I'm also copy/pasting various convenience/utils functions from project to project, which is pretty messy. Today I wanted to consolidate that a little bit and start publishing my own utils crate on crates.io, but it turns out that publishing a crate is not allowed if it depends on another unpublished crate (understandably of course). And tracking yet another dependency only via git isn't ideal either. Looks like this crate is in a similar situation.

@Bromeon
Copy link
Member Author

Bromeon commented Mar 23, 2024

Crates release is on my list for 2024, but there are a few more important issues, e.g. currently I'm looking into the hot reloading fix + a way to avoid future regressions (as it's already the third).

The release is not just blocked by the Jetbrains issue, but needs quite a bit of infra work to automate. There are some open questions regarding how different Godot versions are provided, which one is chosen by default, and how users can select their own.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c: tooling CI, automation, tools quality-of-life No new functionality, but improves ergonomics/internals status: upstream Depending on upstream fix (typically Godot)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants