WoWInterface

WoWInterface (https://www.wowinterface.com/forums/index.php)
-   Dev Tools (https://www.wowinterface.com/forums/forumdisplay.php?f=41)
-   -   Addon Packager Proxy (https://www.wowinterface.com/forums/showthread.php?t=51553)

p3lim 01-16-15 07:36 PM

Addon Packager Proxy
 
This is the official topic for the Addon Packager Proxy release tool.

Quote:

Addon Packager Proxy

This is a tool designed to help authors of "addons" for the popular MMORPG "World of Warcraft"
release their projects to both Curse/CurseForge and WowInterface, the two most popular
sites for hosting releases for such projects.

The tool (currently) has some very specific usage requirements:
  • The user needs to use Git.
  • The user needs to push to both GitHub and CurseForge repositories.
  • The user needs to use Markdown for changelogs.
    • Although changelogs are optional.

For a more in-depth explanation and usage guide, see the readme on GitHub:
https://github.com/p3lim/addon-packager-proxy


This topic will be used for feedback and suggestions, all bug reports should be submitted to the issue
tracker on Github: https://github.com/p3lim/addon-packager-proxy/issues.

Enjoy.

Notice:
This application is no longer in active development, I strongly advice using an alternative solution (such as BigWigs' packager, which I've written a guide for)

Choonstertwo 01-16-15 08:48 PM

This looks awesome. I already use Git with GitHub/CurseForge and tag each release, so this should fit in well with my existing process.

p3lim 01-17-15 03:00 AM

I've simplified the process quite a bit in v0.2.0, you no longer need to fork the repository, and you no longer have to do changes to core files for the application.

You now "deploy" the application directly to Heroku, setting the needed variables in a setup page.
The addon information will now be stored in a gist you create, the app will fetch that on every run.

I plan on adding a complete setup wizard to the app, removing the last few manual steps during the setup and letting the app do all the work.

Choonstertwo 01-17-15 08:21 PM

I was getting 404 errors from the AddOn repository's webhook until I changed the URL from https://<APP_NAME>.herokuapp.com/webhook to https://<APP_NAME>.herokuapp.com/. Once I changed the URL and redelivered the create event, it found the packaged AddOn and uploaded it to WoWI without issue.

This is much better than manually uploading to WoWI and dealing with the BBCode changelog.

p3lim 01-17-15 09:59 PM

Quote:

Originally Posted by Choonstertwo (Post 305143)
I was getting 404 errors from the AddOn repository's webhook until I changed the URL from https://<APP_NAME>.herokuapp.com/webhook to https://<APP_NAME>.herokuapp.com/. Once I changed the URL and redelivered the create event, it found the packaged AddOn and uploaded it to WoWI without issue.

Yeah that was one of the changes I did earlier today/yesterday. I updated the wiki to reflect that, but since this is still alpha quality, make sure you check the commit log before updating.

p3lim 01-17-15 10:47 PM

Spent some time improving the markdown to bbcode conversion, pretty much untested right now.

https://github.com/p3lim/addon-packa...80ff4f23466acb

p3lim 01-18-15 04:24 AM

And there goes my first successful actual release (excluding testing), also showcasing the new markdown to bbcode support.

My full logs from deploy to successful upload for reference:
Code:

2015-01-18T10:09:46.308890+00:00 heroku[api]: Enable Logplex by [email protected]
2015-01-18T10:09:46.309368+00:00 heroku[api]: Release v2 created by [email protected]
2015-01-18T10:09:51.507285+00:00 heroku[api]: Set GIST_ID, SECRET_KEY, WOWI_USERNAME, WOWI_PASSWORD, QUERY_MAX_ATTEMPTS, QUERY_DELAY_SECONDS config vars by [email protected]
2015-01-18T10:09:51.507285+00:00 heroku[api]: Release v3 created by [email protected]
2015-01-18T10:09:54.990365+00:00 heroku[api]: Add papertrail:choklad add-on by [email protected]
2015-01-18T10:09:54.990365+00:00 heroku[api]: Release v4 created by [email protected]
2015-01-18T10:10:45.757870+00:00 heroku[api]: Scale to web=1 by [email protected]
2015-01-18T10:10:45.865426+00:00 heroku[api]: Release v5 created by [email protected]
2015-01-18T10:10:45.865426+00:00 heroku[api]: Deploy 44c533d by [email protected]
2015-01-18T10:10:48.385404+00:00 heroku[web.1]: Starting process with command `npm start`
2015-01-18T10:10:51.258711+00:00 app[web.1]: > [email protected] start /app
2015-01-18T10:10:51.258673+00:00 app[web.1]:
2015-01-18T10:10:51.258713+00:00 app[web.1]: > node server.js
2015-01-18T10:10:51.258715+00:00 app[web.1]:
2015-01-18T10:10:51.986545+00:00 app[web.1]: [LOG] Successfully fetched addon list.
2015-01-18T10:11:22.648216+00:00 app[web.1]: [LOG] Ping: Design for failure.
2015-01-18T10:16:24.491893+00:00 app[web.1]: [LOG] Received event for "oUF_Reputation" version "60000.11-Release".
2015-01-18T10:17:24.503682+00:00 app[web.1]: [LOG] Attempt #1 at querying CurseForge.
2015-01-18T10:17:24.840656+00:00 app[web.1]: [LOG] Found tag link on CurseForge.
2015-01-18T10:17:25.060691+00:00 app[web.1]: [LOG] Found file link on CurseForge.
2015-01-18T10:17:25.132239+00:00 app[web.1]: [LOG] Successfully downloaded file from CurseForge.
2015-01-18T10:17:25.838016+00:00 app[web.1]: [LOG] Successfully authenticated with WowInterface.
2015-01-18T10:17:25.922909+00:00 app[web.1]: [LOG] Found existing addon, previous version: "60000.10-Release".
2015-01-18T10:17:26.705615+00:00 app[web.1]: [LOG] Addon "oUF_Reputation" version "60000.11-Release" was successfully uploaded.


Gethe 01-18-15 08:00 PM

I have not used Heroku, so please excuse my ignorance. How would I handle updating the app to a more recent version of your repo?

jlam 01-18-15 08:03 PM

I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface. Is there a way to just provide the zipfile directly?

p3lim 01-18-15 08:18 PM

Quote:

Originally Posted by Gethe (Post 305194)
I have not used Heroku, so please excuse my ignorance. How would I handle updating the app to a more recent version of your repo?

I'm gonna make a wiki article about it.

Edit: https://github.com/p3lim/addon-packa.../wiki/Updating

p3lim 01-18-15 08:39 PM

Quote:

Originally Posted by jlam (Post 305195)
I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface.

I've got approval from Curse admins, it should not be a problem.

Quote:

Originally Posted by jlam (Post 305195)
Is there a way to just provide the zipfile directly?

No.

Torhal 01-18-15 11:58 PM

Quote:

Originally Posted by jlam (Post 305195)
I've not looked at the project code yet, but from the description I'm uneasy with using Curse's download bandwidth as part of a project to upload to WowInterface. Is there a way to just provide the zipfile directly?

Many authors, myself included, do this manually every time they make a release; let the CurseForge packager do its thing, navigate to the download for the new file, download it, navigate to the project management page on WoWInterface, then upload it. This merely automates what's already being done.

EDIT: This would be a completely different story were the utility made for end-users. In that case, bandwidth would be a definite concern.

p3lim 01-19-15 01:15 AM

Made some changes to how the app handles changelogs in 0.3.4.

Short version: They must be enabled per-addon in the addon list (the gist).

Long version: https://github.com/p3lim/addon-packa...wiki/Changelog

Dorwido 02-07-15 04:49 PM

Quote:

Originally Posted by Torhal (Post 305205)
Many authors, myself included, do this manually every time they make a release; let the CurseForge packager do its thing, navigate to the download for the new file, download it, navigate to the project management page on WoWInterface, then upload it.

I know that from somewhere! I wish both sites just would have the packaging, changelog creation and also the translation, then I could just add both endpoints into my git config and push once release on both.

And this one sounds good, but as long it requires to make another repo on github, I am not bothered to check it out.

Cairenn 02-07-15 05:27 PM

Dorwido, use our API instead: http://www.wowinterface.com/forums/s...ad.php?t=51835 :)

Dorwido 02-07-15 07:06 PM

Quote:

Originally Posted by Cairenn (Post 306221)

Saw that one too, even its only a quick documentation how to use it, I guess setting it up to easy push a new release takes some time too, I would really love to see here a packager too and allow the same tags as on curseforge (dunno if that would be a legal issue) for example for translation I use the following:

Code:

if ( GetLocale() ~= "deDE" ) then
        return;
end
local ns = select( 2, ... );
ns.L = --@localization(locale="deDE", format="lua_table", handle-unlocalized="english")@

--@debug@
{}
--@end-debug@

It fills the localisation automatic for all languages and the debug thing is removed on pushing and I do use it to not get lua errors in my developing enviorment.

Kinda could do then an
git commit
git tag
git push

And it appears on both sites and only need to go on the site for changing descriptions, that would save alot of time.

Currently it is to do the git stuff on curseforge, then download the file there, upload it here, copy&paste the changelog from curseforge and change the formatting, enter the new version number and copy&paste the description if any change and then upload here.

And the api here to use still need to know all those stuff have a local zip etc, that data need to be scraped somewhere as well?

Its late maybe I oversee something.

p3lim 02-07-15 07:25 PM

Quote:

Originally Posted by Dorwido (Post 306220)
And this one sounds good, but as long it requires to make another repo on github, I am not bothered to check it out.

See this: https://github.com/p3lim/addon-packager-proxy/issues/4

Dorwido 02-11-15 11:19 AM

Quote:

Originally Posted by p3lim (Post 306226)

any news about this one?

p3lim 02-13-15 01:43 PM

Quote:

Originally Posted by Dorwido (Post 306363)
any news about this one?

It's up to CurseForge, I requested it as a feature to one of their developers/admins, other than that I don't know.
The issue ticket on GitHub will be updated whenever something changes on their end.

p3lim 02-16-15 12:36 PM

0.4.0 is out, two major changes:
  • Changelogs are pulled directly from the repository, not from the packaged zip.
    • This means that you don't have to bring the changelog along if you don't want to.
  • Github can be considered optional, but the app would be semi-automatic. See issue #4.

p3lim 02-16-15 03:05 PM

Made a powershell script (sorry linux users) for easy force updating:
https://gist.github.com/p3lim/3385bc34b82a7f1cd0cc

Niketa 03-19-15 12:06 PM

Sorry if this is a nub question, but it's requiring me to put my credit card information in to use this app on Heroku. Will I be charged for using this app? Or is it basically just there to stay on file and I shouldn't get charged (using only this app)?

p3lim 03-19-15 12:31 PM

Quote:

Originally Posted by Niketa (Post 307628)
Sorry if this is a nub question, but it's requiring me to put my credit card information in to use this app on Heroku. Will I be charged for using this app? Or is it basically just there to stay on file and I shouldn't get charged (using only this app)?

Heroku does indeed require a credit card when registering, but don't worry, unless you're making a large application, you won't ever get charged for anything.
They charge for something called "dynos", which are basically instances of virtual machines, and you can increase the amount and power for each application you've got.

This app is very small, it will never require anything serious, so go with the default choice when creating an app (ONE dyno, 1X power), as seen in this screenshot, and this setup is completely free, no hidden fees or anything:


Niketa 03-19-15 02:12 PM

Okay thanks!

Edit: Nevermind, I think I derped.

p3lim 03-19-15 02:50 PM

The wait time is in intervals, you can configure how many times it should check, and how often (with limits of course).

Niketa 03-19-15 09:21 PM

I'm having trouble getting it to even check at all. I honestly don't know much about any of this at all, so I wouldn't be surprised if it's a silly mistake.

Here is my log:
Code:

-- Edited
I kind of messed around with changing some of the keys trying to see if that's what was messing it up, but nothing seemed to help. The last I have it is set as default values. Also I couldn't get it to do anything at first until I realized the thing about taking the "webhook" out of the url for the app. I saw you mentioned you had updated that, but I don't think it was updated in the wiki under the addon list page (which is where I found the instructions).

Anyway, I kind of left it alone for a while so I could make some changes to my addon and then came back to try again when I finished. I've tried resending the webhook several times and it still won't do anything. I see in your log it starts doing it's business but the most it's wanting to do so far is just get the addon list.

Here is my addon.js:
Code:

[
{
"path": "BusyAndAway",
"repo": "busy-and-away",
"curse": "busy-and-away",
"wowi": "22492",
"changelog": true
}
]


p3lim 03-19-15 10:34 PM

I fixed the old details in the wiki, thanks for letting me know.
Also, you should use a different name for the app on Heroku, as suggested in the wiki.

Edit: sorted out in private messages, it was just confusion around outdated documentation on the wiki.

10leej 03-20-15 02:27 AM

Quote:

Originally Posted by p3lim (Post 306527)
(sorry linux users)

It's fine I made my own tool for this. Though it's incredibly buggy and I'm too ashamed of my code to post it on github.

Sometimes I hate myself for being a perfectionist >.>

ckaotik 06-27-15 12:24 PM

Unfortunately, I can't seem to get the script working, it always fails right after WoWI authentication:

Code:

Jun 27 11:06:58 app/web.1: [LOG] Received forced check for "ckaosMilitia" version "6.2v1".
Jun 27 11:06:59 app/web.1: [LOG.4] Work order #4 started
Jun 27 11:06:59 app/web.1: [LOG.4] Found tag link on CurseForge.
Jun 27 11:07:00 app/web.1: [LOG.4] Found file link on CurseForge.
Jun 27 11:07:00 app/web.1: [LOG.4] Successfully downloaded file from CurseForge.
Jun 27 11:07:02 app/web.1: [LOG.4] Successfully authenticated with WowInterface.
Jun 27 11:07:02 app/web.1: [ERR.4] "http://api.wowinterface.com/addons/details/23324.json" responded with code 403.

Any idea what's going wrong?

p3lim 06-27-15 12:28 PM

Seems like an issue with the WoWInterface API, I'll see if I can get dolby to take a look at it.

Try forcing it in a little, see this on how to:
https://github.com/p3lim/addon-packa...mment-74553204

Dolby 06-28-15 07:56 AM

403 is thrown if the user is not authenticated or the AddOn is disabled/banned. There is a text message that is given with the 403 that will distinguish the two. Looking at the AddOn its not disabled or banned so I'm sure there is an issue with ckaotik's authentication.

ckaotik 06-28-15 07:59 AM

But then, why did the previous call return "Successfully authenticated with WowInterface."?
The API url works fine when I open it in the browser while logged in, but the script should do the same thing as it stores the cookie?

Edit: The 403 error reported something along the lines of "You must be logged in to use this API"

Dolby 06-28-15 08:12 AM

If the login is successful then to me that says something isn't capturing and storing the cookie OR isn't passing it on to wowi when making api calls?

Are you able to interact with the API via curl?
http://www.wowinterface.com/forums/s...ad.php?t=51835

I just tested via curl and haven't had any issues.

p3lim 06-28-15 08:57 AM

It is storing the cookie correctly, which is purged automatically when the heroku server node goes to sleep.
I'll see if I can add a manual purge function, but for now you can manually set the node to sleep if you want to.

Did you try a forced update by the way?

p3lim 06-28-15 09:23 AM

0.5.0 is out, changes:
  • Cloned repositories should now merge instead of override, this should resolve some issues when updating an addon multiple times before the server sleeps.
  • Compatible version flags on wowinterface are now updated automatically, based on the interface version in the toc file.
    • Example: If your interface version is 60200 it should be marked as compatible with 6.2 on wowinterface.
  • Added a few more debugging messages

Choonstertwo 07-08-15 09:45 AM

I'm getting a "Fetching failed with status 128" error when forcing an update on one of my AddOns.

Full log:
Code:

Jul 08 08:38:14 choonster-wow-addons heroku/router:  at=info method=GET path="/force/CustomTooltips/1.04" host=choonster-wow-addons.herokuapp.com request_id=dad177d4-2d6f-4f4e-a4ab-7305333f23eb fwd="220.239.127.236" dyno=web.1 connect=2ms service=83ms status=304 bytes=131
Jul 08 08:38:14 choonster-wow-addons app/web.1:  [LOG.1] Work order #1 started
Jul 08 08:38:14 choonster-wow-addons app/web.1:  [LOG] Received forced check for "CustomTooltips" version "1.04".
Jul 08 08:38:15 choonster-wow-addons app/web.1:  [LOG.1] Found tag link on CurseForge.
Jul 08 08:38:15 choonster-wow-addons app/web.1:  [LOG.1] Found file link on CurseForge.
Jul 08 08:38:15 choonster-wow-addons app/web.1:  [LOG.1] Successfully downloaded file from CurseForge.
Jul 08 08:38:16 choonster-wow-addons app/web.1:  [LOG.1] Successfully authenticated with WowInterface.
Jul 08 08:38:16 choonster-wow-addons app/web.1:  [LOG.1] Attempting to fetch changelog from path "CHANGELOG.md".
Jul 08 08:38:16 choonster-wow-addons app/web.1:  [LOG.1] Found existing addon, previous version: "1.03".
Jul 08 08:38:19 choonster-wow-addons app/web.1:  [LOG.1] Changelog fetched successfully from path "CHANGELOG.md".
Jul 08 08:38:19 choonster-wow-addons app/web.1:  [ERR.1] Error: Fetching failed with status 128.

AddOn Packager Proxy: 0.5.1
addons.json: https://gist.github.com/Choonster/2ce79d3eb7adee8bdb2d

Do you know what the issue might be?

p3lim 07-08-15 09:57 AM

I'll take a look at it tomorrow if I get a chance.

ckaotik 07-09-15 05:51 AM

Quote:

Originally Posted by p3lim (Post 309512)
Did you try a forced update by the way?

Yup, tried that too, but without success. The work order gets triggered, but the error remains.

Unfortunately, I'm still running into the same issue even on 0.5.1. Could this be because of my Heroku setup? I'm using the new "Free" dyno on EU servers.
Code:

heroku/web.1: Starting process with command `npm start`
app/web.1: Detected 512 MB available memory, 512 MB limit per process (WEB_MEMORY)
app/web.1: Recommending WEB_CONCURRENCY=1
app/web.1: > [email protected] start /app
app/web.1: > node server.js
heroku/web.1: State changed from starting to up
app/web.1: [LOG] Successfully fetched addon list.
heroku/router: at=info method=GET path="/force/ckaosMilitia/6.2v2-release" host=ckaotik-wow-addons.herokuapp.com request_id=169da82e-b1b0-4a2f-8497-3763a5e9c61f fwd="85.181.242.174" dyno=web.1 connect=0ms service=18ms status=304 bytes=131
app/web.1: [LOG] Received forced check for "ckaosMilitia" version "6.2v2-release".
app/web.1: [LOG.1] Work order #1 started
app/web.1: [LOG.1] Found tag link on CurseForge.
app/web.1: [LOG.1] Successfully downloaded file from CurseForge.
app/web.1: [LOG.1] Found file link on CurseForge.
app/web.1: [LOG.1] Successfully authenticated with WowInterface.
app/web.1: [ERR.1] "http://api.wowinterface.com/addons/details/23324.json" responded with code 403: "[object Object]"


p3lim 08-10-15 09:11 AM

0.5.2 is out, changes:
  • Dependencies fixed (was fixed in 0.5.1 but forgot to make a changelog).
  • Added a way to force update the addon list
    • your-app.herokuapp.com/updatelist
  • Fixed issues with fetching and merging
  • Replaced deprecated methods usage

Phanx 08-10-15 06:01 PM

Quote:

Originally Posted by Niketa (Post 307628)
Sorry if this is a nub question, but it's requiring me to put my credit card information in to use this app on Heroku.

It looks like this requirement could be avoided if you (p3lim) removed the dependency on the Papertrail logging app/plugin.

p3lim 08-11-15 05:51 AM

Quote:

Originally Posted by Phanx (Post 310237)
It looks like this requirement could be avoided if you (p3lim) removed the dependency on the Papertrail logging app/plugin.

Papertrail is not a requirement, and the version I've added as an option is free anyways.

Even if I removed it as an option, Heroku still requires any user to register a credit card.

Phanx 08-11-15 09:41 PM

Quote:

Originally Posted by p3lim (Post 310247)
Papertrail is not a requirement, and the version I've added as an option is free anyways.

Even if I removed it as an option, Heroku still requires any user to register a credit card.

"Credit card information is not required for free apps without add-ons. It becomes a requirement once you wish to own more than 5 apps at a time, or to use add-ons other than postgresql:dev or pgbackups:plus –– even if the add-ons are free."

It doesn't matter that Papertrail is free; its mere presence triggers the verification requirement. It didn't appear to be optional, or removable, on the deployment screen, which is where I stopped since I'm not interested in giving an entity that claims it won't charge me any money information that has no purpose other than charging me money.

p3lim 08-12-15 06:12 AM

Quote:

Originally Posted by Phanx (Post 310277)
"Credit card information is not required for free apps without add-ons. It becomes a requirement once you wish to own more than 5 apps at a time, or to use add-ons other than postgresql:dev or pgbackups:plus –– even if the add-ons are free."

It doesn't matter that Papertrail is free; its mere presence triggers the verification requirement. It didn't appear to be optional, or removable, on the deployment screen, which is where I stopped since I'm not interested in giving an entity that claims it won't charge me any money information that has no purpose other than charging me money.

They must have changed their policy, when I was developing this they required a credit card just to make an app, no matter if it was free or not.

Considering that, I'm gonna remove Papertrail from the package. It's still nice to have for debugging, although Heroku's CLI can be used just as well:
Code:

heroku logs --app name-of-your-app

p3lim 08-12-15 06:17 AM

0.5.3 is out, changes:
  • Removed the Papertrail addon bundle
    • This allows the app to be installed without requiring a credit card

Phanx 08-14-15 11:52 PM

Last night I deployed, followed the setup instructions, added the webhooks, made a tag... and of course the CurseForge packager was AFK, so I wasn't able to see if it worked. Today there's finally a package on CurseForge, so I attempted to force an update, and got this error message:
Repository "BetterBattlePetTooltip" is not tracked.

...so something isn't set up correctly. Here's my addons.json gist:
https://gist.github.com/Phanx/ce8f911fc73b67363270

The GitHub repo for the addon in question is here:
https://github.com/Phanx/BetterBattlePetTooltip

The webhook is set to "create and push", and I've triple-checked that the Curse project name and WoWI ID are correct in the gist. Where did I screw up?

p3lim 08-15-15 08:07 AM

You can force-update the list, it usually fixes those issues.
https://secret-journey-8122.herokuapp.com/updatelist

You also have some errors in your list:
https://gist.github.com/Phanx/ce8f91...json-L187-L215

Phanx 08-15-15 07:05 PM

Thanks, seems to be working now. The "updatelist" link gave this error:
Code:

TypeError: undefined is not a function
    at /app/server.js:68:6
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)
    at next (/app/node_modules/express/lib/router/route.js:110:13)
    at Route.dispatch (/app/node_modules/express/lib/router/route.js:91:3)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)
    at /app/node_modules/express/lib/router/index.js:267:22
    at Function.proto.process_params (/app/node_modules/express/lib/router/index.js:321:12)
    at next (/app/node_modules/express/lib/router/index.js:261:10)
    at expressInit (/app/node_modules/express/lib/middleware/init.js:23:5)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)

...but the forced-update URL for the addon correctly uploaded to WoWI.

p3lim 08-15-15 07:33 PM

Quote:

Originally Posted by Phanx (Post 310367)
Thanks, seems to be working now. The "updatelist" link gave this error:
Code:

TypeError: undefined is not a function
    at /app/server.js:68:6
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)
    at next (/app/node_modules/express/lib/router/route.js:110:13)
    at Route.dispatch (/app/node_modules/express/lib/router/route.js:91:3)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)
    at /app/node_modules/express/lib/router/index.js:267:22
    at Function.proto.process_params (/app/node_modules/express/lib/router/index.js:321:12)
    at next (/app/node_modules/express/lib/router/index.js:261:10)
    at expressInit (/app/node_modules/express/lib/middleware/init.js:23:5)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:82:5)


Fixed: https://github.com/p3lim/addon-packa...84618b35472a47

New version out for that; 0.5.4

LaRIC 07-21-16 12:17 AM

.pkgmeta
 
Atm my addon is hosted on Curseforge using their packager. I would prefer to use this method to host on github and release on both wowi and curse at the same time.
But I wonder how I replicate the functionality of the .pkgmeta?
My current pkgmeta looks like this.


Code:

externals:
    libs/LibStub:
        url: svn://svn.wowace.com/wow/libstub/mainline/trunk
        tag: latest
    libs/CallbackHandler-1.0:
        url: svn://svn.wowace.com/wow/callbackhandler/mainline/trunk/CallbackHandler-1.0
        tag: latest
    libs/AceAddon-3.0:
        url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceAddon-3.0
        tab: latest
    libs/AceDB-3.0:
        url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceDB-3.0
        tag: latest
    libs/AceTimer-3.0:
        url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceTimer-3.0
        tag: latest
    libs/AceEvent-3.0:
        url: svn://svn.wowace.com/wow/ace3/mainline/trunk/AceEvent-3.0
        tag: latest
enable-nolib-creation: no


p3lim 07-21-16 05:53 AM

Quote:

Originally Posted by LaRIC (Post 316678)
[color=#e5e5e5]Atm my addon is hosted on Curseforge using their packager. I would prefer to use this method to host on github and release on both wowi and curse at the same time.

...

For this tool to work (in it's current implementation) you need to use the repository on both GitHub and CurseForge.

LaRIC 07-21-16 11:20 AM

Quote:

Originally Posted by p3lim (Post 316691)
For this tool to work (in it's current implementation) you need to use the repository on both GitHub and CurseForge.

Well that is fine. but how do I do with my externals? Should I change them from externals and just embed them manually or how should I go about it?

p3lim 07-21-16 12:27 PM

Quote:

Originally Posted by LaRIC (Post 316703)
Well that is fine. but how do I do with my externals? Should I change them from externals and just embed them manually or how should I go about it?

The CurseForge packager can't deal with submodules/externals, you would still need that metadata file.

Phanx 08-02-16 09:31 AM

HTTP is (apparently) no longer supported on Curse; I've submitted a pull request on GitHub switching the Curse URLs over to HTTPS.

p3lim 08-08-16 11:35 AM

0.6.0 is out, changes:
  • Now using API tokens for WoWInterface authentication, generate one here.
  • CurseForge is now only accepting HTTPS connections (thanks Phanx)

Big thanks to dolby for making this happen!

p3lim 08-08-16 11:42 AM

0.6.1 is out, changes:
  • Now using HTTPS to communicate with WoWInterface too.

p3lim 11-17-16 09:08 PM

CurseForge has been redesigned, I can not guarantee this project will work until I've had a look at it.

p3lim 11-17-16 11:23 PM

0.7.0 is out, changes:
  • Fixed warnings being thrown for positive responses from WoWInterface API
  • Use the new compatibility API from WoWInterface (thanks to dolby!)
  • Updated parsing of CurseForge and their website updates

APP will now flag the correct compatible game versions, first by checking the interface version in the toc file, with a fallback to the default (latest) game version.

p3lim 04-29-17 04:05 AM

Forgot to update here for the last few versions, but here are the changes:

0.7.1 is out, changes:
  • Fixed changelog not being pushed correctly.

0.7.2 is out, changes:
  • Fixed interface version detection

0.7.3 is out, changes:
  • Fixed force updating
  • Fixed CurseForge parsing
  • Added support for WowAce as a fallback when project was not found on CurseForge
  • Updated entire stack to latest versions

alar 11-06-17 08:21 AM

Awesome tool, really.
I was wondering if would be possibile to polish a bit the answers for updatelist and force.
  • updatelist:
    I noted that if the gist contain a broken json, no warning is given.
    Maybe an answer with
    status: (success:failure)
    data: addons.json content
    would be nice
    force:
    status: (success/failure) message: descriptive result (could be updated to version x.x.x)

p3lim 11-06-17 11:57 AM

Quote:

Originally Posted by alar (Post 325727)
Awesome tool, really.
I was wondering if would be possibile to polish a bit the answers for updatelist and force.
  • updatelist:
    I noted that if the gist contain a broken json, no warning is given.
    Maybe an answer with
    status: (success:failure)
    data: addons.json content
    would be nice
    force:
    status: (success/failure) message: descriptive result (could be updated to version x.x.x)

Good suggestions, however I've personally switched to a different system, so this project likely won't see any updates from me in a while, aside from things like bugfixes and PRs.

The system I'm using has a detailed guide (written by me) here:
http://www.wowinterface.com/forums/s...ad.php?t=55801

Advantages are:
  • No need to set up a server (Heroku) and keep it up-to-date
  • Settings are stored per-project (alike the .pkgmeta), not hidden in settings/gists
  • No need to poll CurseForge for updates, which can't be guaranteed
  • More widely adopted by larger projects (BigWigs in particular), so it should be considered more stable/long-term available

My guide has a hard dependancy on Git, but the script can just as well be run locally (which is way harder with this proxy project)


All times are GMT -6. The time now is 05:14 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI