Questie

Questie

122M Downloads

Can't install from github via Ajour (no TBC release found)

Rewyn opened this issue ยท 9 comments

commented

Yes, I know Ajour isn't further developed anymore, but it works perfectly fine in most cases for addons from github for me.
And this seems like an easy enough fix, so figured I'd give it a shot.
It basically just tells me there's no release available for TBC under the github releases. Not sure if its as simple as somehow tagging the releases as such, or if it just looks for something like "bcc" in the filename.
Addons like WA2 (https://github.com/WeakAuras/WeakAuras2/releases/tag/3.7.16) for example work perfectly fine.

commented

Hey @Rewyn

I agree with your that Ajour most likely just looks for -tbc, -bcc suffixes on the GitHub ZIPs.

We just publish one ZIP file which works on Classic Era, SoM and TBC. Therefore we don't have specific ZIP files for each game version.

I will talk with the team if we will change that, but I don't think it really is useful for an addon manager that is not actively developed anymore. Especially as there are many alternatives which do the same. I guess you should just give WowUpa shot.

commented

That is the fallback method Ajour uses to find the right ZIP. It tries to get version information from the release.json asset file. Questie does not have that. I think using the BigWigs packager would solve the issue. It generates the file.

commented

I didn't search, but any pointer to documentation of releasae.json?

commented

I don't know of any documentation but the format looks simple. You can look at the BigWigs packager code. Here are two projects I know use the packager if you want an actual example:

https://github.com/DeadlyBossMods/DBM-BCC
https://github.com/WeakAuras/WeakAuras2

DBM has a repo per version so it is an example of a single version, while WeakAuras produces ZIPs for multiple versions from a single repo.

commented

@Talryn If you want help even more, do you know some project using the packager and producing a single ZIP which works in all game versions?

commented

I cannot think of one but perhaps it is as simple as using the WeakAuras example and just making one release entry for each game version but they all point to the same file.

Here is the WeakAuras release.json:

{
    "releases": [
        {
            "filename": "WeakAuras-4.0.1-bcc.zip",
            "nolib": false,
            "metadata": [
                {
                    "flavor": "bcc",
                    "interface": 20504
                }
            ]
        },
        {
            "filename": "WeakAuras-4.0.1-classic.zip",
            "nolib": false,
            "metadata": [
                {
                    "flavor": "classic",
                    "interface": 11402
                }
            ]
        },
        {
            "filename": "WeakAuras-4.0.1.zip",
            "nolib": false,
            "metadata": [
                {
                    "flavor": "mainline",
                    "interface": 90200
                }
            ]
        }
    ]
}

If you wanted to generate the release.json, I think you could use this as a template but the file name would be the same for each game version. Just update the interface for each game version to the appropriate version number.

commented

It looks like you can simplify it by having multiple metadata entries.

From https://github.com/mooreatv/AuctionDB:

{
    "releases": [
        {
            "filename": "AuctionDB-v1.06.04.zip",
            "nolib": false,
            "metadata": [
                {
                    "flavor": "classic",
                    "interface": 11402
                },
                {
                    "flavor": "mainline",
                    "interface": 90200
                },
                {
                    "flavor": "bcc",
                    "interface": 20504
                }
            ]
        }
    ]
}
commented

@Rewyn @Talryn I have added automatic creation of a release file to our build script. I also created a file manually and added it to our latest release (6.11.0) for testing purposes.

FYI @BreakBB

commented

This went far beyond what I expected, works like a charm for the latest release.