diff --git a/.gitignore b/.gitignore index 3e56cfa..39018c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +/publish + # Created by https://www.toptal.com/developers/gitignore/api/rider,csharp # Edit at https://www.toptal.com/developers/gitignore?templates=rider,csharp diff --git a/FCPModUpdater.csproj b/FCPModUpdater.csproj index 088f0d0..5860c53 100644 --- a/FCPModUpdater.csproj +++ b/FCPModUpdater.csproj @@ -15,4 +15,9 @@ + + embedded + true + + diff --git a/Services/PathDiscoveryService.cs b/Services/PathDiscoveryService.cs index 9b9f422..d5f40e7 100644 --- a/Services/PathDiscoveryService.cs +++ b/Services/PathDiscoveryService.cs @@ -48,18 +48,15 @@ public class PathDiscoveryService private static List GetWindowsPaths() { - var programFiles = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles); var programFilesX86 = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86); var paths = new List { // Steam default locations Path.Combine(programFilesX86, "Steam/steamapps/common/RimWorld/Mods"), - Path.Combine(programFiles, "Steam/steamapps/common/RimWorld/Mods"), // GOG default location Path.Combine(programFilesX86, "GOG Galaxy/Games/RimWorld/Mods"), - Path.Combine(programFiles, "GOG Galaxy/Games/RimWorld/Mods"), @"C:\GOG Games\RimWorld\Mods", }; diff --git a/publish-all.sh b/publish-all.sh new file mode 100755 index 0000000..936288f --- /dev/null +++ b/publish-all.sh @@ -0,0 +1,22 @@ +#!/bin/bash +APP_NAME="FCPModUpdater" + +# Self-contained +dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -o ./publish/win-x64-sc ./FCPModUpdater.csproj +dotnet publish -c Release -r linux-x64 --self-contained true -p:PublishSingleFile=true -o ./publish/linux-x64-sc ./FCPModUpdater.csproj + +# Archive self-contained builds +cd ./publish +zip -r "${APP_NAME}-win-x64-selfcontained.zip" win-x64-sc && rm -rf win-x64-sc +tar -czvf "${APP_NAME}-linux-x64-selfcontained.tar.gz" linux-x64-sc && rm -rf linux-x64-sc +cd .. + +# Framework-dependent +dotnet publish -c Release -r win-x64 --self-contained false -p:PublishSingleFile=false -o ./publish/win-x64-fd ./FCPModUpdater.csproj +dotnet publish -c Release -r linux-x64 --self-contained false -p:PublishSingleFile=false -o ./publish/linux-x64-fd ./FCPModUpdater.csproj + +# Archive framework-dependent builds (keep originals) +cd ./publish +zip -r "${APP_NAME}-win-x64.zip" win-x64-fd +tar -czvf "${APP_NAME}-linux-x64.tar.gz" linux-x64-fd +cd ..