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

GDExtentions which needs compilation is ignored by GDPlug #26

Open
Kabir404 opened this issue Aug 20, 2023 · 3 comments
Open

GDExtentions which needs compilation is ignored by GDPlug #26

Kabir404 opened this issue Aug 20, 2023 · 3 comments

Comments

@Kabir404
Copy link

Kabir404 commented Aug 20, 2023

Hello there!

I really liked your work on this and It makes creating complex projects, especially those which uses the REUSE spec easier.

But an problem that I found while incorporating your plugin into my project is that when downloading GDExtentions/GDNative plugins which doesn't have the plugin files already pre-compiled within the repository refuses to download anything.

Possible workarounds

  • Attempt to use the GitHub Releases API to download the plugins from the releases section(where most likely the bins are precompiled there and ready to use). The possible solution
  • Attempt to compile the plugin using cmake or an compilation script within the repo. Most likely the hardest to achieve
  • Warn the user that GDExtentions which requires compilation after cloning would be ignored. Easiest, Documented But defeats the purpose of being able to download all kinds of plugins TBH...

Affected Plugins: Godot Jolt
Godot Version: 4.1.1 Stable

@imjp94
Copy link
Owner

imjp94 commented Aug 20, 2023

Thanks, that's interesting!
I think I will go with the Github Releases API solution, this is what I can think of now:

  • The config will probably looks like this plug(godot-jolt/godot-jolt, {"release": "true", "tag": "0.6.0-stable"})
  • If the plug(src, args) function can be used to download binaries from github release, it will most likely only capable of handling the binaries or source code one at a time, otherwise it would be a mess to declare 2 destination directories for both binaries and source code(assuming user required to install both)
  • So the config will looks like this in case both source code and binaries are needed:
# Binaries
plug(godot-jolt/godot-jolt, {"release": "true", "tag": "0.6.0-stable"}) # "install_root" omitted as godot-jolt zip extracted into addons/godot-jolt
# Source code
plug(godot-jolt/godot-jolt, {"tag": "0.6.0-stable"})

One problem though, .plugged/index.cfg using the src(url) as key so 2 configs with same src will conflict.

@Kabir404
Copy link
Author

It would be nice to let me know when you plan to finally release this feature.

@imjp94
Copy link
Owner

imjp94 commented Aug 24, 2023

I have no planning to implement this yet, not in the near future for sure, as I am busy with my own game project

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants