I’m in the process of making my package relocatable, and the first steps for that are to create my shared libraries (actually, just library wrappers of C++ libraries) as artifacts. However, I’m finding the documentation to be quite light here! (ie. https://julialang.github.io/Pkg.jl/dev/artifacts/)
I need to annotate the Artifacts.toml file with a ‘git-tree-sha1’ hash, as well as a SHA256 hash for the downloaded file itself.
So what I’ve done:
- compiled the library
- gzipped it (not documented, but appears that gz or some other compression is required)
- uploaded online
- used SHA256sum to calculate the hash of the gz file
- used git hash-object to calculate the hash of the un-gzipped file
- And entered these into the Artifacts.toml file
The SHA256 is correct, and the file is downloaded and un-gzipped. However the git-tree-sha1 hash fails - which is what I expected because I have no idea what a git-tree-sha1 is, and the phrase only appears online in relation to the Julia Pkg system itself!
So what is this second hash, and how do I generate it? And am I doing this correctly - or is there an automagic way I should be artifacting these libraries?