Does it grab the latest .zip and send it to the user ? Or does it get files from the repository ? I'd assume the answer is the .zip since it's compressed (saves bandwidth, etc..).
With this assumption, could we imagine that using the required dependency in the .pkgmeta would result in :
1) Packaging the .zip with all dependencies (for manual downloads)
2) Downloading the .zip as it is (with dependencies thus) with the CC, while ignoring the dependencies since they're, by definition, included in the .zip. That is, if "required dependencies" are found in the .pkgmeta.
Now, I don't know if the CC has any visibility on the repository, so this might not be a solution.
The Curse Client just downloads the .zip and unpacks it for the user.
If you mark something as "required depedency" in .pkgmeta, it will *not* be packaged. Its just meta-data for the Curse Client, so that it knows to get the package you specified as well.
I do wonder if it would be viable to remove the files of the "stub" addon from the fingerprinting done to identify addons .. however that would again be a Curse Client specific fix, that won't hold up if you ever decide to publish to WoWInterface, for instance.
Hoping this bump isn't considered inappropriate as I think it's highly related..
So I'm in need of bundling DataStore. Is there a preferred method after all these years? I was going to go with required-dependencies, but I need the latest alpha as they are updated and stable while releases are way out of date. The client won't install an alpha version, will it?
So I'm in need of bundling DataStore. Is there a preferred method after all these years? I was going to go with required-dependencies, but I need the latest alpha as they are updated and stable while releases are way out of date. The client won't install an alpha version, will it?
The client will, but AFAIK only if the end-user has toggled "preferred version" to alpha for DataStore and each of the DataStore_* modules that you/they intend to use. This requires the user to first install them the usual way, which gets the older now-broken releases, then toggle over to alpha, then update. It's not intuitive.
To the best of my knowledge, there's no way to get the required-dependencies to specify "use the alpha version". It can be done with embedded libs, obviously, but not req-deps.
DataStore isn't set up to be used as an embedded library, but the troubles caused by lack of a release tag is making me strongly consider ignoring the author's recommendations and just packaging it into my calling addons, making tweaks as needed. Things That Work > Wishes and Recommendations.
Well, as far as I can tell the required-dependencies is the only solution that really works. (as long as the Curse client is used) It does work, right? Won't remove the dependencies if another addon that uses them is removed?
But the alpha thing won't really work. All the repos are open; would it be frowned upon to tag them so the up-to-date files can be installed via dependencies? As far as I can tell the alphas are perfectly stable and used in Altoholic, while the tags are, in some (all?) cases, several years old.
Well, as far as I can tell the required-dependencies is the only solution that really works. (as long as the Curse client is used) It does work, right? Won't remove the dependencies if another addon that uses them is removed?
Yep, they work, and will trigger the curse client into installing some form of the required addons.
But the alpha thing won't really work. All the repos are open; would it be frowned upon to tag them so the up-to-date files can be installed via dependencies? As far as I can tell the alphas are perfectly stable and used in Altoholic, while the tags are, in some (all?) cases, several years old.
I can't believe anybody would give you grief for fixing an obvious oversight, especially one causing this much trouble.
Alright, I went ahead to do so, and while I were able to commit some small fixes, it wouldn't let me tag. TortoiseSVN gives me Access denied. Tried both public and dev URL. Is this intended? Should ask elsewhere I suppose. The option to do it directly from the project site is not available to me.
I've tagged all the Datastore files as Alpha so hopefully this stops the seemingly never-ending issue of people getting outdated versions of Datastore installed.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Does it grab the latest .zip and send it to the user ? Or does it get files from the repository ? I'd assume the answer is the .zip since it's compressed (saves bandwidth, etc..).
With this assumption, could we imagine that using the required dependency in the .pkgmeta would result in :
1) Packaging the .zip with all dependencies (for manual downloads)
2) Downloading the .zip as it is (with dependencies thus) with the CC, while ignoring the dependencies since they're, by definition, included in the .zip. That is, if "required dependencies" are found in the .pkgmeta.
Now, I don't know if the CC has any visibility on the repository, so this might not be a solution.
If you mark something as "required depedency" in .pkgmeta, it will *not* be packaged. Its just meta-data for the Curse Client, so that it knows to get the package you specified as well.
I do wonder if it would be viable to remove the files of the "stub" addon from the fingerprinting done to identify addons .. however that would again be a Curse Client specific fix, that won't hold up if you ever decide to publish to WoWInterface, for instance.
So I'm in need of bundling DataStore. Is there a preferred method after all these years? I was going to go with required-dependencies, but I need the latest alpha as they are updated and stable while releases are way out of date. The client won't install an alpha version, will it?
The client will, but AFAIK only if the end-user has toggled "preferred version" to alpha for DataStore and each of the DataStore_* modules that you/they intend to use. This requires the user to first install them the usual way, which gets the older now-broken releases, then toggle over to alpha, then update. It's not intuitive.
To the best of my knowledge, there's no way to get the required-dependencies to specify "use the alpha version". It can be done with embedded libs, obviously, but not req-deps.
DataStore isn't set up to be used as an embedded library, but the troubles caused by lack of a release tag is making me strongly consider ignoring the author's recommendations and just packaging it into my calling addons, making tweaks as needed. Things That Work > Wishes and Recommendations.
The empty pointer addons seemed like a nice solution.
But the alpha thing won't really work. All the repos are open; would it be frowned upon to tag them so the up-to-date files can be installed via dependencies? As far as I can tell the alphas are perfectly stable and used in Altoholic, while the tags are, in some (all?) cases, several years old.
Yep, they work, and will trigger the curse client into installing some form of the required addons.
I can't believe anybody would give you grief for fixing an obvious oversight, especially one causing this much trouble.
hello!
i have error code.
this:
--------------------------------------------------
Date: 2020-01-13 09:24:41
ID: 1
Error occured in: Global
Count: 1
Message: ...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua line 33:
Attempt to register unknown event "UPDATE_WORLD_STATES"
Debug:
[C]: RegisterEvent()
...\AddOns\DataStore\libs\AceEvent-3.0\AceEvent-3.0.lua:33: OnUsed()
...ore\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:142: RegisterEvent()
SmartTabTarget\SmartTabTarget.lua:239:
SmartTabTarget\SmartTabTarget.lua:235
[C]: ?
...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:70:
...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:65
...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:527: EnableAddon()
...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:620:
...\AddOns\DataStore\libs\AceAddon-3.0\AceAddon-3.0.lua:605
[C]: LoadAddOn()
..\FrameXML\UIParent.lua:450: UIParentLoadAddOn()
..\FrameXML\UIParent.lua:569: TimeManager_LoadUI()
..\FrameXML\UIParent.lua:1242:
..\FrameXML\UIParent.lua:1140
Locals:
None
I've tagged all the Datastore files as Alpha so hopefully this stops the seemingly never-ending issue of people getting outdated versions of Datastore installed.