godot-asset-library
godot-asset-library copied to clipboard
Can't submit asset to library
I'm trying to submit an addon I've wriiten to the library, but the submission keeps failing:
https://github.com/blackears/terrain_layered_shader
The problem is that the submission form is asking for:
The commit hash that should be downloaded. Expects 40 or 64 hexadecimal digits fully specifying a Git commit.
When using the Custom download provider, this must be set to the full download URL instead of a commit hash.
The problem here is that there is a lot of stuff on the Github page that should not be downloaded. I've created a .zip file with the actual files that should be part of the archive (https://github.com/blackears/terrain_layered_shader/raw/master/export/terrain_layered_shader.zip). However, I can give a commit hash since that suggests to me that you are trying to download the entire GIthub repo, not just this one file. When I provide the URL of the .zip file, it fails too.
How do I submit this? All I can think of is creating a second Github repo that just contains the files from the addon.
The problem here is that there is a lot of stuff on the Github page that should not be downloaded.
You can use a .gitattributes
file to do this automatically with GitHub-generated ZIPs: https://docs.godotengine.org/en/stable/community/asset_library/submitting_to_assetlib.html
After doing this, keep using the GitHub download provider as usual.
The problem with this is that I want users to be able to download the other stuff too. The Github page is not intendeded to exist exclusively for the Godot Asset Library. Isn't there some way to tell the library to download a particular file rather than having to hamstring the entire repo just to fit the GAL requirements?
Edit: I am trying to use the Custom option now, but am running into different errors.
Isn't there some way to tell the library to download a particular file
There is not, we don't store any metadata about the contents of the asset and rely exclusively on ZIPs generated by GitHub, GitLab, and other providers. You can, as you've figured out, use the custom provider setting and submit any URL you want, e.g. one for your GitHub releases entry.
Isn't there some way to tell the library to download a particular file
There is not, we don't store any metadata about the contents of the asset and rely exclusively on ZIPs generated by GitHub, GitLab, and other providers. You can, as you've figured out, use the custom provider setting and submit any URL you want, e.g. one for your GitHub releases entry.
No, currently you cannot link to a zip file included in a release. It may be intended to work, but it does not work.
I had the same issue @blackears described.
No, currently you cannot link to a zip file included in a release. It may be intended to work, but it does not work.
You can do this if you switch to the Custom download provider. Otherwise, you can only link to the automatically generated ZIP for each tag.
All I can think of is creating a second Github repo that just contains the files from the addon.
The problem with this is that I want users to be able to download the other stuff too.
My solution was to use a .gitattributes file that limits the contents of the automatically generated .zip to only the addon, and to add a GitHub workflow action script that adds a .zip on the GitHub Releases page that contains the full repository. It took me a while to figure out how to do that.
Here's an example:
.gitattributes file: https://github.com/daveTheOldCoder/Godot3To4FileConversion/blob/master/.gitattributes
GitHub workflow action script https://github.com/daveTheOldCoder/Godot3To4FileConversion/blob/master/.github/workflows/create-release-archive.yml
Like already suggested you should release zip files with just the content the addon should contain. This link can be then used with the custom provider. I also have a repository with multiple addons and other stuff and generate the addon zips on each new addon release. GitHub Workflow The publisher software Might be helpful.
I think it would be better if the Godot Asset Library server could just host the binaries. It would make things more straight forward and users wouldn't have to worry about what is stored at the links changing.
I think it would be better if the Godot Asset Library server could just host the binaries. It would make things more straight forward and users wouldn't have to worry about what is stored at the links changing.
We don't have the space/bandwidth on the server to host large binaries, and the current asset library is in maintenance mode anyway.