Skip to content

Publishing a New Release

YVT edited this page Oct 13, 2017 · 25 revisions
  1. Replace each version number in CMakeLists.txt, OpenSpades.h, Resources/PackageInfo.json, XSpades/PackageInfo.json, and XSpades/XSpades-Info.plist with the new one. Version numbers in Resources/PackageInfo.json, XSpades/PackageInfo.json must look like [x, x, x, 4] for a stable release.
  2. Create a new git commit with the following commit message: "Bump version to x.y.z" (x.y.z is the version you want to publish)

Making a Windows binary package

  1. Follow the building steps as written in README.md. Before building the generated solution, change the build configuration to RelWithDebugInfo, and open the property dialog of the project OpenSpades, go to Configuration Properties → General, and change Platform Toolset to Visual Studio 20xx - Windows XP (v1xx_xp). FIXME: changing platform toolset causes compilation to fail, so maybe you shouldn't do it
  2. Create a directory named OpenSpades-x.y.z-Windows and copy following files to it.
    • openspades.exe and Resources from the build directory. openspades.exe should be renamed to OpenSpades.exe.
    • All *.dll files from Sources/Externals/lib.
    • MSVC runtime DLL(s) (msvcp140.dll and vcruntime140.dll in case of MSVC 14).
    • COPYING-*, YSRSpades.dll, pthreadGC2.dll, libstdc++-6.dll, openal32.dll, and libgcc_s_dw2-1.dll from the previous release of OpenSpades.
    • The contents of Nonfree and Official Mods from the non-free pak, to Resources.
  3. Open Resources/PackageInfo.json with a text editor and replace "SourceCode" with "Windows".
  4. Zip OpenSpades-x.y.z-Windows using whatever zip archiver you have. Make sure the root of the created zip archive contains a single directory named OpenSpades-x.y.z-Windows, not the contents of it.
  5. Store openspades.pdb along with OpenSpades-x.y.z-Windows.zip. You'll need it to analyze core dump files sent by users.

Making a macOS binary package

  1. Follow the building steps as written in README.md. Build the project with the Release build configuration.
  2. Copy COPYING-* from the previous release of OpenSpades to the same directory as the built application bundle (OpenSpades.app) is located.
  3. Zip OpenSpades.app and COPYING-* and rename it to OpenSpades-x.y.z-OSX.zip.

Distribution Channels

OpenSpades is distributed through the following channels:

  1. GitHub's "Releases" page
  2. GameJolt

1. GitHub

Make sure to add the "This version is outdated" text to the previous version. This helps users find the latest version if they were directed to the release page via a link pointing to a old version.

2. GameJolt

TODO

After publishing a new release

  1. Register a new version to openspades.yvt.jp/api/version.json.
  2. Replace version numbers in Resources/PackageInfo.json, XSpades/PackageInfo.json with [y, y, y, 0] and "pre-y.y.y" (y.y.y is the next version with the revision number incremented) and create a new git commit with some message. (TODO: what message?)
  3. Update Trello.

References