Skip to content

johnnylam88/curseforge-packager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 

Repository files navigation

release.sh

release.sh generates an addon zipfile from a Git or SVN checkout.

release.sh works by creating a new project directory, checking out external repositories within the project directory, then copying files from the checkout into the project directory. The project directory is then zipped to create a distributable addon zipfile.

release.sh reads .pkgmeta and supports the following directives:

  • externals (Git and SVN)
  • ignore
  • license-output (for default All Rights Reserved license)
  • manual-changelog
  • move-folders
  • package-as

release.sh supports the following repository substitution keywords when copying the files from the checkout into the project directory.

  • @alpha@...@end-alpha@
  • @debug@...@end-debug@
  • @do-not-package@...@end-do-not-package@
  • @localization(locale="locale", format="format", ...)@
    • escape-non-ascii
    • handle-subnamespaces
    • handle-unlocalized
    • namespace
  • @no-lib-strip@...@end-no-lib-strip@
  • @non-alpha@...@end-non-alpha@
  • @non-debug@...@end-non-debug@
  • @project-revision@
  • @project-version@

release.sh reads the TOC file, if present, to determine the name of the project.

release.sh assumes that tags (Git annotated tags and SVN tags) are named for the version numbers for the project. It will identify if the HEAD is tagged and use that as the current version number. It will search back through parent commits for the previous tag that is a release version number and generate a changelog containing the commits since that previous release tag.

release.sh will create a default license file in the project directory with the contents All Rights Reserved if a license file does not already exist.

By default, release.sh creates releases in a release subdirectory of the top-level directory of the checkout.

Using release.sh

The recommended way to include release.sh in a project is to:

  1. Create a release subdirectory in your top-level checkout.
  2. Copy release.sh into the release directory.
  3. Ignore the release subdirectory in .pkgmeta.
  4. Run release.sh.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages