Take the contents of an entire addon directory and output a packaged zip file that is clean of development, debug, and OS-specific artifacts that is ready to be distributed or uploaded to ESOUI.
Reads the directory name and package manifest file for information about the addon, including any options to ignore addon-specific files and folders, where to place the output package, and more.
For more configuration information, issues, or feature requests, visit:
https://github.com/inimicus/makePackage/
makePackage.sh [options]
makePackage.sh bump [(--to | -t) <version>] [--major | --minor | --patch] [options]
makePackage.sh bump-api [(--to | -t) <version>] [--squash | -s] [options]
makePackage.sh (--help | -h)
makePackage.sh (--version | -v)
-
--verbose
Include additional detail about each action performed in program output.
Short option:
-p
-
--dry-run
Print out commands to execute without executing them.
Short option:
-d
-
--no-commit
Disables automatic commit.
Short option:
-n
-
--message <message>
Specify a message for the commit. When a message is not specified, the default message will be used.
Short option:
-m <message>
Bump the addon version by one patch and commit the change.
Options:
-
--major
Bumps the major version.
-
--minor
Bumps the minor version.
-
--patch
Bumps the patch version (default).
-
--to <version>
Explicitly set the addon version to bump to. When set, options passed to bump the major, minor, or patch number are ignored.
Short option:
-t <version>
Bump the API version by one. If multiple API versions are found in the manifest file, each will be incremented by one.
Options:
-
--squash
If multiple API versions are encountered, bump the most recent version and remove the rest.
Short option:
-s
-
--to <version>
Explicitly set the API version to bump to.
Short option:
-t <version>
You can customize how packages are generated by adding configuration options to
the package manifest file. In contrast to ESOUI addon data, options are prefixed
with a semi-colon (;
) to avoid conflict or unforseen incompatibilities.
-
PackageExcludes
A space-separated list of file and directories to exclude in addition to the built-in excludes (.git, README.md, .DS_Store, etc).
Wildcards (*) are supported and passed to the
zip
command to exclude the wildcard range. -
PackageReleaseDir
Directory, relative to addon root, to place packaged files. If this directory does not exist, it will be created. Spaces in the directory name are not allowed/supported.
Default:
release
-
PackageBumpFiles
A space-separated list of files to parse when bumping the addon version number.
Version replacement in these files will only act on versions that are directly in quotes, single or double, to avoid falsely matching versions in comments or other areas.
myAddonVersion = '1.2.3' -- Matches myAddonVersion = "1.2.3" -- Also matches myAddonVersion = 1.2.3 -- Doesn't match, Lua wouldn't like it either -- Fixed in version 1.2.3 -- Doesn't match local function myFunction() return end
The following configuration will:
- Ignore all files in the
art/
andassets/
directories - Ignore an image in the addon root directory
- Place packaged files in
packages
directory in the addon root - Parse
src/Main.lua
andsrc/Other.lua
when bumping version numbers
; PackageExcludes: art/* assets/* meme.gif
; PackageReleaseDir: packages
; PackageBumpFiles: src/Main.lua src/Other.lua
-
makePackage.sh
Create a package and commit with the default message.
-
makePackage.sh --no-commit
Create a package, skip auto commit.
-
makePackage.sh -m "Add my sweet packaged addon that isn't broken at all."
Create a package and commit with a specific message.
-
makePackage.sh bump
Bump addon to the next patch version and commit with the default message.
-
makePackage.sh bump --minor
Bump addon to the next minor version and commit with the default message.
-
makePackage.sh bump -t "2.3.4" -m "Let's hope this version is less broken."
Bump addon version to 2.3.4 and commit with a specific message.
-
makePackage.sh bump-api -s
Bump the API version and remove any previous API versions.
-
makePackage.sh bump-api --to "100123 100234"
Explicitly set the API version and commit with the default message.