diff --git a/CHANGELIST.md b/CHANGELIST.md index a75a1da9..427d8d43 100644 --- a/CHANGELIST.md +++ b/CHANGELIST.md @@ -28,6 +28,7 @@ - Retrieve serial from Cleanrip - Fix build from rushed code - Remove `-disc2` from Cleanrip serial +- Enable Windows builds on Linux and Mac ### 3.0.3 (2023-12-04) diff --git a/MPF.UI.Core/MPF.UI.Core.csproj b/MPF.UI.Core/MPF.UI.Core.csproj index 439d4c74..98e6c1c0 100644 --- a/MPF.UI.Core/MPF.UI.Core.csproj +++ b/MPF.UI.Core/MPF.UI.Core.csproj @@ -5,6 +5,7 @@ net35;net40;net452;net462;net472;net48;netcoreapp3.1;net5.0-windows;net6.0-windows;net7.0-windows;net8.0-windows win-x86;win-x64 false + true true latest enable diff --git a/MPF/MPF.csproj b/MPF/MPF.csproj index 8b5e889f..45f3f0d7 100644 --- a/MPF/MPF.csproj +++ b/MPF/MPF.csproj @@ -7,6 +7,7 @@ WinExe Images\Icon.ico false + true true latest enable diff --git a/publish-nix.sh b/publish-nix.sh index 74fd5322..82d12f4a 100755 --- a/publish-nix.sh +++ b/publish-nix.sh @@ -10,8 +10,32 @@ # If any of these are not satisfied, the operation may fail # in an unpredictable way and result in an incomplete output. -# TODO: Re-enable MPF building after figuring out how to build Windows desktop applications on Linux -# This may require an additional package to be installed? +# Optional parameters +USE_ALL=false +INCLUDE_PROGRAMS=false # TODO: Figure out how to exclude folders with `zip` +NO_BUILD=false +NO_ARCHIVE=false +while getopts "upba" OPTION +do + case $OPTION in + u) + USE_ALL=true + ;; + p) + INCLUDE_PROGRAMS=true + ;; + b) + NO_BUILD=true + ;; + a) + NO_ARCHIVE=true + ;; + *) + echo "Invalid option provided" + exit 1 + ;; + esac +done # Set the current directory as a variable BUILD_FOLDER=$PWD @@ -19,74 +43,127 @@ BUILD_FOLDER=$PWD # Set the current commit hash COMMIT=`git log --pretty=%H -1` -# Restore Nuget packages for all builds -echo "Restoring Nuget packages" -dotnet restore +# Create the build matrix arrays +UI_FRAMEWORKS=("net6.0-windows" "net8.0-windows") +UI_RUNTIMES=("win-x64") +CHECK_FRAMEWORKS=("net6.0" "net8.0") +CHECK_RUNTIMES=("win-x64" "linux-x64" "osx-x64") -# .NET 6.0 Debug -echo "Building .NET 6.0 debug" -#dotnet publish MPF/MPF.csproj -f net6.0-windows -r win-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r win-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r linux-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r osx-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true +# Use expanded lists, if requested +if [ $USE_ALL = true ] +then + UI_FRAMEWORKS=("net40" "net452" "net462" "net472" "net48" "netcoreapp3.1" "net5.0-windows" "net6.0-windows" "net7.0-windows" "net8.0-windows") + UI_RUNTIMES=("win-x86" "win-x64") + CHECK_FRAMEWORKS=("net20" "net35" "net40" "net452" "net462" "net472" "net48" "netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0") + CHECK_RUNTIMES=("win-x86" "win-x64" "win-arm64" "linux-x64" "linux-arm64" "osx-x64") +fi -# .NET 6.0 Release -echo "Building .NET 6.0 release" -#dotnet publish MPF/MPF.csproj -f net6.0-windows -r win-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r win-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r linux-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net6.0 -r osx-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false +# Create the filter arrays +SINGLE_FILE_CAPABLE=("net5.0" "net5.0-windows" "net6.0" "net6.0-windows" "net7.0" "net7.0-windows" "net8.0" "net8.0-windows") +VALID_CROSS_PLATFORM_FRAMEWORKS=("netcoreapp3.1" "net5.0" "net6.0" "net7.0" "net8.0") +VALID_CROSS_PLATFORM_RUNTIMES=("win-arm64" "linux-x64" "linux-arm64" "osx-x64") -# .NET 8.0 Debug -echo "Building .NET 8.0 debug" -#dotnet publish MPF/MPF.csproj -f net8.0-windows -r win-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r win-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r linux-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r osx-x64 -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true +# Only build if requested +if [ $NO_BUILD = false ] +then + # Restore Nuget packages for all builds + echo "Restoring Nuget packages" + dotnet restore -# .NET 8.0 Release -echo "Building .NET 8.0 release" -#dotnet publish MPF/MPF.csproj -f net8.0-windows -r win-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r win-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r linux-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check/MPF.Check.csproj -f net8.0 -r osx-x64 -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:PublishTrimmed=true -p:DebugType=None -p:DebugSymbols=false + # Build UI + for FRAMEWORK in "${UI_FRAMEWORKS[@]}" + do + for RUNTIME in "${UI_RUNTIMES[@]}" + do + # Only .NET 5 and above can publish to a single file + if [[ $(echo ${SINGLE_FILE_CAPABLE[@]} | fgrep -w $FRAMEWORK) ]] + then + dotnet publish MPF/MPF.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true + dotnet publish MPF/MPF.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false + else + dotnet publish MPF/MPF.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT + dotnet publish MPF/MPF.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false + fi + done + done -# Create MPF Debug archives -#cd $BUILD_FOLDER/MPF/bin/Debug/net6.0-windows/win-x64/publish/ -#zip -r $BUILD_FOLDER/MPF_net6.0_win-x64_debug.zip . -#cd $BUILD_FOLDER/MPF/bin/Debug/net8.0-windows/win-x64/publish/ -#zip -r $BUILD_FOLDER/MPF_net8.0_win-x64_debug.zip . + # Build Check + for FRAMEWORK in "${CHECK_FRAMEWORKS[@]}" + do + for RUNTIME in "${CHECK_RUNTIMES[@]}" + do + # If we have an invalid combination of framework and runtime + if [[ ! $(echo ${VALID_CROSS_PLATFORM_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ]] + then + if [[ $(echo ${VALID_CROSS_PLATFORM_RUNTIMES[@]} | fgrep -w $RUNTIME) ]] + then + continue + fi + fi -# Create MPF Release archives -#cd $BUILD_FOLDER/MPF/bin/Release/net6.0-windows/win-x64/publish/ -#zip -r $BUILD_FOLDER/MPF_net6.0_win-x64_release.zip . -#cd $BUILD_FOLDER/MPF/bin/Release/net8.0-windows/win-x64/publish/ -#zip -r $BUILD_FOLDER/MPF_net8.0_win-x64_release.zip . + # Only .NET 5 and above can publish to a single file + if [[ $(echo ${SINGLE_FILE_CAPABLE[@]} | fgrep -w $FRAMEWORK) ]] + then + dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true + dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false + else + dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Debug --self-contained true --version-suffix $COMMIT + dotnet publish MPF.Check/MPF.Check.csproj -f $FRAMEWORK -r $RUNTIME -c Release --self-contained true --version-suffix $COMMIT -p:DebugType=None -p:DebugSymbols=false + fi + done + done +fi -# Create MPF.Check Debug archives -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net6.0/win-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_win-x64_debug.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net6.0/linux-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_linux-x64_debug.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net6.0/osx-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_osx-x64_debug.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net8.0/win-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_win-x64_debug.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net8.0/linux-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_linux-x64_debug.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Debug/net8.0/osx-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_osx-x64_debug.zip . +# Only create archives if requested +if [ $NO_ARCHIVE = false ] +then + # Create UI archives + for FRAMEWORK in "${UI_FRAMEWORKS[@]}" + do + echo "Framework: $FRAMEWORK" + for RUNTIME in "${UI_RUNTIMES[@]}" + do + echo "Runtime: $RUNTIME" + cd $BUILD_FOLDER/MPF/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ + echo "PWD: $PWD" + if [ $INCLUDE_PROGRAMS = true ] + then + zip -r $BUILD_FOLDER/MPF_${FRAMEWORK}_${RUNTIME}_debug.zip . + else + zip -r $BUILD_FOLDER/MPF_${FRAMEWORK}_${RUNTIME}_debug.zip . -x 'Programs/\*' + fi + cd $BUILD_FOLDER/MPF/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/ + echo "PWD: $PWD" + if [ $INCLUDE_PROGRAMS = true ] + then + zip -r $BUILD_FOLDER/MPF_${FRAMEWORK}_${RUNTIME}_release.zip . + else + zip -r $BUILD_FOLDER/MPF_${FRAMEWORK}_${RUNTIME}_release.zip . -x 'Programs/\*' + fi + done + done -# Create MPF.Check Release archives -cd $BUILD_FOLDER/MPF.Check/bin/Release/net6.0/win-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_win-x64_release.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Release/net6.0/linux-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_linux-x64_release.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Release/net6.0/osx-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net6.0_osx-x64_release.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Release/net8.0/win-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_win-x64_release.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Release/net8.0/linux-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_linux-x64_release.zip . -cd $BUILD_FOLDER/MPF.Check/bin/Release/net8.0/osx-x64/publish/ -zip -r $BUILD_FOLDER/MPF.Check_net8.0_osx-x64_release.zip . + # Create Check archives + for FRAMEWORK in "${CHECK_FRAMEWORKS[@]}" + do + for RUNTIME in "${CHECK_RUNTIMES[@]}" + do + # If we have an invalid combination of framework and runtime + if [[ ! $(echo ${VALID_CROSS_PLATFORM_FRAMEWORKS[@]} | fgrep -w $FRAMEWORK) ]] + then + if [[ $(echo ${VALID_CROSS_PLATFORM_RUNTIMES[@]} | fgrep -w $RUNTIME) ]] + then + continue + fi + fi + + cd $BUILD_FOLDER/MPF.Check/bin/Debug/${FRAMEWORK}/${RUNTIME}/publish/ + zip -r $BUILD_FOLDER/MPF.Check_${FRAMEWORK}_${RUNTIME}_debug.zip . + cd $BUILD_FOLDER/MPF.Check/bin/Release/${FRAMEWORK}/${RUNTIME}/publish/ + zip -r $BUILD_FOLDER/MPF.Check_${FRAMEWORK}_${RUNTIME}_release.zip . + done + done + + # Reset the directory + cd $BUILD_FOLDER +fi \ No newline at end of file diff --git a/publish-win.bat b/publish-win.bat deleted file mode 100644 index fbabcdf2..00000000 --- a/publish-win.bat +++ /dev/null @@ -1,89 +0,0 @@ -@echo OFF - -REM This batch file assumes the following: -REM - .NET 8.0 (or newer) SDK is installed and in PATH -REM - 7-zip commandline (7z.exe) is installed and in PATH -REM - Git for Windows is installed and in PATH -REM - The relevant commandline programs are already downloaded -REM and put into their respective folders -REM -REM If any of these are not satisfied, the operation may fail -REM in an unpredictable way and result in an incomplete output. - -REM Set the current directory as a variable -set BUILD_FOLDER=%~dp0 - -REM Set the current commit hash -for /f %%i in ('git log --pretty^=%%H -1') do set COMMIT=%%i - -REM Restore Nuget packages for all builds -echo Restoring Nuget packages -dotnet restore - -REM .NET 6.0 Debug -echo Building .NET 6.0 debug -dotnet publish MPF\MPF.csproj -f net6.0-windows -r win-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r win-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r linux-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r osx-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true - -REM .NET 6.0 Release -echo Building .NET 6.0 release -dotnet publish MPF\MPF.csproj -f net6.0-windows -r win-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r win-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r linux-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net6.0 -r osx-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false - -REM .NET 8.0 Debug -echo Building .NET 8.0 debug -dotnet publish MPF\MPF.csproj -f net8.0-windows -r win-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r win-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r linux-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r osx-x64 -c Debug --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true - -REM .NET 8.0 Release -echo Building .NET 8.0 release -dotnet publish MPF\MPF.csproj -f net8.0-windows -r win-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r win-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r linux-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false -dotnet publish MPF.Check\MPF.Check.csproj -f net8.0 -r osx-x64 -c Release --self-contained true --version-suffix %COMMIT% -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false - -REM Create MPF Debug archives -cd %BUILD_FOLDER%\MPF\bin\Debug\net6.0-windows\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF_net6.0_win-x64_debug.zip * -cd %BUILD_FOLDER%\MPF\bin\Debug\net8.0-windows\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF_net8.0_win-x64_debug.zip * - -REM Create MPF Release archives -cd %BUILD_FOLDER%\MPF\bin\Release\net6.0-windows\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF_net6.0_win-x64_release.zip * -cd %BUILD_FOLDER%\MPF\bin\Release\net8.0-windows\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF_net8.0_win-x64_release.zip * - -REM Create MPF.Check Debug archives -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net6.0\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_win-x64_debug.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net6.0\linux-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_linux-x64_debug.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net6.0\osx-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_osx-x64_debug.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net8.0\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_win-x64_debug.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net8.0\linux-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_linux-x64_debug.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Debug\net8.0\osx-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_osx-x64_debug.zip * - -REM Create MPF.Check Release archives -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net6.0\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_win-x64_release.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net6.0\linux-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_linux-x64_release.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net6.0\osx-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net6.0_osx-x64_release.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net8.0\win-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_win-x64_release.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net8.0\linux-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_linux-x64_release.zip * -cd %BUILD_FOLDER%\MPF.Check\bin\Release\net8.0\osx-x64\publish\ -7z a -tzip %BUILD_FOLDER%\MPF.Check_net8.0_osx-x64_release.zip * diff --git a/publish-win.ps1 b/publish-win.ps1 index 7d447c55..71bb8dfc 100644 --- a/publish-win.ps1 +++ b/publish-win.ps1 @@ -113,7 +113,7 @@ if (!$NO_ARCHIVE.IsPresent) { foreach ($RUNTIME in $UI_RUNTIMES) { - Set-Location -Path $BUILD_FOLDER\MPF\bin\Debug\$FRAMEWORK\$RUNTIME\publish\ + Set-Location -Path $BUILD_FOLDER\MPF\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ if ($INCLUDE_PROGRAMS.IsPresent) { 7z a -tzip $BUILD_FOLDER\MPF_${FRAMEWORK}_${RUNTIME}_debug.zip * @@ -122,7 +122,7 @@ if (!$NO_ARCHIVE.IsPresent) { 7z a -tzip -x!Programs\* $BUILD_FOLDER\MPF_${FRAMEWORK}_${RUNTIME}_debug.zip * } - Set-Location -Path $BUILD_FOLDER\MPF\bin\Release\$FRAMEWORK\$RUNTIME\publish\ + Set-Location -Path $BUILD_FOLDER\MPF\bin\Release\${FRAMEWORK}\${RUNTIME}\publish\ if ($INCLUDE_PROGRAMS.IsPresent) { 7z a -tzip $BUILD_FOLDER\MPF_${FRAMEWORK}_${RUNTIME}_release.zip * @@ -145,9 +145,9 @@ if (!$NO_ARCHIVE.IsPresent) continue } - Set-Location -Path $BUILD_FOLDER\MPF.Check\bin\Debug\$FRAMEWORK\$RUNTIME\publish\ + Set-Location -Path $BUILD_FOLDER\MPF.Check\bin\Debug\${FRAMEWORK}\${RUNTIME}\publish\ 7z a -tzip $BUILD_FOLDER\MPF.Check_${FRAMEWORK}_${RUNTIME}_debug.zip * - Set-Location -Path $BUILD_FOLDER\MPF.Check\bin\Release\$FRAMEWORK\${RUNTIME}\publish\ + Set-Location -Path $BUILD_FOLDER\MPF.Check\bin\Release\${FRAMEWORK}\${RUNTIME}\publish\ 7z a -tzip $BUILD_FOLDER\MPF.Check_${FRAMEWORK}_${RUNTIME}_release.zip * } }