summaryrefslogtreecommitdiff
path: root/docs/mod-build-config.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/mod-build-config.md')
-rw-r--r--docs/mod-build-config.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/mod-build-config.md b/docs/mod-build-config.md
index 9121c175..6c8ea2fa 100644
--- a/docs/mod-build-config.md
+++ b/docs/mod-build-config.md
@@ -14,6 +14,7 @@ for SMAPI mods and related tools. The package is fully compatible with Linux, Ma
* [Special cases](#special-cases)
* [Custom game path](#custom-game-path)
* [Non-mod projects](#non-mod-projects)
+* [For SMAPI developers](#for-smapi-developers)
* [Release notes](#release-notes)
## Use
@@ -265,6 +266,27 @@ If you need to copy the referenced DLLs into your build output, add this too:
<CopyModReferencesToBuildOutput>true</CopyModReferencesToBuildOutput>
```
+## For SMAPI developers
+The mod build package consists of three projects:
+
+project | purpose
+------------------------------------------------- | ----------------
+`StardewModdingAPI.ModBuildConfig` | Configures the build (references, deploying the mod files, setting up debugging, etc).
+`StardewModdingAPI.ModBuildConfig.Analyzer` | Adds C# analyzers which show code warnings in Visual Studio.
+`StardewModdingAPI.ModBuildConfig.Analyzer.Tests` | Unit tests for the C# analyzers.
+
+To prepare a build of the NuGet package:
+1. Install the [NuGet CLI](https://docs.microsoft.com/en-us/nuget/install-nuget-client-tools#nugetexe-cli).
+1. Change the version and release notes in `package.nuspec`.
+2. Rebuild the solution in _Release_ mode.
+3. Open a terminal in the `bin/Pathoschild.Stardew.ModBuildConfig` package and run this command:
+ ```bash
+ nuget.exe pack
+ ```
+
+That will create a `Pathoschild.Stardew.ModBuildConfig-<version>.nupkg` file in the same directory
+which can be uploaded to NuGet or referenced directly.
+
## Release notes
### Upcoming release
* Updated for SMAPI 3.0 and Stardew Valley 1.4.