MChambers1992 / CopyPasta2

CopyPasta2 is a small utility that enables multi-line/unlimited-length pasting of text or commands into WoW. This is a fork of CopyPasta which itself is a fork of Paste by the authors; idlenexusgaming & oscarucb who are both missing in action.
MIT License
12 stars 7 forks source link

[Meta] Steamlining copypasta2 & distribution #13

Open Frici42 opened 6 months ago

Frici42 commented 6 months ago

Greetings!

I wasn't sure how to kickstart a discussion about this, so I figured the best option was to open a new issue and start from there. To preface this, I'll note I've only slightly dabbled in addon dev for WoW so I only have cursory knowledge of the landscape not a masterview.

I labeled this as Meta since, the way I see it. it's an issue that is touching a number of previously discussed points/issues.

Now to talk about each of them (yes I am aware I also linked to long closed issues, they seem related to if not duplicates of #9 so worth to keep in mind during the discussion):

For the first issue

Now as talked about in #1 by @b-morgan

Hopefully you are aware of how the ACE libraries load into memory as WoW loads addons. After all addons are loaded, only the most up-to-date version of each ACE library remains in memory and all addons will use that copy.

That does indeed seem to be the case, and in my personal case while trying to replicate #12 (i'll add a reply on there as well about actually being able to replicate it). It does seem like it's not an issue with CopyPasta2 per se but an issue in ACElibs themselves. (in my specific addon setup it seems the ACElibs are being kept/loaded by bartender4 and that is the copy of ACE that is throwing the error so even in newer lib versions there is an error, although worth to check with original reporter what version are they getting the error from). Figuring this part, will solve #12

Now, on to the other 3.

I would be unable to provide the secrets since they have to be generated inside the repo. I would also rather not create a WoWInterface namespace/account myself, i'd rather let you do that/keep control of that for your addon, regardless of my contribution.

But, I can discuss in probably an external medium how the secrets that need to be created are generated (or list things here if you'd rather prefer that),

Then I can provide a PR with the necessary toc changes or the github action yaml file for the generation of the release via the BigWigsMods/Packager action that several others currently use for a more automated generation and release workflow.

That would bag closure of all 3 issues talking about WoWUp integration and distribution to sites beside Curseforge, for example WoWInterface that was mentioned already, but also in this very GitHub that is also a supported method by wowup.io.

I called part of this issue streamlining since, part of the suggestion, would include the removal of the release/ directory since distribution would handle that part (so you don't need to also keep track of it inside the actual repo).

That would allow bringing everything in the CopyPasta2/CopyPasta2/ directory up to / again in line with most addons that keep main files to the toplevel directory.

I'm sorry this got extremely long 😅

The TL;DR of the GitHub action part is "tell me when you want releases to happen, create the secrets (and accounts) for the services you want it to upload to (e.g. CF / WoWI), then I can submit Pull Requests for everything else myself as the rest are in repo actions and not external parts that contributors cannot control.

To close this very long issue, thank you so much for your work and for keeping this addon alive, it has helped me greatly in the past few years I got back into WoW.

MChambers1992 commented 2 months ago

Thanks for the detailed post @Frici42 I appreciate it, I'm planning on updating the addon as it has seemingly fallen into a bad state since the TWW pre-patch. Using GHA is definitely something I'm keen on doing as automating some of that process would be very helpful.

I'll update this issue when I get the new version out.