
* Readme: link to docs repository * Move compile and release instructions to new file * Remove compile and release instructions from readme
45 lines
2.2 KiB
Markdown
45 lines
2.2 KiB
Markdown
## Compiling
|
|
|
|
The traditional route is by undergoing the [AO2 Rite of Passage](https://gist.github.com/oldmud0/6c645bd1667370c3e92686f7d0642c38).
|
|
|
|
However, these days it is easy to get away with using the default Qt toolchain on any platform, which creates a dynamic executable. (Don't forget to invoke windeployqt when creating a release.)
|
|
|
|
### Dependencies
|
|
|
|
- [BASS](http://un4seen.com) (optional; may use Qt Multimedia instead)
|
|
- [Discord Rich Presence](https://github.com/discordapp/discord-rpc) (optional)
|
|
|
|
## Release instructions
|
|
|
|
Follow these steps to make a new full release:
|
|
|
|
- Set a new AO version in the `.pro` file and in `aoapplication.h`.
|
|
- Compile the project.
|
|
- Commit the version bump and and create a tag for the commit.
|
|
- Rename the executable to `Attorney_Online`.
|
|
- Create a temp directory.
|
|
- Copy a fresh `base` folder to the temp dir. Ensure that the timestamps are consistent.
|
|
- Ignore this step if creating a client-only release.
|
|
- Copy the repository's `base` folder to the temp dir.
|
|
- Append `.sample` to the names of all `.ini` files, including `serverlist.txt`.
|
|
- Copy the game executable to the temp dir.
|
|
- Copy `bass.dll`, `discord-rpc.dll`, and `qapng.dll` if applicable.
|
|
- Copy `README.md` as `README.md.txt` with CRLF line endings.
|
|
- Copy `LICENSE` as `LICENSE.txt` with CRLF line endings.
|
|
- Compress the contents of the temp dir to an archive with maximum compression, but
|
|
be sure that the contents are placed inside the root directory of the archive and not
|
|
within a subdirectory.
|
|
- Compute the SHA-1 hash of the archive.
|
|
- Upload the archive to the Wasabi bucket and an additional mirror (e.g. MEGA or OneDrive)
|
|
(if this is a full release).
|
|
- Publish a GitHub release and upload the archive there (if this is a client-only release).
|
|
- Add the new version to the `program.json` manifest for the respective platform
|
|
(if this is a client-only release).
|
|
- Update the following on the website for the respective platform:
|
|
- Full download links (Wasabi and mirror)
|
|
- Client download link
|
|
- Full download hash
|
|
- Client download hash
|
|
|
|
Repeat for each platform (currently 32-bit Windows and 64-bit Linux). Once you're done, don't forget to announce your release!
|