summaryrefslogtreecommitdiff
path: root/src/SMAPI.ModBuildConfig/build/smapi.targets
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI.ModBuildConfig/build/smapi.targets')
-rw-r--r--src/SMAPI.ModBuildConfig/build/smapi.targets10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/SMAPI.ModBuildConfig/build/smapi.targets b/src/SMAPI.ModBuildConfig/build/smapi.targets
index 9f3f13f5..f7e75e23 100644
--- a/src/SMAPI.ModBuildConfig/build/smapi.targets
+++ b/src/SMAPI.ModBuildConfig/build/smapi.targets
@@ -118,9 +118,17 @@
<!--*********************************************
** Deploy mod files & create release zip after build
**********************************************-->
+ <!-- if game path or OS is invalid, show one user-friendly error instead of a slew of reference errors -->
<Target Name="BeforeBuild">
- <ValidateInstallTask GameDir="$(GamePath)" Platform="$(OS)" />
+ <Error Condition="'$(OS)' != 'OSX' AND '$(OS)' != 'Unix' AND '$(OS)' != 'Windows_NT'" Text="The mod build package doesn't recognise OS type '$(OS)'." />
+
+ <Error Condition="!Exists('$(GamePath)')" Text="The mod build package can't find your game folder. You can specify where to find it; see details at https://github.com/Pathoschild/SMAPI/blob/develop/docs/mod-build-config.md#game-path." />
+ <Error Condition="'$(OS)' == 'Windows_NT' AND !Exists('$(GamePath)\Stardew Valley.exe')" Text="The mod build package found a a game folder at $(GamePath), but it doesn't contain the Stardew Valley.exe file. If this folder is invalid, delete it and the package will autodetect another game install path." />
+ <Error Condition="'$(OS)' != 'Windows_NT' AND !Exists('$(GamePath)\StardewValley.exe')" Text="The mod build package found a a game folder at $(GamePath), but it doesn't contain the StardewValley.exe file. If this folder is invalid, delete it and the package will autodetect another game install path." />
+ <Error Condition="!Exists('$(GamePath)\StardewModdingAPI.exe')" Text="The mod build package found a game folder at $(GamePath), but it doesn't contain SMAPI. You need to install SMAPI before building the mod." />
</Target>
+
+ <!-- deploy mod files & create release zip -->
<Target Name="AfterBuild">
<DeployModTask
ModFolderName="$(ModFolderName)"