This is similar to #255, but it's not the same thing.
I'd love it if SpoonInstall supported unpackaged spoons in a git repository. Allow the addition of a git repo to the repos list like this:
spoon.SpoonInstall.repos.unpacked = {
url = "https://github.com/offbyone/Spoons",
layout = "git",
desc = "My personal spoons",
ref = "main",
}
The layout would be:
root/
Spoons/
MyNiftySpoon.spoon/
init.lua
README.md
MyLessImpressiveButStillCoolSpoon.spoon/
init.lua
README.md
This would open up the ability to host spoons in a much less painful way -- I know, because I have a relatively complex GitHub Actions setup to build the spoon zip for my own spoons repository too! -- by simply having a git repository at the URL that contains the spoon code, and instead of having to have Spoons/*.spoon.zip in the repository, the developer could have the uncompressed Spoon content.
I'd propose a couple of options out of the gate for flexibility:
ref should support tags, branches, and pinned refs
relative_path should default to Spoons/ but could be configured
spoon.SpoonInstall's installation commands would act by cloning the repository, checking it out to the specified ref, and copying the spoon into the correct place.
This is similar to #255, but it's not the same thing.
I'd love it if SpoonInstall supported unpackaged spoons in a git repository. Allow the addition of a git repo to the repos list like this:
The layout would be:
This would open up the ability to host spoons in a much less painful way -- I know, because I have a relatively complex GitHub Actions setup to build the spoon zip for my own spoons repository too! -- by simply having a git repository at the URL that contains the spoon code, and instead of having to have
Spoons/*.spoon.zipin the repository, the developer could have the uncompressed Spoon content.I'd propose a couple of options out of the gate for flexibility:
refshould support tags, branches, and pinned refsrelative_pathshould default toSpoons/but could be configuredspoon.SpoonInstall's installation commands would act by cloning the repository, checking it out to the specified ref, and copying the spoon into the correct place.