wap
is a developer-friendly World of Warcraft addon packager.
- Packages retail or classic WoW addons (or both!)
- Uploads your addons to CurseForge
- Automatically installs your addons to your AddOns folder when a file changes in your project
- Generates valid TOC files automagically
- Sets up new addon projects quickly, ready to go with one command
- Consolidates all configuration in one easy-to-edit file
- Supports and is tested on Windows, macOS, and Linux
- Has awesome documentation
This entire set of instructions is runnable without editing a single line of code!
Download Python 3.9 or greater and install it.
Install
wap
with pip:$ pip install --upgrade --user wow-addon-packager
Create a new project:
$ wap quickstart MyAddon # or whatever name you'd like!
and answer the prompted questions. Don't worry too much about your answers -- you can always change them later in your configuration file.
Then change to your new project's directory
$ cd "MyAddon"
Package your addon
$ wap package
Install your addon so you can test it out in your local WoW installation:
- Windows
$ wap dev-install --wow-addons-path "C:\Program Files (x86)\World of Warcraft\_retail_\Interface\AddOns"
- macOS
$ wap dev-install --wow-addons-path "/Applications/World of Warcraft/_retail_/Interface/AddOns"
Note
Also check out the
watch
command for automatic repackage and re-dev-installation!Upload your project to CurseForge
$ wap upload --addon-version "dev" --curseforge-token "<your-token>"
You can generate a new token at Curseforge's My API Tokens page.
See the official documentation site. There's a lot more information there!
Also, the wap
command is fully documented in its help text. View it with:
$ wap --help
$ wap build --help
$ wap upload --help
... etc
If you'd like to show others in your documentation that you are using wap
to package
your addon, you can include the following official badge (hosted by https://shields.io/):
- Markdown
[![Packaged by wap](https://img.shields.io/badge/packaged%20by-wap-d33682)](https://github.com/t-mart/wap)
- reStructuredText
.. image:: https://img.shields.io/badge/packaged%20by-wap-d33682 :target: https://github.com/t-mart/wap :alt: Packaged by wap
See how to contribute in the official docs.
- localization via curseforge?
- Dockerfile github action https://docs.github.com/en/actions/creating-actions/creating-a-docker-container-action
Copyright (c) 2021 Tim Martin