diff options
Diffstat (limited to 'docs/technical-docs.md')
-rw-r--r-- | docs/technical-docs.md | 79 |
1 files changed, 19 insertions, 60 deletions
diff --git a/docs/technical-docs.md b/docs/technical-docs.md index ed45871a..5883ee00 100644 --- a/docs/technical-docs.md +++ b/docs/technical-docs.md @@ -16,7 +16,7 @@ mods, this section isn't relevant to you; see the main README to use or create m * [SMAPI web services](#smapi-web-services) * [Overview](#overview) * [Log parser](#log-parser) - * [Mods API](#mods-api) + * [Web API](#web-api) * [Development](#development-2) * [Local development](#local-development) * [Deploying to Amazon Beanstalk](#deploying-to-amazon-beanstalk) @@ -29,7 +29,7 @@ Using an official SMAPI release is recommended for most users. SMAPI uses some C# 7 code, so you'll need at least [Visual Studio 2017](https://www.visualstudio.com/vs/community/) on Windows, -[MonoDevelop 7.0](http://www.monodevelop.com/) on Linux, +[MonoDevelop 7.0](https://www.monodevelop.com/) on Linux, [Visual Studio 2017 for Mac](https://www.visualstudio.com/vs/visual-studio-mac/), or an equivalent IDE to compile it. It uses build configuration derived from the [crossplatform mod config](https://github.com/Pathoschild/Stardew.ModBuildConfig#readme) to detect @@ -44,70 +44,29 @@ executed. This 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. See -[crossplatforming info](https://stardewvalleywiki.com/Modding:Creating_a_SMAPI_mod#Test_on_all_platforms) +[crossplatforming info](https://stardewvalleywiki.com/Modding:Modder_Guide/Test_and_Troubleshoot#Testing_on_all_platforms) on the wiki for the first-time setup. 1. Update the version number in `GlobalAssemblyInfo.cs` and `Constants::Version`. Make sure you use a - [semantic version](http://semver.org). Recommended format: + [semantic version](https://semver.org). Recommended format: - build type | format | example - :--------- | :-------------------------------- | :------ - dev build | `<version>-alpha.<timestamp>` | `2.0-alpha.20171230` - prerelease | `<version>-prerelease.<ID>` | `2.0-prerelease.2` - release | `<version>` | `2.0` + build type | format | example + :--------- | :----------------------- | :------ + dev build | `<version>-alpha.<date>` | `3.0-alpha.20171230` + prerelease | `<version>-beta.<count>` | `3.0-beta.2` + release | `<version>` | `3.0` 2. In Windows: - 1. Rebuild the solution in _Release_ mode. - 2. Rename `bin/Packaged` to `SMAPI <version>` (e.g. `SMAPI 2.0`). - 2. Transfer the `SMAPI <version>` folder to Linux or Mac. - _This adds the installer executable and Windows files. We'll do the rest in Linux or Mac, - since we need to set Unix file permissions that Windows won't save._ - -2. In Linux or Mac: - 1. Rebuild the solution in _Release_ mode. - 2. Copy `bin/internal/Packaged/Mono` into the `SMAPI <version>` folder. - 3. If you did everything right so far, you should have a folder like this: - - ``` - SMAPI-2.x/ - install.exe - readme.txt - internal/ - Mono/ - Mods/* - Mono.Cecil.dll - Newtonsoft.Json.dll - StardewModdingAPI - StardewModdingAPI.config.json - StardewModdingAPI.Internal.dll - StardewModdingAPI.metadata.json - StardewModdingAPI.exe - StardewModdingAPI.pdb - StardewModdingAPI.xml - steam_appid.txt - System.Numerics.dll - System.Runtime.Caching.dll - System.ValueTuple.dll - Windows/ - Mods/* - Mono.Cecil.dll - Newtonsoft.Json.dll - StardewModdingAPI.config.json - StardewModdingAPI.Internal.dll - StardewModdingAPI.metadata.json - StardewModdingAPI.exe - StardewModdingAPI.pdb - StardewModdingAPI.xml - System.ValueTuple.dll - steam_appid.txt - ``` - 4. Open a terminal in the `SMAPI <version>` folder and run `chmod 755 internal/Mono/StardewModdingAPI`. - 5. Copy & paste the `SMAPI <version>` folder as `SMAPI <version> for developers`. - 6. In the `SMAPI <version>` folder... - * edit `internal/Mono/StardewModdingAPI.config.json` and - `internal/Windows/StardewModdingAPI.config.json` to disable developer mode; - * delete `internal/Windows/StardewModdingAPI.xml`. - 7. Compress the two folders into `SMAPI <version>.zip` and `SMAPI <version> for developers.zip`. + 1. Rebuild the solution in Release mode. + 2. Copy `windows-install.*` from `bin/SMAPI installer` and `bin/SMAPI installer for developers` to + Linux/Mac. + +3. In Linux/Mac: + 1. Rebuild the solution in Release mode. + 2. Add the `windows-install.*` files to the `bin/SMAPI installer` and + `bin/SMAPI installer for developers` folders. + 3. Rename the folders to `SMAPI <version> installer` and `SMAPI <version> installer for developers`. + 4. Zip the two folders. ## Customisation ### Configuration file |