SaddlebagExchangeWoW

SaddlebagExchangeWoW

740 Downloads

add .pgmeta

cohenaj194 opened this issue ยท 1 comments

commented

The .pkgmeta file is commonly used in WoW (World of Warcraft) addon repositories, particularly when packaging and distributing addons. It defines various metadata for the packaging script and can specify external libraries your addon depends on, where to move files, and what to include in or exclude from the final package.

Here's a basic outline of what might be included in a .pkgmeta file:

  1. External Dependencies: These are other addons or libraries that your addon depends on to function properly. They are typically pulled from other repositories or URLs.
  2. Package Metadata: This includes information about how the addon should be packaged, including which files to include or exclude.
  3. Manual File Moves: Specifies any files that need to be relocated within the packaged directory.
  4. Changelog Generation: Some .pkgmeta configurations can include instructions for generating a changelog.

Example .pkgmeta File

Here is a very basic example of what the .pkgmeta file might look like:

# Package metadata and options
package-as: MyAddon
ignore:
  - .git
  - .github
  - .gitignore

# External repositories to include
externals:
  Libs/LibStub:
    url: "https://repos.curseforge.com/wow/libstub"
    tag: "latest"
  Libs/CallbackHandler-1.0:
    url: "https://repos.curseforge.com/wow/callbackhandler"
    tag: "latest"

# Manual file operations
move-folders:
  MyAddon/Config: Config
  MyAddon/Locale: Locale

# Files to exclude from the final package
manual-changelog:
  filename: CHANGELOG.md
  markup-type: markdown

What to Include in Your .pkgmeta:

  • Package-as: The name of the addon as it should appear when packaged.
  • Ignore: A list of files or directories to ignore during packaging.
  • Externals: Other repositories containing libraries your addon depends on.
  • Move-folders: Specific directories that should be restructured in the final package.
  • Manual-changelog: Instructions for generating a changelog, if applicable.

Creating Your .pkgmeta:

You should tailor your .pkgmeta file according to the specific needs of your addon. Determine what libraries your addon depends on, if any, and how you want your file structure organized. Once you create your .pkgmeta, commit it to your repository in the root directory or the specific directory configured in your GitHub Actions workflow.

If you need more detailed guidance or specific examples for your addon, let me know!