summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-12-02 20:48:00 -0500
committerJesse Plamondon-Willard <Pathoschild@users.noreply.github.com>2021-12-02 20:48:00 -0500
commitbf5a9b87627b04523c7885b503e85ca2021c63a3 (patch)
tree7dd0d2ab294dbce7711006a28400df1f6512d192 /docs
parentc10685b03574e967c1bf48aafc814f60196812ec (diff)
downloadSMAPI-bf5a9b87627b04523c7885b503e85ca2021c63a3.tar.gz
SMAPI-bf5a9b87627b04523c7885b503e85ca2021c63a3.tar.bz2
SMAPI-bf5a9b87627b04523c7885b503e85ca2021c63a3.zip
switch to scripted release package process
Diffstat (limited to 'docs')
-rw-r--r--docs/release-notes.md9
-rw-r--r--docs/technical/smapi.md58
2 files changed, 32 insertions, 35 deletions
diff --git a/docs/release-notes.md b/docs/release-notes.md
index d50a923d..cb52f814 100644
--- a/docs/release-notes.md
+++ b/docs/release-notes.md
@@ -1,11 +1,16 @@
← [README](README.md)
# Release notes
+## Upcoming version
+* For SMAPI maintainers:
+ * Added a new [scripted release package process](technical/smapi.md), which removes the need to compile SMAPI on multiple platforms and manually combine them.
+
## 3.13.1
Released 30 November 2021 for Stardew Valley 1.5.5 or later.
-* Improved .NET 5 validation in Windows installer to better explain how to get the right version.
-* Fixed installer failing on Windows when run from the game folder.
+* For players:
+ * Improved .NET 5 validation in Windows installer to better explain how to get the right version.
+ * Fixed installer failing on Windows when run from the game folder.
## 3.13.0
Released 30 November 2021 for Stardew Valley 1.5.5 or later.
diff --git a/docs/technical/smapi.md b/docs/technical/smapi.md
index 29fa43a8..ce1220f1 100644
--- a/docs/technical/smapi.md
+++ b/docs/technical/smapi.md
@@ -75,22 +75,24 @@ the debugger attached, so you can intercept errors and step through the code bei
doesn't work in MonoDevelop on Linux, unfortunately.
### Preparing a release
-To prepare a crossplatform SMAPI release, you'll need to compile it on two platforms: Windows and
-Linux. The instructions below assume you have Windows 11, but you can adapt them for
-a different setup if needed.
+To prepare a crossplatform SMAPI release, you'll need to run the build script on Linux or macOS.
#### Initial setup
-First-time setup on Windows:
-1. [Install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install).
-2. Install the needed software in WSL:
- 1. Run `sudo apt update` to update the package list.
- 2. Install [the .NET 5 SDK](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu)
- (for Stardew Valley 1.5.5+) or [`mono-complete`](https://www.mono-project.com/download/stable/)
- (for earlier versions).
- _You can run `lsb_release -a` to get the Ubuntu version number._
- 3. [Install Steam](https://linuxconfig.org/how-to-install-steam-on-ubuntu-20-04-focal-fossa-linux).
- 4. Launch `steam` and install the game like usual.
- 5. Download and install your preferred IDE. For the [latest standalone Rider
+First-time setup:
+
+1. On Windows only:
+
+ 1. [Install Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install).
+ 2. Run `sudo apt update` in WSL to update the package list.
+ 3. The rest of the instructions below should be run in WSL.
+
+2. Install the required software:
+
+ 1. Install the [.NET 5 SDK](https://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu).
+ _For Ubuntu-based systems, you can run `lsb_release -a` to get the Ubuntu version number._
+ 2. [Install Steam](https://linuxconfig.org/how-to-install-steam-on-ubuntu-20-04-focal-fossa-linux).
+ 3. Launch `steam` and install the game like usual.
+ 4. Download and install your preferred IDE. For the [latest standalone Rider
version](https://www.jetbrains.com/help/rider/Installation_guide.html#prerequisites):
```sh
wget "<download url here>" -O rider-install.tar.gz
@@ -98,23 +100,20 @@ First-time setup on Windows:
ln -s "/opt/JetBrains Rider-<version>/bin/rider.sh"
./rider.sh
```
- 3. Clone the SMAPI repo in WSL:
- ```sh
- git clone https://github.com/Pathoschild/SMAPI.git
- ```
-To compile SMAPI in WSL:
-1. Run `./rider.sh` to open the Rider GUI.
-2. Use the GUI to compile the solution.
+3. Clone the SMAPI repo:
+ ```sh
+ git clone https://github.com/Pathoschild/SMAPI.git
+ ```
To launch the game:
-1. Open a WSL terminal.
-2. Run these commands to start Steam:
+
+1. Run these commands to start Steam:
```sh
export TERM=xterm
steam
```
-3. Launch the game through the Steam UI.
+2. Launch the game through the Steam UI.
#### Prepare the release
1. Update the version numbers in `build/common.targets`, `Constants`, and the `manifest.json` for
@@ -125,15 +124,8 @@ To launch the game:
dev build | `<version>-alpha.<date>` | `3.0.0-alpha.20171230`
prerelease | `<version>-beta.<date>` | `3.0.0-beta.20171230`
release | `<version>` | `3.0.0`
-2. In Windows:
- 1. Rebuild the solution with the _release_ solution configuration.
- 2. Copy the `bin/SMAPI installer` and `bin/SMAPI installer for developers` folders to Linux.
-4. In Linux:
- 1. Rebuild the solution with the _release_ solution configuration.
- 2. Add the `windows-install.*` files from Windows to the `bin/SMAPI installer` and
- `bin/SMAPI installer for developers` folders compiled on Linux.
- 3. Rename the folders to `SMAPI <version> installer` and `SMAPI <version> installer for developers`.
- 4. Zip the two folders.
+2. Run the `build/prepare-install-package.sh` script. This will create the release package in the
+ root `bin` folder.
### Custom Harmony build
SMAPI uses [a custom build of Harmony](https://github.com/Pathoschild/Harmony#readme), which is